

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

# 管理對 資源的存取
<a name="access-control-manage-access-intro"></a>

*許可政策*描述誰可以存取哪些資源。下一節說明可用來建立許可政策的選項。

**注意**  
本節討論在 AWS Control Tower 的內容中使用 IAM。它不提供 IAM 服務的詳細資訊。如需完整的 IAM 文件，請參閱*IAM 使用者指南*中的[什麼是 IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。如需有關 IAM 政策語法和說明的資訊，請參閱*IAM 使用者指南*中的 [AWS IAM 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

連接至 IAM 身分的政策稱為以*身分為基礎的*政策 (IAM 政策）。連接到資源的政策稱為*資源型*政策。

**注意**  
 AWS Control Tower 僅支援以身分為基礎的政策 (IAM 政策）。

**Topics**
+ [關於以身分為基礎的政策 (IAM 政策）](#access-control-manage-access-intro-iam-policies)
+ [建立角色並指派許可](assign-permissions.md)
+ [資源型政策](#access-control-manage-access-intro-resource-policies)

## 關於以身分為基礎的政策 (IAM 政策）
<a name="access-control-manage-access-intro-iam-policies"></a>

您可以將政策連接到 IAM 身分。例如，您可以執行下列動作：
+ **將許可政策連接至您帳戶中的使用者或群組** – 若要授予使用者建立 AWS Control Tower 資源的許可，例如設定登陸區域，您可以將許可政策連接至使用者或使用者所屬的群組。
+  **將許可政策連接至角色 (授予跨帳戶許可)**：您可以將身分識別型許可政策連接至 IAM 角色，藉此授予跨帳戶許可。例如，一個 AWS 帳戶的管理員 (*帳戶 A*) 可以建立將跨帳戶許可授予另一個 AWS 帳戶 (*帳戶 B*) 的角色，或者管理員可以建立將許可授予另一個 AWS 服務的角色。

  1. 帳戶 A 管理員會建立 IAM 角色，並將許可政策連接至角色，以授予許可來管理帳戶 A 中的資源。

  1. 帳戶 A 管理員會將信任政策連接至角色。此政策會將帳戶 B 識別為可擔任該角色的委託人。

  1. 身為委託人，帳戶 B 管理員可以授予帳戶 B 中的任何使用者擔任該角色的許可。透過擔任角色，帳戶 B 中的使用者可以建立或存取帳戶 A 中的資源。

  1. 若要授予 AWS 服務擔任角色的能力 （許可），您在信任政策中指定的委託人可以是 AWS 服務。

# 建立角色並指派許可
<a name="assign-permissions"></a>

角色和許可可讓您存取 AWS Control Tower 和其他 AWS 服務中的資源，包括以程式設計方式存取資源。

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

如需使用 IAM 來委派許可的相關資訊，請參閱《IAM 使用者指南》**中的[存取管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。

**注意**  
設定 AWS Control Tower 登陸區域時，您需要具有 **AdministratorAccess** 受管政策的使用者或角色。(arn：aws：iam：：aws：policy/AdministratorAccess)

**為 AWS 服務 (IAM 主控台） 建立角色**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在 IAM 主控台的導覽窗格中，選擇**角色**，然後選擇**建立角色**。

1. 對於 **Trusted entity type** (信任的實體類型)，請選擇 **AWS 服務**。

1. 針對**服務或使用案例**，選擇服務，然後選擇使用案例。服務會定義使用案例，以包含服務所需的信任政策。

1. 選擇**下一步**。

1. 對於**許可政策**，選項取決於您選取的使用案例：
   + 如果服務定義了角色的許可，則您無法選取許可政策。
   + 從一組有限的許可政策中選取。
   + 從所有許可政策中選取。
   + 選取無許可政策，在建立角色之後建立政策，然後將政策連接到角色。

1. (選用) 設定[許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。這是進階功能，可用於服務角色，而不是服務連結的角色。

   1. 開啟**設定許可界限**區段，然後選擇**使用許可界限來控制角色許可上限**。

      IAM 包含您帳戶中 AWS 受管和客戶受管政策的清單。

   1. 選取用於許可界限的政策。

1. 選擇**下一步**。

1. 對於**角色名稱**，選項取決於服務：
   + 如果服務定義了角色名稱，則無法編輯角色名稱。
   + 如果服務定義了角色名稱的字首，則可以輸入選用字尾。
   + 如果服務未定義角色名稱，則可以為角色命名。
**重要**  
當您命名角色時，請注意下列事項：  
角色名稱在您的 中必須是唯一的 AWS 帳戶，而且無法依大小寫設為唯一。  
例如，不要同時建立名為 **PRODROLE** 和 **prodrole** 的角色。當角色名稱用於政策或 ARN 的一部分時，角色名稱會區分大小寫，但是當角色名稱在主控台中顯示給客戶時，例如在登入過程中，角色名稱不會區分大小寫。
因為其他實體可能會參考角色，所以在建立角色之後，就無法編輯其名稱。

1. (選用) 在**說明**中，輸入角色的說明。

1. (選用) 若要編輯使用案例和角色許可，請在**步驟 1：選取受信任的實體**或者**步驟 2：新增許可**區段中選擇**編輯**。

1. (選用) 若要協助識別、組織或搜尋角色，請將標籤新增為索引鍵值對。如需在 IAM 中使用標籤的詳細資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 資源的標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 檢閱角色，然後選擇 **Create role** (建立角色)。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入或貼上 JSON 政策文件。如需有關 IAM 政策語言的詳細資訊，請參閱 [IAM JSON 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)。

1. 解決[政策驗證](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)期間產生的任何安全性警告、錯誤或一般性警告，然後選擇 **Next** (下一步)。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. （選用） 當您在 中建立或編輯政策時 AWS 管理主控台，您可以產生可在 範本中使用的 JSON 或 YAML 政策 CloudFormation 範本。

   若要執行此動作，請在**政策編輯器**中選擇**動作**，然後選擇**產生 CloudFormation 範本**。若要進一步了解 CloudFormation，請參閱*AWS CloudFormation 《 使用者指南*》中的[AWS Identity and Access Management 資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)。

1. 將許可新增至政策後，請選擇**下一步**。

1. 在**檢視與建立**頁面上，為您在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. (選用) 藉由連接標籤作為鍵值組，將中繼資料新增至政策。如需在 IAM 中使用標籤的詳細資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 資源的標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

**若要使用視覺化編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 選擇**建立政策**。

1. 在**政策編輯器**區段中，尋找**選取服務**區段，然後選擇 AWS 服務。您可用上方的搜尋框來限制服務清單中的結果。您僅可以選擇一項視覺化編輯器許可區塊中的服務。若要授予存取一個以上服務的許可，請選擇**新增更多許可**，來新增多個許可區塊。

1. 在**動作**中，選擇要新增至政策的動作。您可採用以下方式來選擇動作：
   + 選取所有動作的核取方塊。
   + 選擇**新增動作**以輸入特定動作的名稱。您可以使用萬用字元 (`*`) 來指定多個動作。
   + 選取其中一個 **Access level (存取層級)** 群組，以選擇存取層級的所有動作 (例如，**Read (讀取)**、**Write (寫入)** 或 **List (列出)**)。
   + 展開各個 **Access level** (存取級別) 群組來選擇個別動作。

   預設情況下，您建立的政策允許執行選擇的操作。若要拒絕選擇的動作，請選擇 **Switch to deny permissions (切換為拒絕許可)**。由於 [IAM 會根據預設拒絕](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)，作為安全最佳實務，我們建議您僅允許使用者所需的操作和資源的許可。建立 JSON 陳述式，只有在您想要覆寫另一個陳述式或政策個別允許的許可時，才會拒絕許可。我們建議您將拒絕許可數限制為最低，因為它們可能會增加解決許可問題的難度。

1. 對於 **Resources (資源)**，如果您在先前步驟中選取的服務和動作不支援選擇[特定資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)，則會允許所有資源，而且您無法編輯此區段。

   如果選擇一或多個支援[資源等級許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)的動作，視覺化編輯器將列出這些資源。然後，您可以展開 **Resources (資源)** 來為您的政策指定資源。

   您可採用以下方式來指定資源：
   + 選擇**新增 ARN**，可根據它們的 Amazon Resource Name (ARN) 來指定資源。您可以使用視覺化 ARN 編輯器或手動列出 ARN。如需 ARN 語法的詳細資訊，請參閱《*IAM 使用者指南*》中的 [Amazon Resource Name (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)。如需有關在政策的 `Resource`元素中使用 ARNs 的資訊，請參閱《[IAM 使用者指南》中的 IAM JSON 政策元素：資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)。 **
   + 選擇資源旁的**此帳戶中的任何**，將許可授予該類型的任何資源。
   + 選擇**所有**，可為服務選擇所有資源。

1. (選用) 選擇**請求條件 - *(選用*)**，為您正在建立的政策新增條件。條件可限制 JSON 政策陳述式的效果。例如，您可以指定只有在使用者的請求於特定時間範圍內發生時，使用者才能對資源執行動作。您也可以使用常用的條件來限制使用者是否必須使用多重要素驗證 (MFA) 裝置進行身分驗證。或者，您可以要求請求必須源自於特定 IP 地址範圍。如需您可以在政策條件中使用的所有內容金鑰清單，請參閱*《服務授權參考*》中的 [AWS 服務的動作、資源和條件金鑰](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)。

   您可採用以下方式來選擇條件：
   + 使用核取方塊來選擇常用條件。
   + 選擇**新增另一個條件**，可指定其他條件。選擇**條件的條件索引鍵**、**限定詞**和**運算**子，然後輸入**值**。若要新增超過一個值，請選擇**新增**。您可以將值視為由邏輯`OR`運算子連線。完成時，請選擇**新增條件**。

   若要新增超過一個條件，請再次選擇**新增另一個條件**。視需要重複執行。每項條件僅適用於這一個視覺化編輯器許可區塊。所有條件的許可區塊皆須為 true 才會被視為符合。換句話說，請考慮邏輯`AND`運算子要連線的條件。

   如需 **條件**元素的詳細資訊，請參閱《[IAM 使用者指南》中的 IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。 **

1. 若要新增更多許可區塊，請選擇**新增更多許可**。針對每個區塊皆重複步驟 2 到 5。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. （選用） 當您在 中建立或編輯政策時 AWS 管理主控台，您可以產生可在 範本中使用的 JSON 或 YAML 政策 CloudFormation 範本。

   若要執行此動作，請在**政策編輯器**中選擇**動作**，然後選擇**產生 CloudFormation 範本**。若要進一步了解 CloudFormation，請參閱*AWS CloudFormation 《 使用者指南*》中的[AWS Identity and Access Management 資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)。

1. 將許可新增至政策後，請選擇**下一步**。

1. 在**檢視與建立**頁面上，為您在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，可確認您已授予想要的許可。

1. (選用) 藉由連接標籤作為鍵值組，將中繼資料新增至政策。如需在 IAM 中使用標籤的詳細資訊，請參閱《*IAM 使用者指南*》中的[AWS Identity and Access Management 資源的標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

**授予程式設計存取權**

如果使用者想要與 AWS 外部互動，則需要程式設計存取 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

若要授予使用者程式設計存取權，請選擇下列其中一個選項。


****  

| 哪個使用者需要程式設計存取權？ | 到 | 根據 | 
| --- | --- | --- | 
| IAM | （建議） 使用主控台登入資料做為臨時登入資料，以簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/controltower/latest/userguide/assign-permissions.html)  | 
|  人力資源身分 (IAM Identity Center 中管理的使用者)  | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/controltower/latest/userguide/assign-permissions.html)  | 
| IAM | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 遵循《IAM 使用者指南》中[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用的指示。 | 
| IAM | (不建議使用)使用長期憑證簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。 |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/controltower/latest/userguide/assign-permissions.html)  | 

## 防範攻擊者
<a name="protect"></a>

如需如何在將許可授予其他服務 AWS 委託人時協助防範攻擊者的詳細資訊，請參閱[角色信任關係的選用條件](https://docs.aws.amazon.com//controltower/latest/userguide/conditions-for-role-trust.html)。透過將特定條件新增至您的政策，您可以協助防止特定類型的攻擊，稱為*混淆代理人*攻擊，如果實體強制更特權的實體執行動作，例如跨服務模擬。如需政策條件的一般資訊，另請參閱 [在政策中指定條件](access-control-overview.md#specifying-conditions)。

如需搭配 AWS Control Tower 使用身分型政策的詳細資訊，請參閱 [針對 AWS Control Tower 使用身分型政策 (IAM 政策）](access-control-managing-permissions.md)。如需使用者、群組、角色和許可的詳細資訊，請參閱《IAM 使用者指南》**中的[身分 (使用者、群組和角色)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)。

## 資源型政策
<a name="access-control-manage-access-intro-resource-policies"></a>

其他服務 (例如 Amazon S3) 也支援以資源為基礎的許可政策。例如，您可以將政策連接至 S3 儲存貯體，以管理該儲存貯體的存取許可。AWS Control Tower 不支援以資源為基礎的政策。