Amazon Connect に関連付けることができる AWS リソースを制限する - Amazon Connect

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Connect に関連付けることができる AWS リソースを制限する

Amazon Connect の各インスタンスは、その作成時に、IAM のサービスにリンクされたロールに関連付けられます。Amazon Connectは、通話記録用のストレージ (Amazon S3 バケット) 、自然言語によるボット (Amazon Lex ボット) 、データストリーミング (Amazon Kinesis Data Streams) などのユースケースに対応するため、他の AWS のサービスと統合することができます、Amazon Connect は、これらの他のサービスと対話するために、サービスにリンクされたロールを引き継ぎます。ポリシーは、Amazon Connect サービスの対応する APIs の一部として、サービスにリンクされたロールに最初に追加されます (これは AWS 管理者コンソールによって呼び出されます)。例えば、Amazon Connect インスタンスで特定の Amazon S3 バケットを使用する場合、このバケットは AssociateInstanceStorageConfig API に渡される必要があります。

Amazon Connect によって定義される IAM アクションのセットについては、「Amazon Connect で定義されるアクション」を参照してください。

Amazon Connect インスタンスに関連付けられている可能性がある他のリソースへのアクセスを、制限する方法の例を次に示します。これらの方法は、Amazon Connect API または Amazon Connect コンソールと対話する、ユーザーまたはロールに適用します。

注記

これらの例では、明示的な Deny を使用するポリシーで、Allow ポリシーをオーバライドしています。

アクセスを制限するために使用できるリソース、条件キー、および依存する API の詳細については、「Amazon Connect のアクション、リソース、および条件キー」を参照してください。

例 1: Amazon Connect インスタンスに関連付けることができる Amazon S3 バケットを制限する

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:UpdateInstanceStorageConfig", "connect:AssociateInstanceStorageConfig" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id", "Condition": { "StringEquals": { "connect:StorageResourceType": "CALL_RECORDINGS" } } }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:iam::account-id:role/aws-service-role/connect.amazonaws.com/*", "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }

この例では、指定された Amazon Connect インスタンス ARN の通話記録用の Amazon S3 バケットと、my-connect-recording-bucket という名前の Amazon S3 バケットを関連付けることを、IAM プリンシパルに許可します。AttachRolePolicy および PutRolePolicy アクションのスコープは、Amazon Connect のサービスにリンクされたロールに設定されています (この例ではワイルドカードを使用していますが、必要に応じてここに、インスタンスのロール ARN を指定できます)。

注記

AWS KMS キーを使用してこのバケットの記録を暗号化するには、追加のポリシーが必要です。

例 2: Amazon Connect インスタンスに関連付けることができる AWS Lambda 関数を制限する

AWS Lambda 関数は Amazon Connect インスタンスに関連付けられていますが、Amazon Connect サービスにリンクされたロールはそれらの呼び出しに使用されないため、変更されません。代わりに、ポリシーが lambda:AddPermission API を介して関数に追加されます。この API は、指定の Amazon Connect インスタンスに関数の呼び出しを許可します。

Amazon Connect インスタンスに関連付けることができる関数を制限するには、ユーザーが lambda:AddPermission を呼び出すために使用する Lambda 関数の ARN を指定します。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:AssociateLambdaFunction", "lambda:AddPermission" ], "Resource": [ "arn:aws:connect:region:account-id:instance/instance-id", "arn:aws:lambda:*:*:function:my-function" ] } ] }

例 3: Amazon Connect インスタンスに関連付けることができる Amazon Kinesis Data Streams を制限する

この例は、Amazon S3 の例と同様のモデルを使用します。問い合わせレコードを配信するために、指定された Amazon Connect インスタンスに関連付けることができる Kinesis Data Streams を、特定のものに制限します。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:UpdateInstanceStorageConfig", "connect:AssociateInstanceStorageConfig" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id", "Condition": { "StringEquals": { "connect:StorageResourceType": "CONTACT_TRACE_RECORDS" } } }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "iam:PutRolePolicy" ], "Resource": [ "arn:aws:iam::account-id:role/aws-service-role/connect.amazonaws.com/*", "arn:aws:kinesis:*:account-id:stream/stream-name" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "kinesis:ListStreams", "Resource": "*" } ] }