限制可以與 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 S3 儲存貯體與 Amazon Connect 執行個體搭配使用,則必須將儲存貯體傳遞至 AssociateInstanceStorageConfigAPI.

有關 Amazon Connect 定義的一組IAM動作,請參閱 Amazon 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 S3 儲存貯體關聯至指定 Amazon Connect 執行個體的通話錄音ARN,以及名為的特定 Amazon S3 儲存貯體my-connect-recording-bucketAttachRolePolicyPutRolePolicy 動作的範圍是 Amazon Connect 服務連結角色 (在此範例中使用萬用字元,但您可以視需要為執行個體提ARN供角色)。

注意

若要使用 AWS KMS 金鑰加密此儲存貯體中的錄製檔,則需要額外的原則。

範例 2:限制哪些 AWS Lambda 函數可以與 Amazon Connect 執行個體關聯

AWS Lambda 函數與 Amazon Connect 執行個體相關聯,但不使用 Amazon Connect 服務連結角色來叫用它們,因此不會進行修改。而是透過將政策新增至函數,以允lambda:AddPermissionAPI許指定的 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": "*" } ] }