

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 限制可以与 Amazon Connect 关联的 AWS 资源
<a name="restrict-access-examples"></a>

每个 Amazon Connect 实例在创建时均与一个 IAM [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)相关联。Amazon Connect 可以与其他 AWS 服务集成，以用于诸如通话录音存储（Amazon S3 存储桶）、自然语言自动程序（Amazon Lex 自动程序）和数据流式处理 (Amazon Kinesis Data Streams) 等应用场景。Amazon Connect 代入服务相关角色以与这些其他服务进行交互。该策略首先作为对应 APIs 的 Amazon Connect 服务（由 AWS 管理员控制台调用）的一部分添加到服务相关角色中。例如，如果您想在您的 Amazon Connect 实例中使用某个 Amazon S3 存储桶，则必须将该存储桶传递给 [ AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html)API。

有关 Amazon Connect 定义的一组 IAM 操作，请参阅 [Amazon Connect 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissions)。

以下是一些示例，介绍如何限制对可能与 Amazon Connect 实例相关联的其他资源的访问权限。它们应应用于与 Amazon Connect 或 Amazon Connect 控制台交互的用户 APIs 或角色。

**注意**  
在这些示例中，具有显式 `Deny` 的策略将覆盖 `Allow` 策略。

有关 APIs 您可以使用哪些资源、条件键和依赖项来限制访问的更多信息，请参阅 [Amazon Connect 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html)。

## 示例 1：限制哪些 Amazon S3 存储桶可以与 Amazon Connect 实例相关联
<a name="example1-restrict-buckets"></a>

此示例允许 IAM 主体关联用于给定 Amazon Connect 实例 ARN 通话录音的 Amazon S3 存储桶，以及名为 `my-connect-recording-bucket` 的特定 Amazon S3 存储桶。`AttachRolePolicy` 和 `PutRolePolicy ` 操作的范围限定为 Amazon Connect 服务相关角色（在本示例中使用通配符，但如果需要，您可以为实例提供角色 ARN）。

**注意**  
要使用密 AWS KMS 钥加密此存储桶中的录音，需要额外的策略。

## 示例 2：限制哪些 AWS Lambda 函数可以与 Amazon Connect 实例相关联
<a name="example2-restrict-lambda-functions"></a>

AWS Lambda 函数与 Amazon Connect 实例关联，但是 Amazon Connect 服务相关角色不用于调用它们，因此不会被修改。相反，会通过 `lambda:AddPermission` 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:{{us-east-1}}:{{111122223333}}:instance/{{instance-id}}",
                "arn:aws:lambda:*:*:function:{{my-function}}"
            ]
        }
    ]
}
```

------

## 示例 3：限制哪些 Amazon Kinesis Data Streams 可以与 Amazon Connect 实例相关联
<a name="example3-restrict-kinesis-data-streams"></a>

此示例遵循与 Amazon S3 示例类似的模型。它限制了哪些特定的 Kinesis Data Streams 可以与给定的 Amazon Connect 实例关联以提供联系记录。

------
#### [ JSON ]

****  

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

------