建立 IAM 政策 (主控台) - AWS Identity and Access Management

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

建立 IAM 政策 (主控台)

政策為一個實體,可定義其所連接的身分或資源的許可。您可以使用 AWS Management Console 在 IAM 中建立客戶受管政策。客戶管理政策是獨立的政策,在您自己的 AWS 帳戶進行管理。然後,您可以將政策連接到 中的身分 (使用者、群組和角色) AWS 帳戶。

AWS 帳戶中 IAM 資源的數量和大小有限。如需詳細資訊,請參閱IAM 和 AWS STS 配額

建立 IAM 政策

您可以使用下列 AWS Management Console 其中一種方法在 中建立客戶受管政策:

  • JSON — 貼上和自訂發佈的範例身分型政策

  • 視覺編輯工具 — 在視覺編輯工具中從零開始建構一個新的政策。如果您使用視覺化編輯器,則不必了解 JSON 語法。

  • 匯入 — 從帳戶中匯入並自訂受管政策。您可以匯入先前建立的 AWS 受管政策或客戶受管政策。

AWS 帳戶中 IAM 資源的數量和大小有限。如需詳細資訊,請參閱IAM 和 AWS STS 配額

使用 JSON 編輯器建立政策

您可以選擇 JSON 選項,在 JSON 中輸入或貼上政策。此方法對於複製要在帳戶中使用的範例政策很有幫助。或者,您可以在 JSON 編輯器中輸入自己的 JSON 政策文件。您也可以使用 JSON 選項,在視覺化編輯器和 JSON 之間切換,以比較檢視。

當您在 JSON 編輯器中建立或編輯政策時,IAM 會執行政策驗證,以協助您建立有效的政策。IAM 會識別 JSON 語法錯誤,而 IAM Access Analyzer 則提供其他政策檢查,其中包含可採取動作的建議,協助您進一步完善政策。

JSON 政策文件包含一或多個陳述式。每個陳述式應包含具有相同效果 (AllowDeny) 並支援相同資源和條件的所有操作。如果一個動作需要您指定所有資源 ("*"),而另一個動作支援特定資源的 Amazon Resource Name (ARN),則必須在兩個單獨的 JSON 陳述式中。如需 ARN 格式的詳細資訊,請參閱 AWS 一般參考 指南中的 Amazon Resource Name (ARN)。如需 IAM 政策的一般資訊,請參閱 中的政策和許可 AWS Identity and Access Management。如需 IAM 政策語言的相關資訊,請參閱 IAMJSON策略參考

使用 JSON 政策編輯器建立政策
  1. 登入 AWS Management Console 並在 IAM 開啟 https://console.aws.amazon.com/iam/ 主控台。

  2. 在左側的導覽窗格中,選擇 Policies (政策)

  3. 選擇 Create policy (建立政策)。

  4. 政策編輯器區段中,選擇 JSON 選項。

  5. 輸入或貼上 JSON 政策文件。如需 IAM 政策語言的詳細資訊,請參閱 IAMJSON策略參考

  6. 解決政策驗證期間產生的任何安全性警告、錯誤或一般性警告,然後選擇 Next (下一步)。

    注意

    您可以隨時在 VisualJSON 編輯器選項之間切換。不過,如果您在視覺化編輯器中進行變更或選擇下一步,IAM 可能會重組您的政策,以將其最佳化為視覺化編輯器。如需詳細資訊,請參閱政策結構調整

  7. (選用) 當您在 中建立或編輯政策時 AWS Management Console,您可以產生 JSON 或 YAML 政策範本,以便在 AWS CloudFormation 範本中使用。

    若要這麼做,請在政策編輯器中選擇動作,然後選擇 Generate CloudFormation 範本。若要進一步了解, AWS CloudFormation 請參閱 AWS CloudFormation 使用者指南中的AWS Identity and Access Management 資源類型參考

  8. 將許可新增至政策後,請選擇下一步

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

  10. (選用) 藉由連接標籤作為鍵值組,將中繼資料新增至政策。如需在 IAM 中使用標籤的詳細資訊,請參閱 AWS Identity and Access Management 資源標籤

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

