本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 SAML 2.0 聯合 (主控台) 建立角色
您可以使用 SAML 2.0 聯盟,而不是在您 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
屬性是否與 AWS的 SAML 聯合身分端點相符。
以下範例信任政策是專為 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 取代為您在 IAM 中所建立的 SAML 提供者的實際 ARN。它會有自己的帳戶 ID 和提供者名稱。
-
建立 SAML 的角色
完成必要步驟後,您可以建立以 SAML 為基礎的聯合身分角色。
若要為以 SAML 為基礎的聯合身分建立角色
登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/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
屬性) 設定為 SAML 的 AWS 登入端點 (https://signin.aws.amazon.com/saml)。 -
-
如果要為程式設計存取建立角色,請從 Attribute (屬性) 清單選取屬性。然後,在 Value (值) 方塊中,輸入包含在角色中的值。這會限制從身分提供者存取使用者的角色,其身分提供者的 SAML 身分驗證回應 (聲明) 包括您指定的屬性。您必須至少指定一個屬性,以確保您的角色僅限於組織中的一部分使用者。
如果要為程式設計和主控台存取建立角色,則會自動新增
SAML:aud
屬性並將其設定為 AWS SAML 端點的 URL (https://signin.aws.amazon.com/saml)。 -
若要向信任政策新增更多與屬性相關的條件,請選擇 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 (使用許可界限來控制角色許可上限)。選取用於許可界限的政策。
-
選擇下一步。
-
選擇下一步:檢閱。
-
在 Role name (角色名稱) 中,輸入角色名稱。角色名稱在您的 AWS 帳戶. 它們無法透過大小寫進行區分。例如,您無法建立名為
PRODROLE
和prodrole
的角色。由於其他 AWS 資源可能會參照該角色,因此您無法在建立角色之後編輯該角色的名稱。 -
(選用) 在 Description (說明) 中,輸入新角色的說明。
-
在 Step 1: Select trusted entities (步驟 1:選取受信任的實體) 或者 Step 2: Add permissions (步驟 2:新增許可) 區段中選擇 Edit (編輯),可編輯使用案例和角色許可。
-
(選用) 藉由連接標籤作為鍵值對,將中繼資料新增至角色。如需有關在 IAM 中使用標籤的詳細資訊,請參閱 標記 IAM 資源。
-
檢閱角色,然後選擇 Create role (建立角色)。
在您建立角色之後,您透過 AWS的相關資訊設定您的身分提供者軟體來完成 SAML 信任。此資訊包您要聯合身分使用者使用的角色。這是指在您的 IdP 和 AWS之間設定依賴方信任。如需更多詳細資訊,請參閱 使用信賴方信任和新增宣告來設定您的 SAML 2.0 IdP。