建立 SAML 2.0 聯合 (主控台) 的角色 - AWS Identity and Access Management

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

建立 SAML 2.0 聯合 (主控台) 的角色

您可以使用 SAML 2.0 聯盟,而不是在 AWS 帳戶. IAM 使用身分識別提供者 (IdP),您可以管理以外的使用者身分識別, AWS 並授與這些外部使用者身分識別權限,以存取您帳戶中的 AWS 資源。如需有關聯合身分與身分提供者的詳細資訊,請參閱 身分提供者與聯合

注意

若要改善同盟恢復能力,建議您將 IdP 和同 AWS 盟設定為支援多個SAML登入端點。如需詳細資訊,請參閱 AWS 安全性部落格文章如何使用地區SAML端點進行容錯移轉

建立角色的先決條件 SAML

您必須先完成下列先決條件步驟,才能建立 SAML 2.0 聯合的角色。

若要準備建立 SAML 2.0 聯合的角色
  1. 建立以聯合為SAML基礎的角色之前,您必須在中建立SAML提供者IAM。如需詳細資訊,請參閱在中建立SAML身分識別提供者 IAM

  2. 為 SAML 2.0-已驗證的使用者將承擔的角色準備原則。與任何角色一樣,同SAML盟的角色包含兩個原則。其中一項是角色信任政策,指定擔任該角色的對象。另一個是IAM權限原則,用於指 AWS 定允許或拒絕聯合使用者存取的動作和資源。

    當您為您的角色建立信任政策時,必須使用三個值,以確保只有您的應用程式可擔任該角色:

    • 對於 Action 元素,可使用 sts:AssumeRoleWithSAML 動作。

    • 如需 Principal 元素,請使用字串 {"Federated":ARNofIdentityProvider}。以您在中建立ARN的SAML身分識別提供者ARNofIdentityProvider步驟 1

    • 對於Condition元素,請使用StringEquals條件來測試SAML回應中的saml:aud屬性是否符SAML合的聯合端點 AWS。

    下列範例信任原則是針對SAML同盟使用者所設計:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRoleWithSAML", "Principal": {"Federated": "arn:aws:iam::account-id:saml-provider/PROVIDER-NAME"}, "Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}} } }

    將主參ARN與者取代ARN為您在中建立之SAML提供者的實際主參與者IAM。它會有自己的帳戶 ID 和提供者名稱。

建立角色 SAML

完成先決條件步驟之後,您可以建立以聯合為SAML基礎的角色。

若要為SAML基礎的聯合建立角色
  1. 登入 AWS Management Console 並開啟IAM主控台,位於https://console.aws.amazon.com/iam/

  2. 在IAM主控台的導覽窗格中,選擇 [角色],然後選擇 [建立角色]。

  3. 選擇 SAML2.0 聯合角色類型。

  4. 針對 [選取SAML提供者],選擇您角色的提供者。

  5. 選擇 SAML 2.0 存取層級方法。

    • 選擇「僅允許程式設計方式存取」,以建立可從 AWS API或 AWS CLI以程式設計方式假設的角色。

    • 選擇 [允許程式設計和 AWS Management Console 存取],以建立可透過程式設計方式或從 AWS Management Console.

    同時建立類似的角色,但也可以從主控台所擔任的角色包括具有特定條件的信任政策。該條件明確確保將SAML受眾(SAML:aud屬性)設置為SAML(https://signin.aws.amazon.com/saml)的 AWS 登錄端點。

  6. 如果要為程式設計存取建立角色,請從 Attribute (屬性) 清單選取屬性。然後,在 Value (值) 方塊中,輸入包含在角色中的值。這會限制身分識別提供者的角色存取權限,其SAML驗證回應 (宣告) 包含您指定的屬性。您必須至少指定一個屬性,以確保您的角色僅限於組織中的一部分使用者。

    如果您要建立用於程式設計和主控台存取的角色,則會自動新增SAML:aud屬性並將其設定為 AWS SAML端點 (https://signin.aws.amazon.com/saml)。URL

  7. 若要向信任政策新增更多與屬性相關的條件,請選擇 Condition (optional) (條件 (選用)),並選取其他條件,然後指定值。

    注意

    此清單包含最常用的SAML屬性。IAM支援您可用來建立條件的其他屬性。如需支援屬性的清單,請參閱SAML聯合的可用金鑰。如果您需要不在清單中的受支援SAML屬性的條件,您可以手動新增該條件。若要這麼做,請在建立角色後編輯信任政策。

  8. 檢閱您的 SAML 2.0 信任資訊,然後選擇 [下一步]。

  9. IAM包含您帳戶中受 AWS 管理和客戶管理的政策清單。選取用於許可政策的政策,或者選擇 Create policy (建立政策) 以開啟新的瀏覽器標籤,並從頭建立新的政策。如需詳細資訊,請參閱建立IAM策略。在您建立政策後,關閉該標籤並返回您的原始標籤。選取您希望OIDC同盟使用者擁有的權限原則旁邊的核取方塊。如果您希望,您目前可以不選取政策,稍後再將政策連接到角色。角色預設沒有任何許可。

  10. (選用) 設定許可界限。這是進階功能。

    開啟 Permissions boundary (許可界限) 區段,並選擇 Use a permissions boundary to control the maximum role permissions (使用許可界限來控制角色許可上限)。選取用於許可界限的政策。

  11. 選擇 Next (下一步)

  12. 選擇下一步:檢閱

  13. Role name (角色名稱) 中,輸入角色名稱。角色名稱在您的 AWS 帳戶. 它們無法透過大小寫進行區分。例如,您無法建立名為 PRODROLEprodrole 的角色。由於其他 AWS 資源可能會參照該角色,因此您無法在建立角色之後編輯該角色的名稱。

  14. (選用) 在 Description (說明) 中,輸入新角色的說明。

  15. Step 1: Select trusted entities (步驟 1:選取受信任的實體) 或者 Step 2: Add permissions (步驟 2:新增許可) 區段中選擇 Edit (編輯),可編輯使用案例和角色許可。

  16. (選用) 藉由連接標籤作為鍵值對,將中繼資料新增至角色。如需有關在中使用標籤的更多資訊IAM,請參閱AWS Identity and Access Management 資源標籤

  17. 檢閱角色,然後選擇建立角色

建立角色之後,您可以使用相關的資訊配置您的身分識別提供者軟體來完成SAML信任 AWS。此資訊包您要聯合身分使用者使用的角色。這是指在您的 IdP 和 AWS之間設定依賴方信任。如需詳細資訊,請參閱使用信賴方信任和新增宣告來設定您的 SAML 2.0 IdP