在建立政策之後,即可將它連接至您的群組、使用者或角色。如需詳細資訊,請參閱 新增和移除 IAM 身分許可

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

IAM 主控台中的視覺化編輯器會引導您建立政策,而不必撰寫 JSON 語法。若要檢視使用視覺化編輯器建立政策的範例,請參閱 控制對身分的存取

若要使用視覺化編輯器來建立政策
  1. 登入 AWS Management Console 並在 IAM 開啟 https://console.aws.amazon.com/iam/ 主控台。

  2. 在左側的導覽窗格中,選擇 Policies (政策)

  3. 選擇 Create policy (建立政策)。

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

  5. 動作中,選擇要新增至政策的動作。您可採用以下方式來選擇動作:

    • 選取所有動作的核取方塊。

    • 選擇 add actions (新增動作) 來輸入特定動作的名稱。您可以使用萬用字元 (*) 來指定多個動作。

    • 選取其中一個 Access level (存取層級) 群組,以選擇存取層級的所有動作 (例如,Read (讀取)Write (寫入)List (列出))。

    • 展開各個 Access level (存取級別) 群組來選擇個別動作。

    預設情況下,您建立的政策允許執行選擇的操作。若要拒絕選擇的動作,請選擇 Switch to deny permissions (切換為拒絕許可)。由於 IAM 預設拒絕,我們建議您作為安全最佳實務,僅允許使用者需要的動作和資源獲得許可。只有在您想要覆寫另一個陳述式或政策另外允許的許可時,才應該建立 JSON 陳述式來拒絕許可。我們建議您將拒絕許可數限制為最低,因為它們可能會增加解決許可問題的難度。

  6. 對於 Resources (資源),如果您在先前步驟中選取的服務和動作不支援選擇特定資源,則會允許所有資源,而且您無法編輯此區段。

    如果選擇一或多個支援資源等級許可的動作,視覺化編輯器將列出這些資源。然後,您可以展開 Resources (資源) 來為您的政策指定資源。

    您可採用以下方式來指定資源:

    • 選擇新增 ARNs,依其 Amazon Resource Names (ARN) 指定資源。您可以使用視覺化 ARN 編輯器或手動列出 ARNs。如需 ARN 語法的詳細資訊,請參閱 AWS 一般參考 指南中的 Amazon Resource Name (ARN)。如需在政策的 Resource元素中使用 ARNs 的資訊,請參閱 IAMJSON政策元素:Resource

    • 選擇資源旁的此帳戶中的任何,將許可授予該類型的任何資源。

    • 選擇所有,可為服務選擇所有資源。

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

    您可採用以下方式來選擇條件:

    • 使用核取方塊來選取常用條件。

    • 選擇新增另一個條件,可指定其他條件。選擇條件的 Condition Key (條件金鑰)、Qualifier (函式) 以及 Operator (運算子),然後輸入一個 Value (值)。若要新增超過一個值,請選擇新增。您可以將這些值視為藉由邏輯「OR」運算子相連。完成時,請選擇新增條件

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

    如需有關 Condition (條件) 元素的詳細資訊,請參閱 IAMJSON策略參考 中的 IAMJSON政策元素:Condition

  8. 若要新增更多許可區塊,請選擇新增更多許可。針對每個區塊皆重複步驟 2 到 5。

    注意

    您可以隨時在 VisualJSON 編輯器選項之間切換。不過,如果您在視覺化編輯器中進行變更或選擇下一步,IAM 可能會重組您的政策,以將其最佳化為視覺化編輯器。如需詳細資訊,請參閱政策結構調整

  9. (選用) 當您在 中建立或編輯政策時 AWS Management Console,您可以產生 JSON 或 YAML 政策範本,以便在 AWS CloudFormation 範本中使用。

    若要這麼做,請在政策編輯器中選擇動作,然後選擇 Generate CloudFormation 範本。若要進一步了解, AWS CloudFormation 請參閱 AWS CloudFormation 使用者指南中的AWS Identity and Access Management 資源類型參考

  10. 將許可新增至政策後,請選擇下一步

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

  12. (選用) 藉由連接標籤作為鍵值組,將中繼資料新增至政策。如需在 IAM 中使用標籤的詳細資訊,請參閱 AWS Identity and Access Management 資源標籤

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

