

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

# Restrict AWS 可以与 Connect 客户关联的资源
<a name="restrict-access-examples"></a>

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

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

以下是一些示例，说明如何限制对可能与 Connect Customer 实例关联的其他资源的访问。它们应应用于与 Connect 客户 API 或 Connect 客户控制台交互的用户或角色。

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

有关可用于限制访问的资源、条件键和相关 API 的更多信息，请参阅 C [onnect Customer 的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html)。

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

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

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

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

AWS Lambda 函数与 Connect Customer 实例关联，但不使用 Connect 客户服务相关角色来调用它们，因此不会被修改。而是通过 `lambda:AddPermission` API 向函数添加策略，允许给定的 Connect Customer 实例调用该函数。

要限制哪些函数可以与 Connect Customer 实例关联，您可以指定用户可以用来调用的 Lambda 函数 ARN：`lambda:AddPermission`

------
#### [ 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 可以与 Connect 客户实例相关联
<a name="example3-restrict-kinesis-data-streams"></a>

此示例遵循与 Amazon S3 示例类似的模型。它限制了哪些特定的 Kinesis Data Streams 可以与给定的 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": "*"
        }
    ]
}
```

------