本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 SAML 2.0 聯合身分建立角色 (主控台)
您可以使用 SAML 2.0 聯合,而不是在 中建立 IAM 使用者。 AWS 帳戶使用身分提供者 (IdP),您可以在 外部管理您的使用者身分, AWS 並授予這些外部使用者身分存取您帳戶中 AWS 資源的許可。如需有關聯合身分與身分提供者的詳細資訊,請參閱 身分提供者與聯合。
注意
若要改善聯合彈性,建議您將 IdP 和 AWS
聯合設定為支援多個 SAML 登入端點。如需詳細資訊,請參閱 AWS 安全部落格文章如何使用區域 SAML 端點進行容錯移轉
建立適用於 SAML 的角色的先決條件
您必須先完成以下先決條件步驟,然後才能建立用於 SAML 2.0 聯合身分的角色。
準備建立用於 SAML 2.0 聯合身分的角色
-
在為以 SAML 為基礎的聯合身分建立角色之前,必須在 IAM 中建立 SAML 提供者。如需詳細資訊,請參閱 在 IAM 中建立 SAML 身分提供者。
-
為已進行 SAML 2.0–身分驗證的使用者要擔任的角色準備政策。正如任何角色一樣,SAML 聯合身分的角色含有兩項政策。其中一項是角色信任政策,指定擔任該角色的對象。另一個是 IAM 許可政策,指定聯合身分使用者被允許或拒絕存取 AWS 的動作和資源。
當您為您的角色建立信任政策時,必須使用三個值,以確保只有您的應用程式可擔任該角色:
-
對於
Action
元素,可使用sts:AssumeRoleWithSAML
動作。 -
如需
Principal
元素,請使用字串{"Federated":
。將ARNofIdentityProvider
}
取代為您在 步驟 1 中建立的 SAML 身分提供者 ARN。ARNofIdentityProvider
-
對於
Condition
元素,請使用StringEquals
條件來測試來自 SAML 回應的saml:aud
屬性是否符合您的瀏覽器在登入主控台時顯示的 URL。此登入端點 URL 是您身分提供者的 SAML 收件人屬性。您可以在特定區域中包含登入 URLs。 AWS 建議使用區域端點而非全域端點來改善聯合彈性。對於可能的region-code
值清單,請參閱 AWS 登入端點中的 Region (區域) 欄位。如果需要 SAML 加密,登入 URL 必須包含 AWS 指派給 SAML 供應商的唯一識別符。您可以在 IAM 主控台中選取身分提供者來顯示詳細資訊頁面,以檢視唯一識別符。
https://
region-code
.signin.aws.amazon.com/saml/acs/IdP-ID
以下範例信任政策是專為 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://region-code
.signin.aws.amazon.com/saml"}} } }將主體 ARN 取代為您在 IAM 中所建立的 SAML 提供者的實際 ARN。它會有自己的帳戶 ID 和提供者名稱。
-
建立 SAML 的角色
完成必要步驟後,您可以建立以 SAML 為基礎的聯合身分角色。
若要為以 SAML 為基礎的聯合身分建立角色
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在 IAM 主控台的導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)。
-
選擇 SAML 2.0 federation (SAML 2.0 聯合身分) 角色類型。
-
針對 Select a SAML provider (選擇 SAML 提供者),選擇您角色的提供者。
-
選擇 SAML 2.0 存取層級的方法。
-
選擇僅允許程式設計存取,以建立可從 AWS API 或 以程式設計方式擔任的角色 AWS CLI。
-
選擇允許程式設計和 AWS Management Console 存取,以建立可以程式設計方式從 擔任的角色 AWS Management Console。
同時建立類似的角色,但也可以從主控台所擔任的角色包括具有特定條件的信任政策。該條件明確確保 SAML 受眾 (
SAML:aud
屬性) 設定為 AWS SAML 供應商的登入端點。 -
-
定義屬性的程序會根據存取類型而有所不同。
-
如果要為程式設計存取建立角色,請從 Attribute (屬性) 清單選取屬性。然後,在 Value (值) 方塊中,輸入包含在角色中的值。這會限制從身分提供者存取使用者的角色,其身分提供者的 SAML 身分驗證回應 (聲明) 包括您指定的屬性。您必須至少指定一個屬性,以確保您的角色僅限於組織中的一部分使用者。
-
如果您要為程式設計和 AWS Management Console 存取建立角色,登入端點區段會定義您的瀏覽器在登入主控台時顯示的 URL。此端點是您身分提供者的 SAML 收件人屬性,會映射到saml:aud內容索引鍵。如需詳細資訊,請參閱為身分驗證回應設定 SAML 聲明。
-
選擇區域端點或非區域端點。我們建議您使用多個區域 SAML 登入端點來改善聯合彈性。
-
針對區域,選擇 SAML 供應商支援 AWS 登入的區域。
-
若要讓登入 URLs 包含唯一識別符,請選取登入端點是否包含 AWS 指派給 SAML 身分提供者的唯一識別符。加密的 SAML 聲明需要此選項。如需詳細資訊,請參閱SAML 2.0 聯合身分。
-
-
-
若要向信任政策新增更多與屬性相關的條件,請選擇 Condition (optional) (條件 (選用)),並選取其他條件,然後指定值。
注意
該清單包含最常用的 SAML 屬性。IAM 支援可用於建立條件的其他屬性。如需所支援屬性的清單,請參閱 SAML 聯合身分的可用金鑰。如果您需要不在清單中的受支援 SAML 屬性的條件,您可以手動新增該條件。若要這麼做,請在建立角色後編輯信任政策。
-
檢閱您的 SAML 2.0 信任資訊,然後選擇 Next (下一步)。
-
IAM 包含您帳戶中的 AWS 受管和客戶受管政策清單。選取用於許可政策的政策,或者選擇 Create policy (建立政策) 以開啟新的瀏覽器標籤,並從頭建立新的政策。如需詳細資訊,請參閱建立 IAM 政策。在您建立政策後,關閉該標籤並返回您的原始標籤。選取您希望 OIDC 聯合身分使用者具有的許可政策旁的核取方塊。如果您希望,您目前可以不選取政策,稍後再將政策連接到角色。角色預設沒有任何許可。
-
(選用) 設定許可界限。這是進階功能。
開啟 Permissions boundary (許可界限) 區段,並選擇 Use a permissions boundary to control the maximum role permissions (使用許可界限來控制角色許可上限)。選取用於許可界限的政策。
-
選擇 Next (下一步)。
-
選擇下一步:檢閱。
-
在 Role name (角色名稱) 中,輸入角色名稱。角色名稱在您的 中必須是唯一的 AWS 帳戶。它們無法透過大小寫進行區分。例如,您無法建立名為
PRODROLE
和prodrole
的角色。由於其他 AWS 資源可能會參考角色,因此您無法在建立角色之後編輯角色的名稱。 -
(選用) 在 Description (說明) 中,輸入新角色的說明。
-
在 Step 1: Select trusted entities (步驟 1:選取受信任的實體) 或者 Step 2: Add permissions (步驟 2:新增許可) 區段中選擇 Edit (編輯),可編輯使用案例和角色許可。
-
(選用) 藉由連接標籤作為鍵值對,將中繼資料新增至角色。如需有關在 IAM 中使用標籤的詳細資訊,請參閱 AWS Identity and Access Management 資源的標籤。
-
檢閱角色,然後選擇 Create role (建立角色)。
在您建立角色之後,您透過 AWS的相關資訊設定您的身分提供者軟體來完成 SAML 信任。此資訊包您要聯合身分使用者使用的角色。這是指在您的 IdP 和 AWS之間設定依賴方信任。如需詳細資訊,請參閱使用依賴方信任設定您的 SAML 2.0 IdP 並新增宣告。