建立 OpenID Connect (OIDC) 身分提供者 - AWS Identity and Access Management

建立 OpenID Connect (OIDC) 身分提供者

IAM OIDC 身分提供者是 IAM 中的實體,負責描述可支援 OpenID Connect (OIDC) 標準的外部身分提供者 (IdP) 服務,例如,Google 或 Salesforce。如果想要在 OIDC 相容的 IdP 和您的 AWS 帳戶之間建立信任,請使用 IAM OIDC 身分提供者。在建立需要存取 AWS 資源的行動應用程式或 Web 應用程式時,這非常有用,但您不想建立自訂登入代碼或管理自己的使用者身分。如需有關此案例的詳細資訊,請參閱 關於 Web 聯合身分

您可以使用 AWS Management Console、AWS Command Line Interface、Tools for Windows PowerShell 或 IAM API 來建立和管理 IAM OIDC 身分提供者。

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

建立及管理 OIDC 提供者 (主控台)

按照這些指示,在 AWS Management Console 中建立和管理 IAM OIDC 身分提供者。

重要

如果您正在使用來自 Google、Facebook 或 Amazon Cognito 的 OIDC 身分提供者,請勿使用此程序建立個別的 IAM 身分提供者。這些 OIDC 身分提供者已內建於 AWS,並且可供您使用。請依照下列步驟為您的身分提供者建立新角色,請參閱 建立 Web 身分的角色或 OpenID Connect 聯合身分 (主控台)

建立 IAM OIDC 身分提供者 (主控台)

  1. 在建立 IAM OIDC 身分提供者之前,您必須使用 IdP 來註冊您的應用程式,才能接收用戶端 ID。用戶端 ID (也稱為觀眾) 是您在向 IdP 註冊應用程式時向您發佈的應用程式的唯一識別符。如需有關取得用戶端 ID 的詳細資訊,請參閱文件以取得您的 IdP。

    注意

    AWS 會透過我們的信任憑證授權機構 (CA) 程式庫保護與某些 OIDC 身分提供者 (IdP) 的通訊,而不是使用憑證指紋來驗證您的 IdP 伺服器憑證。這些 OIDC IdP 包括 Google,以及使用 Amazon S3 儲存貯體來託管 JSON Web 金鑰組 (JWKS) 端點的 IdP。在這些情況下,舊式指紋會保留在您的組態中,但不再用於驗證。

  2. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

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

  4. 對於 Configure provider (設定提供者),選擇 OpenID Connect (OpenID 連線)。

  5. 針對 Provider URL (提供者 URL),輸入 IdP 的 URL。URL 必須符合這些限制:

    • URL 區分大小寫。

    • URL 必須以 https:// 開頭。

    • URL 不應包含連接埠號碼。

    • 在您的 AWS 帳戶中,每個 IAM OIDC 身分提供者必須使用唯一的 URL。

  6. 選擇 Get thumbprint (取得指紋) 來驗證您的 IdP 伺服器憑證。若要瞭解如何操作,請參閱取得 OpenID Connect 身分提供者的指紋

  7. 針對 Audience (觀眾),輸入您向 IdP 註冊並在 步驟 1 中收到之應用程式的用戶端 ID,這將向 AWS 發出請求。如果此 IdP 有其他用戶端 ID (也稱觀眾),則稍後可以在提供者詳細資訊頁面上新增它們。

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

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

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

新增或移除 IAM OIDC 身分提供者的指紋 (主控台)

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,請選擇 Identity providers (身分提供者)。然後選擇您要更新的 IAM 身分提供者名稱。

  3. Thumbprints (指紋) 區段中,請選擇 Manage (管理)。若要輸入新的指紋值,請選擇 Add thumbprint 新增指紋。若要移除指紋,請選擇要移除的指紋旁的 Remove (移除)。

    注意

    IAM OIDC 身分提供者必須至少有 1 個和最多可有 5 個指紋。

    完成後,請選擇 Save changes (儲存變更)。

新增 IAM OIDC 身分提供者的對象 (主控台)

  1. 在導覽窗格中,選擇 Identity providers (身分提供者),然後選擇您所要更新 IAM 身分提供者的名稱。

  2. Audiences (對象) 區段中,選擇 Actions (動作) 並選取 Add audience (新增對象)。

  3. 輸入您向 IdP 註冊並在 步驟 1 中收到之應用程式的用戶端 ID,這將向 AWS 發出請求。然後選擇 Add audiences (新增對象)。

    注意

    IAM OIDC 身分提供者必須至少有 1 個和最多可有 100 個對象。

