[プレビュー機能]Amazon ConnectのIPアドレス制限をSDKで設定してみた

[プレビュー機能]Amazon ConnectのIPアドレス制限をSDKで設定してみた

Clock Icon2025.03.23

こんにちは。
繁松です。

はじめに

Amazon ConnectのIPアドレス制限をSDKで設定してみました。
Amazon ConnectのIPアドレス制限は2025年3月23日時点ではプレビューリリースの機能となります。

設定はCLIのみ対応しており、AWS CLIを使ってIPアドレス制限を行うと設定したIPアドレスがどこのIPなのか記録することができません。
SDKを使ってIPアドレスリストにコメントを残すことでどこのIPかわかるようにしてみました。

https://dev.classmethod.jp/articles/amazon-connect-authentication-profiles/

https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/authentication-profiles.html

機能を利用するにはAWSサポートへの問い合わせが必要となります。

やってみた

前提

  • Amazon Connectインスタンスは構築済み
  • AWSサポートにIPアドレス制限の利用申請済み
  • boto3のバージョンは最新バージョン

コード

IPアドレスを管理する用のファイルです。
コメントを残すことでどの拠点が許可されているか等の確認が容易になります。

ips.py
# 許可リスト
ALLOWED_IPS = [
    'IPアドレス1', # 拠点A
    'IPアドレス2', # 拠点B
    'IPアドレス3' # 拠点C
]

# 拒否リスト
BLOCKED_IPS = [
    'IPアドレス1', # ブロックリストA
    'IPアドレス2', # ブロックリストB
    'IPアドレス3' # ブロックリストC
]

IPアドレス制限を実行するコードです。
Amazon ConnectのインスタンスIDを指定します。

import boto3
from ips import ALLOWED_IPS
from ips import BLOCKED_IPS

client = boto3.client('connect')

# Amazon ConnectインスタンスIDの設定
instance_id = 'インスタンスID'

# 認証プロファイルIDの確認
response = client.list_authentication_profiles(
    InstanceId=instance_id
)

authentication_profile_id = response['AuthenticationProfileSummaryList'][0]['Id']

# 認証プロファイル(IPアドレス制限)の更新
response = client.update_authentication_profile(
    AuthenticationProfileId=authentication_profile_id,
    InstanceId=instance_id,
    AllowedIps=ALLOWED_IPS,
    BlockedIps=BLOCKED_IPS
)

上記のPythonスクリプトを実行することでAmazon ConnectにIPアドレス制限をかけることができました。

認証プロファイル設定内容の確認コマンド

aws connect describe-authentication-profile --instance-id インスタンスID --authentication-profile-id 認証プロファイルID

さいごに

Amazon ConnectのIPアドレス制限機能について、SDKを使用した設定方法をご紹介しました。IPアドレスリストにコメントを付与することで、制限をかけているIPアドレスの管理が容易になり、運用面での利便性が向上することが期待できます。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.