

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

# 在 Amazon Connect 中套用階層型存取控制
<a name="hierarchy-based-access-control"></a>

您可以根據指派給使用者的客服階層，限制對聯絡人的存取。您可以使用[限制聯絡人存取](contact-search.md#required-permissions-search-contacts)等安全性設定檔許可來執行此操作。除了這些許可之外，您也可以使用階層，對使用者等資源強制執行精細存取控制，以及使用標籤。

本主題提供如何設定階層型存取控制的相關資訊。

**Topics**
+ [概要](#hierarchy-based-access-control-background)
+ [使用 API/SDK 套用階層型存取控制](#hierarchy-based-access-control-api-sdk)
+ [使用 Amazon Connect 管理網站套用階層型存取控制](#hierarchy-based-access-control-console)
+ [組態限制](#hierarchy-based-access-control-config-limitations)
+ [套用階層型存取控制的最佳實務](#hierarchy-based-access-control-best-practices)

## 概要
<a name="hierarchy-based-access-control-background"></a>

階層型存取控制可讓您根據指派給使用者的[客服人員階層](agent-hierarchy.md)來設定特定資源的精細 存取權。 您可以使用 API/SDK 或 Amazon Connect 管理員網站來設定階層型存取控制。 

支援階層型存取控制的唯一資源是使用者。此授權模型會使用[標籤型存取控制](tag-based-access-control.md)，因此您可以限制對使用者的存取，讓他們只能看到屬於相同階層群組且具有與其相關聯之特定標籤的其他使用者。

**注意**  
在您將階層型存取控制套用至使用者之後，他們可以存取其階層群組及其所有子代 (除了子層級以外)。

## 使用 API/SDK 套用階層型存取控制
<a name="hierarchy-based-access-control-api-sdk"></a>

若要使用階層來控制 AWS 對帳戶中資源的存取，您需要在 IAM 政策的條件元素中提供階層的資訊。例如，若要控制對屬於特定階層之使用者的存取，請使用 `connect:HierarchyGroupL3Id/hierarchyGroupId` 條件金鑰以及 `StringEquals` 等特定運算子，指定使用者必須屬於哪個階層群組，以允許為其指定的動作。

以下是支援的條件金鑰：

1. `connect:HierarchyGroupL1Id/hierarchyGroupId`

1. `connect:HierarchyGroupL2Id/hierarchyGroupId`

1. `connect:HierarchyGroupL3Id/hierarchyGroupId`

1. `connect:HierarchyGroupL4Id/hierarchyGroupId`

1. `connect:HierarchyGroupL5Id/hierarchyGroupId`

每個金鑰代表使用者階層結構特定層級中指定階層群組的 ID。

## 使用 Amazon Connect 管理網站套用階層型存取控制
<a name="hierarchy-based-access-control-console"></a>

 若要使用階層來控制對 Amazon Connect 管理網站資源的存取，您可以在指定的安全性設定檔中設定存取控制區段。

 例如，若要根據指定使用者所屬的階層為此使用者啟用精細存取控制，請將使用者設定為存取控制資源。為了執行此操作，您有下列兩個選項：

1. 根據**使用者的階層**強制執行階層型存取控制

   此選項確保獲得存取權的使用者只能管理屬於此階層的使用者。例如，為指定使用者啟用此組態，可讓他們管理屬於其階層群組或子階層群組的其他使用者。

1. 根據**特定階層**強制執行階層型存取控制

   此選項確保獲得存取權的使用者只能管理屬於安全性設定檔中所定義階層的使用者。例如，為指定使用者啟用此組態，可讓他們管理屬於安全性設定檔中所設定階層群組或子階層群組的其他使用者。

## 組態限制
<a name="hierarchy-based-access-control-config-limitations"></a>

 精細存取控制是在安全性設定檔上設定的。使用者最多可獲指派兩個強制執行精細存取控制的安全性設定檔。在此情況下，許可限制較少，並做為兩個許可集的聯集。

例如，如果一個安全性設定檔強制執行階層型存取控制，另一個安全性設定檔強制執行標籤型存取控制，則使用者能夠管理屬於相同階層或以指定標籤標記的任何使用者。如果標籤型和階層型存取控制都設定為相同安全性設定檔的一部分，則需要滿足這兩個條件。在此情況下，使用者只能管理屬於相同階層且以指定標籤標記的使用者。 

只要這些額外的安全性設定檔不強制執行精細存取控制，使用者就可以具有兩個以上的安全性設定檔。如果存在多個安全性設定檔具有重疊資源許可，則沒有標籤型存取控制的安全性設定檔將優先於具有階層型存取控制的安全性設定檔強制執行。

需要服務連結角色才能設定階層型存取控制。如果您的執行個體是在 2018 年 10 月之後建立的，則其預設可與您的 Amazon Connect 執行個體搭配使用。不過，如果您有更舊的執行個體，請參閱[使用 Amazon Connect 的服務連結角色](connect-slr.md)，以取得如何啟用服務連結角色的指示。

## 套用階層型存取控制的最佳實務
<a name="hierarchy-based-access-control-best-practices"></a>
+ 檢閱 [AWS 共同責任模式](https://aws.amazon.com/compliance/shared-responsibility-model/)。

  套用階層型存取控制是 Amazon Connect 支援的進階組態功能，遵循 AWS 共同責任模型。請務必確保您正確設定執行個體以符合您想要的授權需求。
+ 確保您至少已為其啟用階層型存取控制的資源啟用*檢視*權限。

  這將確保您避免導致拒絕存取請求的權限不一致。階層型存取控制是在資源層級啟用，這表示可以單獨限制每項資源。
+ 仔細檢閱強制執行階層型存取控制時授予的許可。

  例如，啟用對使用者的階層有限存取和檢視/編輯許可安全性設定檔，將允許使用者建立/更新安全性設定檔，其中具有取代預定使用者存取控制設定的權限。
  + 在套用階層型存取控制的情況下登入 Amazon Connect 主控台時，使用者將無法存取其受限資源的歷史變更日誌。
  +  嘗試將子資源指派給對子資源具有階層型存取控制的父資源時，如果子資源不屬於您的階層，則操作會被拒絕。

    例如，如果您嘗試將使用者指派給快速連線，但無權存取使用者的階層，則操作會失敗。不過，對於取消關聯並非如此。假設您可以存取快速連線，則即使強制執行階層型存取控制，您仍可以自由取消使用者關聯。這是因為取消關聯是關於捨棄兩個資源之間的現有關係 (而不是新關聯)，並將其建模為使用者已可存取的父資源 (在此情況下，快速連線) 的一部分。
+ 請謹慎授予父資源的許可，因為使用者可能會在主管不知情的情況下取消關聯。
+ 當您在 Amazon Connect 管理網站中套用階層型存取控制時，請停用下列功能的存取權。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/hierarchy-based-access-control.html)

  如果您未停用對這些資源的存取，對 Amazon Connect 管理網站中檢視這些頁面的特定資源具有階層型存取控制的使用者可能會看到無限制的使用者清單。如需如何管理許可的詳細資訊，請參閱[安全性設定檔許可清單](security-profile-list.md)。