

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

# Amazon Connect 资源级策略示例
<a name="security_iam_resource-level-policy-examples"></a>

Amazon Connect 支持用户的资源级权限，因此您可以针对实例指定他们的操作，如以下策略所示。

**Topics**
+ [拒绝在 Amazon Connect 实例上执行所有操作](#connect-access-control-resources-example-all)
+ [拒绝“删除”和“更新”操作](#connect-access-control-resources-example2)
+ [允许对具有特定名称的集成执行操作](#connect-access-control-resources-integration-example)
+ [允许“创建用户”，但如果您被分配到特定的安全配置文件则拒绝该操作](#connect-access-control-resources-example3)
+ [允许录制对联系人的操作](#connect-access-control-resources-example4)
+ [允许或拒绝对副本区域中的电话号码执行队列 API 操作](#allow-deny-queue-actions-replica-region)
+ [查看特定的 Amazon AppIntegrations 资源](#view-specific-appintegrations-resources)
+ [授予对 Amazon Connect Customer Profiles 的访问权限](#grant-access-to-customer-profiles)
+ [授予对 Customer Profiles 数据的只读访问权限](#grant-read-only-access-to-customer-profiles)
+ [仅针对特定助手查询 Connect 人工智能代理](#query-wisdom-assistant)
+ [授予对 Amazon Connect Voice ID 的完全访问权限](#grant-read-only-access-to-voiceid)
+ [授予对 Amazon Connect 对外营销宣传资源的访问权限](#grant-read-only-access-to-outboundcommunications)
+ [限制搜索由 Amazon Connect Contact Lens 分析的转录的能力](#restrict-ability-to-search-transcripts-contact-lens)

## 拒绝在 Amazon Connect 实例上执行所有操作
<a name="connect-access-control-resources-example-all"></a>

Amazon Connect 实例是 Amazon Connect 中的顶级资源。所有其它子资源均在其范围内创建。要拒绝对 Amazon Connect 实例中的所有资源执行所有操作，您可以使用以下方法之一：
+ 使用 `connect:instanceId` 上下文键。
+ 使用实例 ARN，后跟通配符（\$1）。

以下示例策略拒绝对 instanceId 为 00fbeee1-123e-111e-93e3-11111bfbfcc1 的实例执行所有连接操作。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "connect:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "connect:instanceId": "00fbeee1-123e-111e-93e3-11111bfbfcc1"
                }
            }
        }
    ]
}
```

------

或者，您可以通过指定实例 ARN 后跟通配符（\$1）来拒绝所有操作。以下示例策略拒绝对实例 ARN 为 `arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1` 的实例执行所有连接操作。

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

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "connect:*"
            ],
            "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1*"
        }
    ]
}
```

------

## 拒绝“删除”和“更新”操作
<a name="connect-access-control-resources-example2"></a>

以下策略示例拒绝一个 Amazon Connect 实例中的用户执行“删除”和“更新”操作。该策略在 Amazon Connect 用户 ARN 末尾使用通配符，以便在整个用户 ARN 上拒绝“删除用户”和“更新用户”（即，提供的实例中的所有 Amazon Connect 用户，例如 arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/00dtcddd1-123e-111e-93e3-11111bfbfcc1）。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "connect:DeleteUser",
                "connect:UpdateUser*"
            ],
            "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/*"
        }
    ]
}
```

------

## 允许对具有特定名称的集成执行操作
<a name="connect-access-control-resources-integration-example"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllAppIntegrationsActions",
            "Effect": "Allow",
            "Action": [
                "app-integrations:ListEventIntegrations",
                "app-integrations:CreateEventIntegration",
                "app-integrations:GetEventIntegration",
                "app-integrations:UpdateEventIntegration",
                "app-integrations:DeleteEventIntegration"
            ],
            "Resource":"arn:aws:app-integrations:*:*:event-integration/MyNamePrefix-*"
	}
    ]
}
```

------

## 允许“创建用户”，但如果您被分配到特定的安全配置文件则拒绝该操作
<a name="connect-access-control-resources-example3"></a>

以下示例策略允许 “创建用户”，但明确拒绝使用 arn: aws: connect: us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcgg1-123e-111e-111e-111bfbfcc17 作为请求中安全配置文件的参数。[CreateUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUser.html#API_CreateUser_RequestBody)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "connect:CreateUser"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "connect:CreateUser"
            ],
            "Resource": "arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc17/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17"
        }
    ]
}
```

------

## 允许录制对联系人的操作
<a name="connect-access-control-resources-example4"></a>

以下策略示例允许在特定实例中对联系人“开始联系录音”。由于 contactID 是动态的，因此使用 \$1。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "connect:StartContactRecording"
            ],
            "Resource": "arn:aws:connect:us-west-2:111122223333:instance/instanceId/contact/*",
            "Effect": "Allow"
        }
    ]
}
```

------

设置与 *accountID* 的信任关系。

为录制定义了以下操作 APIs：
+ “连接：StartContactRecording”
+ “连接：StopContactRecording”
+ “连接：SuspendContactRecording”
+ “连接：ResumeContactRecording”

### 允许在同一个角色中执行更多联系人操作
<a name="example4-allow-more-actions"></a>

如果使用相同的角色呼叫其他联系人 APIs，则可以列出以下联系人操作：
+ GetContactAttributes
+ ListContactFlows
+ StartChatContact
+ StartOutboundVoiceContact
+ StopContact
+ UpdateContactAttributes

或者使用通配符允许所有联系人操作，例如：“connect:\$1”

### 允许更多资源
<a name="example4-allow-more-resources"></a>

您还可以使用通配符来允许更多资源。例如，以下是允许对所有联系人资源执行所有连接操作的方法：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "connect:*"
            ],
            "Resource": "arn:aws:connect:us-west-2:111122223333:instance/*/contact/*",
            "Effect": "Allow"
        }
    ]
}
```

------

## 允许或拒绝对副本区域中的电话号码执行队列 API 操作
<a name="allow-deny-queue-actions-replica-region"></a>

[CreateQueue](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateQueue.html)和[UpdateQueueOutboundCallerConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueOutboundCallerConfig.html) APIs 包含名为的输入字段`OutboundCallerIdNumberId`。此字段表示可以向流量分配组申请的电话号码资源。[它既支持返回的电话号码 V1 ARN 格式，也支持 V2 返回[ListPhoneNumbers](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbers.html)的 V2 ARN 格式。ListPhoneNumbers](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html)

以下是 `OutboundCallerIdNumberId` 支持的 V1 和 V2 ARN 格式：
+ **V1 ARN 格式**：`arn:aws:connect:your-region:your-account_id:instance/instance_id/phone-number/resource_id`
+ **V2 ARN 格式**：`arn:aws:connect:your-region:your-account_id:phone-number/resource_id`

**注意**  
建议使用 V2 ARN 格式。V1 ARN 格式将来会被弃用。

### 为副本区域中的电话号码资源提供两种 ARN 格式
<a name="provide-both-arn-formats"></a>

如果向流量分配组申领了电话号码，则要在副本区域操作时正确 allow/deny 访问电话号码资源的队列 API 操作，**您必须提供 V1 和 V2 ARN 格式的电话号码资源**。如果您仅以一种 ARN 格式提供电话号码资源，则在副本区域中操作时不会产生正确的 allow/deny 行为。

### 示例 1：拒绝访问 CreateQueue
<a name="deny-access-createqueue"></a>

例如，您使用账户 ` 123456789012` 和实例 `aaaaaaaa-bbbb-cccc-dddd-0123456789012` 在副本区域 us-west-2 中运行。当`OutboundCallerIdNumberId`值为向具有资源 ID 的流量分配组声明的电话号码时，您想拒绝访问 [CreateQueue](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateQueue.html)API `aaaaaaaa-eeee-ffff-gggg-0123456789012`。在此情况下，您必须使用以下策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyCreateQueueForSpecificNumber",
            "Effect": "Deny",
            "Action": "connect:CreateQueue",
            "Resource": [
                "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012",
                "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012"
            ]
        }
    ]
}
```