在建立政策之後,即可將它連接至您的群組、使用者或角色。如需詳細資訊,請參閱 新增和移除 IAM 身分許可

匯入現有的受管政策

若要建立新的政策,有一種簡單的方法是在您的帳戶中導入至少具有一部分所需許可權的現有受管政策。接著便可以自訂該政策,使其符合您的新要求。

您無法匯入內嵌政策。若要了解受管與內嵌政策之間的差異,請參閱 受管政策與內嵌政策

若要在視覺化編輯器中匯入現有的受管政策
  1. 登入 AWS Management Console 並在 IAM 開啟 https://console.aws.amazon.com/iam/ 主控台。

  2. 在左側的導覽窗格中,選擇 Policies (政策)

  3. 選擇 Create policy (建立政策)。

  4. 政策編輯器中,選擇視覺化,然後在頁面右側選擇動作,再選擇匯入政策

  5. 匯入政策視窗中,選擇最符合您想要放入新政策之政策內容的受管政策。您可用上方的搜尋框來限制政策清單中的結果。

  6. 選擇匯入政策

    匯入的政策新增於政策底部的新許可區塊中。

  7. 使用視覺化編輯器或選擇 JSON 來自訂您的政策。然後選擇下一步

    注意

    您可以隨時在 VisualJSON 編輯器選項之間切換。不過,如果您在視覺化編輯器中進行變更或選擇下一步,IAM 可能會重新組織您的政策,以將其最佳化為視覺化編輯器。如需詳細資訊,請參閱政策結構調整

  8. 檢視與建立頁面上,為您正在建立的政策輸入政策名稱描述 (選用)。您之後便無法編輯這些設定。檢視此政策中定義的許可,然後選擇建立政策來儲存您的工作。

JSON 編輯器中匯入現有的受管政策
  1. 登入 AWS Management Console 並在 IAM 開啟 https://console.aws.amazon.com/iam/ 主控台。

  2. 在左側的導覽窗格中,選擇 Policies (政策)

  3. 選擇 Create policy (建立政策)。

  4. 政策編輯器區段中,選擇 JSON 選項,然後在頁面右側選擇動作,然後選擇匯入政策

  5. 匯入政策視窗中,選擇最符合您想要放入新政策之政策內容的受管政策。您可用上方的搜尋框來限制政策清單中的結果。

  6. 選擇匯入政策

    匯入政策的陳述式會新增至 JSON 政策的底部。

  7. 在 JSON 中自訂您的政策。解決政策驗證期間產生的任何安全性警告、錯誤或一般性警告,然後選擇 Next (下一步)。或者在 Visual editor (視覺編輯工具) 中自訂您的政策。然後選擇下一步

    注意

    您可以隨時在 VisualJSON 編輯器選項之間切換。不過,如果您在視覺化編輯器中進行變更或選擇下一步,IAM 可能會重新組織您的政策,以將其最佳化為視覺化編輯器。如需詳細資訊,請參閱政策結構調整

  8. 檢視與建立頁面上,為您正在建立的政策輸入政策名稱描述 (選用)。您之後便無法編輯這些內容。檢視政策此政策中定義的許可,然後選擇建立政策來儲存您的工作。

在建立政策之後,即可將它連接至您的群組、使用者或角色。如需詳細資訊,請參閱新增和移除 IAM 身分許可