本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 IAM 中建立 SAML 身分提供者
IAM SAML 2.0 身分提供者是 IAM 中的實體,其負責描述支援 SAML 2.0 (安全性聲明標記語言 2.0)
如需有關此案例的詳細資訊,請參閱 SAML 2.0 聯合身分。
您可以在 AWS 管理主控台 中或是透過 AWS CLI、Tools for Windows PowerShell 或 AWS API 呼叫,建立和管理 IAM 身分提供者。
在您建立 SAML 提供者之後,您必須建立一個或多個 IAM 角色。角色是 AWS 中的一個身分,並不擁有自己的憑證 (如同做為使用者)。但在此情況中,角色會動態指派給 SAML 聯合身分主體,而該主體由 IdP 進行驗證。該角色允許您的 IdP 請求暫時性安全憑證以存取 AWS。指派給角色的政策決定了使用者可在 AWS 中執行的動作。若要為 SAML 聯合身分建立角色,請參閱 為第三方身分提供者建立角色 。
最後,在建立角色之後,可透過 AWS 的相關資訊和供 SAML 聯合身分主體使用的角色設定 IdP,從而完成 SAML 信任。這是指在您的 IdP 和 AWS 之間設定依賴方信任。若要設定依賴方信任,請參閱使用依賴方信任設定您的 SAML 2.0 IdP 並新增宣告。
主題
必要條件
您必須從 IdP 取得下列資訊,然後才能建立 SAML 身分提供者。
-
從 IdP 取得 SAML 中繼資料文件。此文件包括發行者的名稱、到期資訊以及可用於驗證從 IdP 接收的 SAML 身分驗證回應 (宣告) 的金鑰。若要產生中繼資料文件,請使用您的外部 IdP 提供的身分管理軟體。
重要
此中繼資料檔案包括發行者名稱、過期資訊以及可用於驗證從 IdP 接收的 SAML 身分驗證回應 (聲明) 的金鑰。中繼資料檔案必須以 UTF-8 格式編碼,並且不含位元組順序記號 (BOM)。若要移除 BOM,您可以使用文字編輯工具,例如 Notepad++,將檔案編碼為 UTF-8。
包含在 SAML 中繼資料文件中的 X.509 憑證必須使用大小至少有 1024 位元的金鑰。此外,X.509 憑證也必須沒有任何重複的擴充。您可以使用擴充,但這些擴充只能在憑證中出現一次。如果 X.509 憑證不符合任一條件,IdP 建立會失敗,並傳回 "Unable to parse metadata" 錯誤。
如 SAML V2.0 Metadata Interoperability Profile Version 1.0
所定義,IAM 既不會評估 SAML 中繼資料文件中的 X.509 憑證是否過期,也不會對其採取動作。如果您擔心過期的 X.509 憑證,建議您監控憑證過期日期,並根據組織的治理和安全政策輪換憑證。 -
如果選擇啟用 SAML 加密,必須使用 IdP 產生私有金鑰檔案,並以 .pem 檔案格式將此檔案上傳至 IAM SAML 組態。AWS STS 需要此私有金鑰,才能解密對應於上傳至 IdP 之公有金鑰的 SAML 回應。支援下列演算法:
-
加密演算法
-
AES-128
-
AES-256
-
RSA-OAEP
-
-
金鑰傳輸演算法
-
AES-CBC
-
AES-GCM
-
如需產生私有金鑰的步驟,請參閱身分提供者的文件。
注意
IAM Identity Center 和 Amazon Cognito 不支援來自 IAM SAML 身分提供者的加密 SAML 聲明。您可以間接將對加密 SAML 聲明的支援新增至 Amazon Cognito 身分集區與 Amazon Cognito 使用者集區的聯合。使用者集區具有獨立 IAM SAML 聯合身分的 SAML 聯合身分,並支援 SAML 簽署和加密。雖然此功能不會直接延伸至身分集區,但使用者集區可以是身分集區的 IdP。若要將 SAML 加密與身分集區搭配使用,請將具有加密功能的 SAML 提供者新增至作為身分集區的 IdP 的使用者集區。
您的 SAML 提供者必須能夠使用使用者集區提供的金鑰來加密 SAML 聲明。使用者集區不會接受使用 IAM 提供的憑證加密的聲明。
-
如需如何設定許多可與 AWS 搭配使用的 IdP 的說明 (包含如何產生所需的 SAML 中繼資料文件),請參閱將第三方 SAML 解決方案提供者與 AWS 整合。
如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解。
建立並管理 IAM SAML 身分提供者 (主控台)
您可以使用 AWS 管理主控台來建立、更新及刪除 IAM SAML 身分提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解。
建立 IAM SAML 身分提供者 (主控台)
簽署 AWS 管理主控台,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,請選擇 Identity providers (身分提供者),然後選擇 Add provider (新增提供者)。
-
在 Configure provider (設定提供者) 中,選擇 SAML。
-
輸入身分提供者的名稱。
-
對於 Metadata document (中繼資料文件),選擇 Choose file (選擇檔案),並指定您在 必要條件 下載的 SAML 中繼資料文件。
注意
SAML 中繼資料文件中的
validUntil或cacheDuration屬性定義了身分提供者的有效截止時間日期。如果 SAML 中繼資料文件不包含有效期間屬性,則有效截止時間日期將與 X.509 憑證過期日期不符。IAM 既不會評估 SAML 中繼資料文件中的 X.509 憑證是否過期,也不會對其採取動作。如果您擔心過期的 X.509 憑證,建議您監控憑證過期日期,並根據組織的治理和安全政策輪換憑證。
-
(選用) 在 SAML 加密欄位中,選擇選擇檔案,然後選取您在 必要條件 中建立的私有金鑰檔案。選擇需要加密以僅接受來自 IdP 的加密請求。
-
(選用) 對於 Add tags (新增標籤),您可以新增鍵值組,以協助您識別和整理 IdP。您也可以使用標籤來控制對 AWS 資源的存取。若要進一步了解如何標記 SAML 身分提供者,請參閱標記 IAM SAML 身分提供者。
選擇 Add tag (新增標籤)。輸入每個標籤鍵值組的值。
-
請確認您提供的資訊。完成後,請選擇 Add provider (新增提供者)。
-
將 IAM 角色指派給您的身分提供者。此角色為受管於身分提供者的外部使用者身分提供許可,便於存取帳戶中的 AWS 資源。若要深入了解如何建立聯合身分角色,請參閱 為第三方身分提供者建立角色 。
注意
角色信任政策中使用的 SAML IDP 必須與角色所在的帳戶相同。
刪除 SAML 提供者 (主控台)
簽署 AWS 管理主控台,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,請選擇 Identity providers (身分提供者)。
-
在您要刪除的身分提供者旁邊,選取選項按鈕。
-
選擇 刪除。新的視窗將開啟。
-
在欄位中輸入單字
delete,確認您要刪除提供者。再選擇 Delete (刪除)。
管理 SAML 加密金鑰
您可以將 IAM SAML 供應商設定為從外部 IdP 接收 SAML 回應中的加密聲明。使用者可以透過呼叫 sts:AssumeRoleWithSAML,使用加密的 SAML 聲明來擔任 AWS 中的角色。
SAML 加密可確保聲明在透過中介或第三方傳遞時是安全的。此外,此功能可協助您符合 FedRAMP 或任何強制要求 SAML 聲明加密的內部合規政策要求。
若要設定 IAM SAML 身分提供者,請參閱在 IAM 中建立 SAML 身分提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解。
輪換 SAML 加密金鑰
IAM 使用您上傳至 IAM SAML 提供者的私有金鑰,從 IdP 解密加密的 SAML 聲明。您可以為每個身分提供者儲存最多兩個私有金鑰檔案,讓您視需要輪換私有金鑰。儲存兩個檔案時,每個請求會先嘗試以最新新增日期解密,然後 IAM 會嘗試以最舊新增日期解密請求。
簽署 AWS 管理主控台,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,請選擇身分提供者,然後從清單中選取提供者。
-
選擇 SAML 加密索引標籤,然後選擇新增金鑰。
-
選取選擇檔案,並上傳您從 IdP 下載的私有金鑰作為 .pem 檔案。然後,選擇新增金鑰。
-
在 SAML 解密的私有金鑰區段中,選取過期的私有金鑰檔案,然後選擇移除。建議在新增私有金鑰之後移除過期的私有金鑰,確保首次嘗試解密聲明能夠成功。
建立並管理 IAM SAML 身分提供者 (AWS CLI)
您可以使用 AWS CLI 來建立、更新及刪除 SAML 提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解。
建立 IAM 身分提供者並上傳中繼資料文件 (AWS CLI)
若要更新 IAM SAML 身分提供者 (AWS CLI)
您可以更新中繼資料檔案、SAML 加密設定,以及輪換 IAM SAML 提供者的私有金鑰解密檔案。若要輪換私有金鑰,請在個別請求中新增私有金鑰,然後移除舊金鑰。如需有關輪換私有金鑰的詳細資訊,請參閱 管理 SAML 加密金鑰。
標記現有 IAM 身分提供者 (AWS CLI)
列出現有 IAM 身分提供者的標籤 (AWS CLI)
移除現有 IAM 身分提供者的標籤 (AWS CLI)
刪除 IAM SAML 身分提供者 (AWS CLI)
-
(選用) 若要列出所有提供者的資訊,例如 ARN、建立日期和過期日期,請執行下列命令:
-
(選用) 若要取得有關特定提供者的資訊 (例如 ARN、建立日期、過期日期、加密設定和私有金鑰資訊),請執行下列命令:
-
若要刪除 IAM 身分提供者,請執行下列命令:
建立並管理 IAM SAML 身分提供者 (AWS API)
您可以使用 AWS API 來建立、更新及刪除 SAML 提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解。
若要建立 IAM 身分提供者並上傳中繼資料文件 (AWS API)
-
呼叫此操作:
CreateSAMLProvider
若要更新 IAM SAML 身分提供者 (AWS API)
您可以更新中繼資料檔案、SAML 加密設定,以及輪換 IAM SAML 提供者的私有金鑰解密檔案。若要輪換私有金鑰,請在個別請求中新增私有金鑰,然後移除舊金鑰。如需有關輪換私有金鑰的詳細資訊,請參閱 管理 SAML 加密金鑰。
-
呼叫此操作:
UpdateSAMLProvider
標記現有 IAM 身分提供者 (AWS API)
-
呼叫此操作:
TagSAMLProvider
列出現有 IAM 身分提供者的標籤 (AWS API)
-
呼叫此操作:
ListSAMLProviderTags
移除現有 IAM 身分提供者的標籤 (AWS API)
-
呼叫此操作:
UntagSAMLProvider
刪除 IAM 身分提供者 (AWS API)
-
(選用) 若要列出所有 IdP 的資訊,例如 ARN、建立日期和過期,請呼叫下列操作:
-
(選用) 若要取得有關特定提供者的資訊 (例如 ARN、建立日期、過期日期、加密設定和私有金鑰資訊),請呼叫下列操作:
-
若要刪除 IdP,請呼叫下列操作:
後續步驟
建立 SAML 身分提供者之後,使用 IdP 設定依賴方信任。您也可以在政策中使用來自 IdP 身分驗證回應的宣告,來控制對角色的存取。
-
您必須向 IdP 告知 AWS 作為服務提供者。這稱為在 IdP 和 AWS 之間新增依賴方信任。新增依賴方信任的過程,取決於您使用哪種 IdP。如需詳細資訊,請參閱 使用依賴方信任設定您的 SAML 2.0 IdP 並新增宣告。
-
IdP 將包含宣告的回應傳送到 AWS 時,許多傳入宣告將映射到 AWS 內容索引鍵。您可以利用 Condition 元素在 IAM 政策中使用這些內容索引鍵,來控制對角色的存取。如需詳細資訊,請參閱為身分驗證回應設定 SAML 聲明