

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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)
+ [僅適用於特定助理的 Query Connect AI 代理器](#query-wisdom-assistant)
+ [授予 Amazon Connect Voice ID 完整存取權](#grant-read-only-access-to-voiceid)
+ [授予對 Amazon Connect Outbound Campaigns 資源的存取權](#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)。

下列範例政策會拒絕執行個體 ID 為 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>

下列政策範例允許「建立使用者」，但會在 [CreateUser](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUser.html#API_CreateUser_RequestBody) 請求的安全性設定檔使用參數為 arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17 時明確拒絕。

------
#### [ 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* 的信任關係。

以下為錄製 API 定義的動作：
+ 「connect:StartContactRecording」
+ 「connect:StopContactRecording」
+ 「connect:SuspendContactRecording」
+ 「connect:ResumeContactRecording」

### 允許相同角色的更多聯絡動作
<a name="example4-allow-more-actions"></a>

如果使用相同的角色呼叫其他聯絡 API，您可以列出下列聯絡動作：
+ 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) API 包含名為 `OutboundCallerIdNumberId` 的輸入欄位。此欄位代表可以取得流量分布群組的電話號碼資源。它支援由 [ListPhoneNumbers](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbers.html) 返回的 V1 ARN 格式和 [ListPhoneNumbersV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbersV2.html) 返回的 V2 ARN 格式。

以下是 `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>

如果對流量分布群組取得電話號碼，若要在複本區域中操作時正確允許/拒絕對電話號碼資源的佇列 API 動作存取，**您必須同時提供 V1 和 V2 ARN 格式的電話號碼資源**。如果您僅以一種 ARN 格式提供電話號碼資源，則在複本區域中操作時不會產生正確的允許/拒絕行為。

### 範例 1：拒絕存取 CreateQueue
<a name="deny-access-createqueue"></a>

例如，您在複本區域 us-west-2 中使用帳戶 ` 123456789012` 和執行個體 `aaaaaaaa-bbbb-cccc-dddd-0123456789012` 進行操作。當 `OutboundCallerIdNumberId` 值是向具有資源 ID `aaaaaaaa-eeee-ffff-gggg-0123456789012` 的流量分布群組取得的電話號碼時，您想要拒絕存取 [CreateQueue](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateQueue.html) API。但下列情況必須使用下列政策：

------
#### [ 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>

例如，您在複本區域 us-west-2 中使用帳戶 `123456789012` 和執行個體 `aaaaaaaa-bbbb-cccc-dddd-0123456789012` 進行操作。當 `OutboundCallerIdNumberId` 值是向具有資源 ID `aaaaaaaa-eeee-ffff-gggg-0123456789012` 的[流量通訊群組宣告的電話號碼時，您只想要允許存取 UpdateQueueOutboundCallerConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueOutboundCallerConfig.html) API。但下列情況必須使用下列政策：

------
#### [ 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"
        }
    ]
}
```

------

## 僅適用於特定助理的 Query Connect AI 代理器
<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` 作為動作的前綴，而不是連接。以下政策授予 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 Outbound Campaigns 資源的存取權
<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"
                    ]
                }
            }
        }
    ]
}
```

------