【Amazon Connect】 Amazon Connect で IP制限をしよう(プレビュー版機能)

記事タイトルとURLをコピーする

こんにちはアプリケーション事業本部の上田です。

ジョジョ7部SBRがアニメ化決定しましたね、シリーズのファンなので非常に楽しみです🏇

話は変わりまして、どうやら最近Amazon ConnectでIPアドレス制限機能が(プレビュー版ですが)リリースされたのでちょっと試してみようと思います。

docs.aws.amazon.com

内容を確認するとIPアドレス制限だけでなくセッションタイムアウトの設定もできるみたいです。

ただし現状では画面上からの操作はできずCLIコマンドでの実行になるので今回はCloudShellで実施していきます。

また、このプレビュー機能利用にはAWSサポートに申請が必要なためご注意ください。

インスタンスの認証プロファイル一覧を取得する

まずは以下コマンドで認証プロファイルの一覧を取得します。

$ aws connect list-authentication-profiles --instance-id {your-instance-id}

すると以下のように結果が返ってきます。

{
    "AuthenticationProfileSummaryList": [
        {
            "Id": "{profile-id}",
            "Arn": "arn:aws:connect:ap-northeast-1:{account-id}:instance/{your-instance-id}/authentication-profile/{profile-id}",
            "Name": "Default Authentication Profile",
            "IsDefault": true,
            "LastModifiedTime": "2025-04-15T04:09:19.323000+00:00",
            "LastModifiedRegion": "ap-northeast-1"
        }
    ]
}

これで現在存在しているIPアドレス制限に関するプロファイルの一覧が取得できます。

デフォルトだと1つしかないです。

更新する認証プロファイルの設定を確認する

次に以下のコマンドで先ほど確認したプロファイルの内容を確認します。

$ aws connect describe-authentication-profile --instance-id {your-instance-id} --authentication-profile-id {profile-id}

今度は以下のように結果が返ってきました。

{
    "AuthenticationProfile": {
        "Id": "{profile-id}",
        "Arn": "arn:aws:connect:ap-northeast-1:{account-id}:instance/{your-instance-id}/authentication-profile/{profile-id}",
        "Name": "Default Authentication Profile",
        "Description": "A basic default Authentication Profile",
        "AllowedIps": [],
        "BlockedIps": [],
        "IsDefault": true,
        "CreatedTime": "2025-04-15T04:09:19.323000+00:00",
        "LastModifiedTime": "2025-04-15T04:09:19.323000+00:00",
        "LastModifiedRegion": "ap-northeast-1",
        "PeriodicSessionDuration": 60,
        "MaxSessionDuration": 720
    }
}

デフォルトのものなので何も制限されていない=AllowedIpsおよびBlockedIpsが空であることが確認できます。

※各フィールドの詳しい説明についてはAWSの管理者向けガイドをご参考ください

認証プロファイルを設定する

許可と拒否のリストに値が入っていないのでIPアドレス制限を設定していきます。

各設定したときの動作としては次のような動きとなります。許可と拒否が同時に設定されている場合は拒否が優先されます(例3)。

許可されたIPリスト ブロックされたIPリスト 結果
1 111.222.0.0/16 [] 111.222.0.0 - 111.222.255.255 のIPアドレスからのアクセスのみ許可
2 [] 155.155.155.0/24 155.155.155.0 - 155.155.155.255 のIPアドレス範囲を除くすべてのIPアドレスからのアクセスを許可
3 200.255.0.0/16 200.255.10.0/24, 200.255.40.50, 192.123.211.211 200.255.0.0 - 200.255.255.255 の範囲で、200.255.10.0 - 200.255.10.255200.255.40.50 を除くIPアドレスからのアクセスを許可。192.123.211.211 は許可範囲外のため無視。
4 [] [] 制限なし

設定するコマンドは以下です。

ただしInstanceIdProfileId 以外のすべてのフィールドはオプションなので必要な部分だけ設定するパターンでもOKです。

aws connect update-authentication-profile 
    --instance-id your-instance-id 
    --profile-id profile-id
    --name "Default Authentication Profile"
    --description "A basic default Authentication Profile"
    --allowed-ips "ip-range-1" "ip-range-2" ...
    --blocked-ips "ip-range-3" "ip-range-4" ...
    --periodic-session-duration 60

IPアドレスを許可するパターン

aws connect update-authentication-profile
    --instance-id {your-instance-id}
    --authentication-profile-id {profile-id}
    --allowed-ips "{ip-adress}"

IPアドレスを拒否するパターン

aws connect update-authentication-profile
    --instance-id {your-instance-id}
    --authentication-profile-id {profile-id}
    --blocked-ips "{ip-adress}"

設定を元に戻すパターン

IPアドレス制限を元に戻す際は空リストとして更新することで元に戻せます。

aws connect update-authentication-profile
    --instance-id {your-instance-id}
    --authentication-profile-id {profile-id}
    --allowed-ips
    --blocked-ips

動作を確認する

再度コマンドを打ち直してIPアドレス制限がかかっていることを確認します。

`1`始まりのアドレスを許可に指定

先ほどのコマンドを使ってIP制限を行ったインスタンスにログインしてみます。

ログイン時に拒否されました。

ログイン拒否画面を見てみると「Your IP Address is 6...」と記載されているので、指定した1始まりのアドレスとは異なります。

これでIP制限がインスタンスに行われていることを確認できました。

※ちなみに、マネジメントコンソール画面からの緊急管理者ログインはIPアドレス制限は適用されません。

まとめ

今回は(プレビュー版)最新機能のIPアドレス制限を試してみました。

これまでAmazon Connectを導入したいけどセキュリティ的にネットワーク制限がないと難しい…といった場合でも対応したり既存のインスタンスのセキュリティ公用に活かせるステキな機能だと感じられました(欲を言えばマネコンからできると楽かも)。

ここまでお読みくださりありがとうございました。

上田幹也(執筆記事の一覧)

アプリケーションサービス部

趣味は飲酒と長風呂、音楽とM:tGです。どちらかというと犬派。