在 IAM 中建立 SAML 身分提供者 - AWS Identity and Access Management

在 IAM 中建立 SAML 身分提供者

IAM SAML 2.0 身分提供者是 IAM 中的實體,其負責描述支援 SAML 2.0 (安全性聲明標記語言 2.0) 標準的外部身分提供者 (IdP) 服務。當您想要在 SAML 相容的 IdP (例如 Shibboleth 或 Active Directory Federation Services 和 AWS) 之間建立信任時,您使用 IAM SAML 身分提供者,讓您組織中的使用者可以存取 AWS 資源。在 IAM 信任政策中,IAM SAML 身分提供者將作為主體。

如需有關此案例的詳細資訊,請參閱 SAML 2.0 聯合身分

您可以在 AWS Management Console 中或是透過 AWS CLI、Tools for Windows PowerShell 或 AWS API 呼叫,建立和管理 IAM 身分提供者。

在您建立 SAML 提供者之後,您必須建立一個或多個 IAM 角色。角色是 AWS 中的一個身分,並不擁有自己的憑證 (如同做為使用者)。但在此情況中,角色是以動態指派給聯合身分使用者,而該使用者由您組織的身分提供者 (IdP) 進行驗證。角色可允許您組織的 IdP 請求暫時性安全憑證以存取 AWS。指派給角色的政策決定可在 AWS 中執行的聯合身分使用者。若要為 SAML 聯合身分建立角色,請參閱 針對第三方身分提供者建立角色 (聯合身分)

最後,在您建立角色之後,您透過 AWS 的相關資訊和供聯合身分使用者使用的角色設定您的 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 建立會失敗,並傳回「無法剖析中繼資料」錯誤。

    SAML V2.0 中繼資料互通性設定檔版本 1.0 所定義,IAM 既不會評估中繼資料文件的 X.509 憑證是否過期,也不會對其採取動作。

如需如何設定許多可與 AWS 搭配使用的 IdP 的說明 (包含如何產生所需的 SAML 中繼資料文件),請參閱將第三方 SAML 解決方案提供者與 AWS 整合

如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解

建立並管理 IAM SAML 身分提供者 (主控台)

您可以使用 AWS Management Console來建立、更新及刪除 IAM SAML 身分提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解

建立 IAM SAML 身分提供者 (主控台)
  1. 簽署 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,請選擇 Identity providers (身分提供者),然後選擇 Add provider (新增提供者)。

  3. Configure provider (設定提供者) 中,選擇 SAML

  4. 輸入身分提供者的名稱。

  5. 對於 Metadata document (中繼資料文件),選擇 Choose file (選擇檔案),並指定您在 必要條件 下載的 SAML 中繼資料文件。

  6. (選用) 對於 Add tags (新增標籤),您可以新增鍵值組,以協助您識別和整理 IdP。您也可以使用標籤來控制對 AWS 資源的存取。若要進一步了解如何標記 SAML 身分提供者,請參閱標記 IAM SAML 身分提供者

    選擇 Add tag (新增標籤)。輸入每個標籤鍵值組的值。

  7. 請確認您提供的資訊。完成後,請選擇 Add provider (新增提供者)。

  8. 將 IAM 角色指派給您的身分提供者。此角色為受管于身分提供者的外部使用者身分提供許可,便於存取帳戶中的 AWS 資源。若要深入了解如何建立聯合身分角色,請參閱 針對第三方身分提供者建立角色 (聯合身分)

    注意

    角色信任政策中使用的 SAML IDP 必須與角色所在的帳戶相同。

刪除 SAML 提供者 (主控台)
  1. 簽署 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,請選擇 Identity providers (身分提供者)。

  3. 在您要刪除的身分提供者旁邊,選取選項按鈕。

  4. 選擇 刪除 。新的視窗將開啟。

  5. 在欄位中輸入單字 delete,確認您要刪除提供者。再選擇 Delete (刪除)。

建立並管理 IAM SAML 身分提供者 (AWS CLI)

您可以使用 AWS CLI 來建立、更新及刪除 SAML 提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解

建立 IAM 身分提供者並上傳中繼資料文件 (AWS CLI)
若要更新 IAM SAML 身分提供者 (AWS CLI)
標記現有 IAM 身分提供者 (AWS CLI)
列出現有 IAM 身分提供者的標籤 (AWS CLI)
移除現有 IAM 身分提供者的標籤 (AWS CLI)
刪除 IAM SAML 身分提供者 (AWS CLI)
  1. (選用) 若要列出所有提供者的資訊,例如 ARN、建立日期和過期日期,請執行下列命令:

  2. (選用) 若要取得有關特定提供者的資訊 (例如 ARN、建立日期、過期日期、加密設定和私有金鑰資訊),請執行下列命令:

  3. 若要刪除 IAM 身分提供者,請執行下列命令:

建立並管理 IAM SAML 身分提供者 (AWS API)

您可以使用 AWS API 來建立、更新及刪除 SAML 提供者。如需 SAML 聯合身分的協助,請參閱對 SAML 聯合身分進行疑難排解

若要建立 IAM 身分提供者並上傳中繼資料文件 (AWS API)
若要更新 IAM SAML 身分提供者 (AWS API)
標記現有 IAM 身分提供者 (AWS API)
列出現有 IAM 身分提供者的標籤 (AWS API)
移除現有 IAM 身分提供者的標籤 (AWS API)
刪除 IAM 身分提供者 (AWS API)
  1. (選用) 若要列出所有 IdP 的資訊,例如 ARN、建立日期和過期,請呼叫下列操作:

  2. (選用) 若要取得有關特定提供者的資訊 (例如 ARN、建立日期、過期日期、加密設定和私有金鑰資訊),請呼叫下列操作:

  3. 若要刪除 IdP,請呼叫下列操作:

後續步驟

建立 SAML 身分提供者之後,使用 IdP 設定依賴方信任。您也可以在政策中使用來自 IdP 身分驗證回應的宣告,來控制對角色的存取。

  • 您必須向 IdP 告知 AWS 作為服務提供者。這稱為在 IdP 和 AWS 之間新增依賴方信任。新增依賴方信任的過程,取決於您使用哪種 IdP。如需詳細資訊,請參閱 使用依賴方信任設定您的 SAML 2.0 IdP 並新增宣告

  • IdP 將包含宣告的回應傳送到 AWS 時,許多傳入宣告將映射到 AWS 內容索引鍵。您可以利用 Condition 元素在 IAM 政策中使用這些內容索引鍵,來控制對角色的存取。如需詳細資訊,請參閱為身分驗證回應設定 SAML 聲明