------

其中 us-west-2 是提出请求的区域。

### 示例 2：仅允许访问 UpdateQueueOutboundCallerConfig
<a name="deny-access-createqueue"></a>

例如，您使用账户 `123456789012` 和实例 `aaaaaaaa-bbbb-cccc-dddd-0123456789012` 在副本区域 us-west-2 中运行。只有当`OutboundCallerIdNumberId`值是向具有资源 ID 的流量分配组声明的电话号码时，您才希望允许访问 [UpdateQueueOutboundCallerConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueOutboundCallerConfig.html)API `aaaaaaaa-eeee-ffff-gggg-0123456789012`。在此情况下，您必须使用以下策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "OnlyAllowUpdateQueueOutboundCallerConfigForSpecificNumber",
            "Effect": "Allow",
            "Action": "connect:UpdateQueueOutboundCallerConfig",
            "Resource": [
                "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012",
                "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012"
            ]
        }
    ]
}
```

------

## 查看特定的 Amazon AppIntegrations 资源
<a name="view-specific-appintegrations-resources"></a>

以下策略示例允许获取特定的事件集成。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "app-integrations:GetEventIntegration"
            ],
            "Resource": "arn:aws:app-integrations:us-west-2:111122223333:event-integration/Name"
        }
    ]
}
```

