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

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

建立 IAM 政策 (主控台)

政策為一個實體,可定義其所連接的身分或資源的許可。您可以使用在 AWS Management Console IAM 中建立客戶受管政策。客戶管理政策是獨立的政策,在您自己的 AWS 帳戶進行管理。然後,您可以將原則附加到 AWS 帳戶.

建立 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 政策的一般資訊,請參閱 IAM 中的政策和許可。如需有關 IAM 政策語言的資訊,請參閱 IAM JSON 政策參考

若要使用 JSON 政策編輯器來建立政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

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

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

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

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

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

    注意

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

  7. (選擇性) 在中建立或編輯原則時 AWS Management Console,您可以產生可在 AWS CloudFormation 範本中使用的 JSON 或 YAML 原則範本。

    若要這麼做,請在 [原則編輯器] 中選擇 [動作],然後選擇 [產生 CloudFormation範本]。若要進一步了解,請參 AWS CloudFormation 閱《 AWS CloudFormation 使用指南》中的AWS Identity and Access Management 資源類型參考

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

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

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

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

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

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

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

若要使用視覺化編輯器來建立政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 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 (資源) 來為您的政策指定資源。

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

    • 選擇新增 ARN,可根據它們的 Amazon Resource Name (ARN) 來指定資源。您可以使用視覺化 ARN 編輯器或手動列出 ARN。如需 ARN 語法的詳細資訊,請參閱 AWS 一般參考 指南中的 Amazon Resource Name (ARN)。如需使用政策之 Resource 元素中 ARN 的詳細資訊,請參閱IAM JSON 政策元素:Resource

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

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

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

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

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

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

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

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

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

    注意

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

  9. (選擇性) 在中建立或編輯原則時 AWS Management Console,您可以產生可在 AWS CloudFormation 範本中使用的 JSON 或 YAML 原則範本。

    若要這麼做,請在 [原則編輯器] 中選擇 [動作],然後選擇 [產生 CloudFormation範本]。若要進一步了解,請參 AWS CloudFormation 閱《 AWS CloudFormation 使用指南》中的AWS Identity and Access Management 資源類型參考

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

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

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

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

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

匯入現有的受管政策

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

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

若要在視覺化編輯器中匯入現有的受管政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

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

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

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

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

  6. 選擇匯入政策

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

  7. 使用 Visual editor (視覺編輯工具) 或選擇 JSON 來自訂您的政策。然後選擇下一步

    注意

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

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

若要在 JSON 編輯器中匯入現有的受管政策
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

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

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

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

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

  6. 選擇匯入政策

    來自匯入政策的陳述式新增於 JSON 政策底部。

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

    注意

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

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

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