本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
限制可以与 Amazon Connect 关联的 AWS 资源
每个 Amazon Connect 实例在创建实例时都与一个IAM服务相关角色相关联。Amazon Connect 可以与其他 AWS 服务集成,以用于诸如通话录音存储(Amazon S3 存储桶)、自然语言自动程序(Amazon Lex 自动程序)和数据流式处理 (Amazon Kinesis Data Streams) 等应用场景。Amazon Connect 代入服务相关角色以与这些其他服务进行交互。该策略首先作为对应APIs的 Amazon Connect 服务(由 AWS 管理网站调用)的一部分添加到服务相关角色中。例如,如果您想在您的 Amazon Connect 实例中使用某个 Amazon S3 存储桶,则必须将该存储桶传递给 AssociateInstanceStorageConfigAPI。
有关 Amazon Connect 定义的一组IAM操作,请参阅 Amaz on Connect 定义的操作。
以下是一些示例,介绍如何限制对可能与 Amazon Connect 实例相关联的其他资源的访问权限。它们应应用于与 Amazon Connect 或 Amazon Connect 管理网站互动的用户APIs或角色。
注意
在这些示例中,具有显式 Deny
的策略将覆盖 Allow
策略。
有关APIs您可以使用哪些资源、条件键和依赖项来限制访问的更多信息,请参阅 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:::amzn-s3-demo-bucket
" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
此示例允许IAM委托人关联用于给定 Amazon Connect 实例的通话录音的 Amazon S3 存储桶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 服务相关角色不用于调用它们,因此不会被修改。而是通过向函数添加一项策略,允许给定的 Amazon Connect 实例调用该函数。lambda:AddPermission
API
要限制哪些函数可以与 Amazon Connect 实例关联,您可以指定用户可以用来调用ARN的 Lambda 函数:lambda: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": "*" } ] }