------

## 授予对 Amazon Connect Customer Profiles 的访问权限
<a name="grant-access-to-customer-profiles"></a>

Amazon Connect Customer Profiles 使用 `profile`（而不是 `connect`）作为操作的前缀。以下策略授予对 Amazon Connect Customer Profiles 中特定域的完全访问权限。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "profile:*"
            ],
            "Resource": "arn:aws:profile:us-west-2:111122223333:domains/domainName",
            "Effect": "Allow"
        }
    ]
}
```

------

设置 accountID 与域 domainName 的信任关系。

## 授予对 Customer Profiles 数据的只读访问权限
<a name="grant-read-only-access-to-customer-profiles"></a>

以下是授予对 Amazon Connect Customer Profiles 中数据的读取访问权限的示例。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "profile:SearchProfiles"
            ],
            "Resource": "arn:aws:profile:us-east-1:111122223333:domains/domainName",
            "Effect": "Allow"
        }
    ]
}
```

------

## 仅针对特定助手查询 Connect 人工智能代理
<a name="query-wisdom-assistant"></a>

以下策略示例仅允许查询特定助手。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "wisdom:QueryAssistant"
            ],
            "Resource": "arn:aws:wisdom:us-east-1:111122223333:assistant/assistantID"
        }
    ]
}
```

------

## 授予对 Amazon Connect Voice ID 的完全访问权限
<a name="grant-read-only-access-to-voiceid"></a>

Amazon Connect Voice ID 使用 `voiceid`（而不是 connect）作为操作的前缀。以下策略授予对 Amazon Connect Voice ID 中特定域的完全访问权限：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "voiceid:*"
            ],
            "Resource": "arn:aws:voiceid:us-west-2:111122223333:domain/domainName",
            "Effect": "Allow"
        }
    ]
}
```

------

设置 accountID 与域 domainName 的信任关系。

## 授予对 Amazon Connect 对外营销宣传资源的访问权限
<a name="grant-read-only-access-to-outboundcommunications"></a>

出站活动使用 `connect-campaign`（而不是 `connect`）作为操作的前缀。以下策略授予对特定出站活动的完全访问权限。

```
{
    "Sid": "AllowConnectCampaignsOperations",
    "Effect": "Allow",
    "Action": [
        "connect-campaigns:DeleteCampaign",
        "connect-campaigns:DescribeCampaign",
        "connect-campaigns:UpdateCampaignName",
        "connect-campaigns:GetCampaignState"
        "connect-campaigns:UpdateOutboundCallConfig",
        "connect-campaigns:UpdateDialerConfig",
        "connect-campaigns:PauseCampaign",
        "connect-campaigns:ResumeCampaign",
        "connect-campaigns:StopCampaign"
    ],
    "Resource": "arn:aws:connect-campaigns:us-west-2:accountID:campaign/campaignId",
    }
```

## 限制搜索由 Amazon Connect Contact Lens 分析的转录的能力
<a name="restrict-ability-to-search-transcripts-contact-lens"></a>

以下策略支持搜索和描述联系人，但拒绝使用由 Amazon Connect Contact Lens 分析的转录来搜索联系人。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "connect:DescribeContact"
            ],
            "Resource": "arn:aws:connect:us-east-1:111122223333:instance/instance-id/contact/*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "connect:SearchContacts"
            ],
            "Resource": "arn:aws:connect:us-east-1:111122223333:instance/instance-id"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Deny",
            "Action": [
                "connect:SearchContacts"
            ],
            "Resource": "arn:aws:connect:us-east-1:111122223333:instance/instance-id",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "connect:SearchContactsByContactAnalysis": [
                        "Transcript"
                    ]
                }
            }
        }
    ]
}
```

------