本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
限制可与 Amazon Connect 关联的AWS资源
每个 Amazon Connect 实例在创建实例时都与一个 IAM 服务相关角色相关联。Amazon Connect 可以与其他AWS服务集成,用于通话录音存储(Amazon S3 存储桶)、自然语言机器人(Amazon Lex 机器人)和数据流(Amazon Kinesis Data Streams)等用例。Amazon Connect 承担与服务相关的角色来与其他服务进行交互。该策略首先作为 Amazon Connect 服务上相应 API 的一部分添加到服务相关角色中(反过来由AWS控制台调用)。例如,如果您想在您的 Amazon Connect 实例中使用某个 Amazon S3 存储桶,则必须将该存储段传递给 AssociateInstanceStorageConfigAPI。
有关 Amazon Connect 定义的一组 IAM 操作,请参阅 Ama zon Connect 定义的操作。
以下是一些如何限制访问可能与 Amazon Connect 实例关联的其他资源的示例。它们应应用于与 Amazon Connect API 或 Amazon Connect 控制台交互的用户或角色。
注意
在这些示例中,带有明确的Allow
策略Deny
将优先于该策略。
有关可以使用哪些资源、条件键和从属 API 来限制访问的更多信息,请参阅 Amazon Connect 的操作、资源和条件键。
示例 1:限制哪些 Amazon S3 存储桶可以与 Amazon Connect 实例关联
{ "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:::s3-bucket-name
" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
此示例允许 IAM 委托人关联一个 Amazon S3 存储桶,用于给定 Amazon Connect 实例 ARN 的通话录音,以及一个名为的特定 Amazon S3 存储桶my-connect-recording-bucket
。AttachRolePolicy
和PutRolePolicy
操作的作用域限于 Amazon Connect 服务相关角色(本示例中使用了通配符,但您可以根据需要为实例提供角色 ARN)。
注意
要使用密AWS KMS钥加密此存储段中的录音,需要额外的策略。
示例 2:限制哪些AWS Lambda功能可以与 Amazon Connect 实例关联
AWS Lambda函数与 Amazon Connect 实例相关联,但不使用 Amazon Connect 服务关联角色来调用它们,因此不会被修改。而是通过lambda:AddPermission
API 向函数添加一个策略,允许给定的 Amazon Connect 实例调用该函数。
要限制哪些函数可以与 Amazon Connect 实例关联,您可以指定用户可以用来调用的 Lambda 函数 ARNlambda:AddPermission
:
{ "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 Kinesis Data Streams 可以与 Amazon Connect 实例相关联
此示例遵循与 Amazon S3 示例类似的模型。它限制了哪些特定 Kinesis Data Streams 可以与给定的 Amazon Connect 实例关联以提供联系记录。
{ "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": "*" } ] }