移除 IAM OIDC 身分提供者的對象 (主控台)

  1. 在導覽窗格中,選擇 Identity providers (身分提供者),然後選擇您所要更新 IAM 身分提供者的名稱。

  2. Audiences (對象) 區段中,選取您要移除之對象旁邊的選項按鈕,然後選取 Actions (動作)。

  3. 選擇 Remove audience (移除對象)。新的視窗將開啟。

  4. 如果您移除對象,與對象聯合的身分無法擔任與對象相關聯的角色。在視窗中,閱讀警告,並在欄位中輸入單字 remove,確認您要移除對象。

  5. 選擇 Remove (移除) 以移除對象。

刪除 IAM OIDC 身分提供者 (主控台)

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

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

  3. 在您要刪除的 IAM 身分提供者旁邊,勾選核取方塊。新的視窗將開啟。

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

建立及管理 IAM OIDC 身分提供者 (AWS CLI)

您可以使用以下 AWS CLI 命令,建立及管理 IAM OIDC 身分提供者。

建立 OIDC 身分提供者 (AWS CLI)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請執行下列命令:

  2. 若要建立新的 IAM OIDC 身分提供者,請執行下列命令:

更新現有 IAM OIDC 身分提供者的伺服器憑證指紋清單 (AWS CLI)

標記現有的 IAM OIDC 身分提供者 (AWS CLI)

列出現有 IAM OIDC 身分提供者 (AWS CLI) 的標籤

移除 IAM OIDC 身分提供者 (AWS CLI) 的標籤

標記現有的 IAM OIDC 身分提供者 (AWS CLI)

列出現有 IAM OIDC 身分提供者 (AWS CLI) 的標籤

移除 IAM OIDC 身分提供者 (AWS CLI) 的標籤

從現有 IAM OIDC 身分提供者新增或移除用戶端 ID (AWS CLI API)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請執行下列命令:

  2. (選用) 若要取得有關 IAM OIDC 身分提供者的詳細資訊,請執行下列命令:

  3. 若要將新的用戶端 ID 新增到現有 IAM OIDC 身分提供者,請執行下列命令:

  4. 若要從現有 IAM OIDC 身分提供者中移除用戶端,請執行下列命令:

若要刪除 IAM OIDC 身分提供者 (AWS CLI)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請執行下列命令:

  2. (選用) 若要取得有關 IAM OIDC 身分提供者的詳細資訊,請執行下列命令:

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

建立及管理 OIDC 身分提供者 (AWS API)

您可以使用以下 IAM API 命令來建立及管理 OIDC 提供者。

建立 OIDC 身分提供者 (AWS API)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請呼叫下列操作:

  2. 若要建立新的 IAM OIDC 身分提供者,請呼叫下列操作:

更新現有 IAM OIDC 身分提供者的伺服器憑證指紋清單 (AWS API)

標記現有 IAM OIDC 身分提供者 (AWS API)

列出現有 IAM OIDC 身分提供者 (AWS API) 的標籤

移除現有 IAM OIDC 身分提供者 (AWS API) 的標籤

標記現有 IAM OIDC 身分提供者 (AWS API)

列出現有 IAM OIDC 身分提供者 (AWS API) 的標籤

移除現有 IAM OIDC 身分提供者 (AWS API) 的標籤

從現有 IAM OIDC 身分提供者新增或移除用戶端 ID (AWS API)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請呼叫下列操作:

  2. (選用) 若要取得有關 IAM OIDC 身分提供者的詳細資訊,請呼叫下列操作:

  3. 若要將新的用戶端 ID 新增到現有 IAM OIDC 身分提供者,請呼叫下列操作:

  4. 若要從現有 IAM OIDC 身分提供者中移除用戶端 ID,請呼叫下列操作:

刪除 OIDC 身分提供者 (AWS API)

  1. (選用) 若要取得 AWS 帳戶中所有 IAM OIDC 身分提供者的清單,請呼叫下列操作:

  2. (選用) 若要取得有關 IAM OIDC 身分提供者的詳細資訊,請呼叫下列操作:

  3. 若要刪除 IAM OIDC 身分提供者,請呼叫下列操作: