

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# OIDC 聯合身分
<a name="id_roles_providers_oidc"></a>

假設您正在建立存取 AWS 資源的應用程式，例如使用工作流程存取 Amazon S3 和 DynamoDB 的 GitHub 動作。

當您使用這些工作流程時，您可以向必須使用 AWS 存取金鑰簽署的 AWS 服務提出請求。不過，我們**強烈建議**您**不要**將 AWS 登入資料長期存放在 以外的應用程式中 AWS。反之，請設定您的應用程式，在需要時使用 *OIDC 聯合*動態請求臨時 AWS 安全登入資料。提供的臨時登入資料會對應至只有執行應用程式所需任務所需許可 AWS 的角色。

有了 OIDC 聯合身分，您就不需要建立自訂登入代碼，或管理您自己的使用者身分。相反，您可以在 GitHub Actions 或任何其他 [OpenID Connect (OIDC)](http://openid.net/connect/) 相容 IdP 等應用程式中使用 OIDC，以透過 AWS進行驗證。他們會收到稱為 JSON Web 權杖 (JWT) 的身分驗證權杖，然後將該權杖交換為 中的臨時安全登入資料 AWS ，該登入資料對應至具有在您的 中使用特定資源許可的 IAM 角色 AWS 帳戶。使用 IdP 可協助您保持 AWS 帳戶 安全，因為您不必將長期安全登入資料與應用程式一起嵌入和分發。

OIDC 聯合身分支援機器對機器身分驗證 (例如 CI/CD 管道、自動化指令碼和無伺服器應用程式) 和人類使用者身分驗證。對於需要管理使用者註冊、登入和使用者設定檔的人類使用者身分驗證案例，請考慮使用 [Amazon Cognito](https://aws.amazon.com/cognito/) 作為身分經紀人。如需有關將 Amazon Cognito 與 OIDC 搭配使用的詳細資訊，請參閱[用於行動應用程式的 Amazon Cognito](id_federation_common_scenarios.md#id_roles_providers_oidc_cognito)。

**注意**  
OpenID Connect (OIDC) 身分提供者發行的 JSON Web 權杖 (JWT) 在 `exp` 宣告中包含過期時間，指定權杖何時過期。IAM 提供超過 JWT 中所指定過期時間的五分鐘時段，以考量 [OpenID Connect (OIDC) Core 1.0 標準](https://openid.net/specs/openid-connect-core-1_0.html)允許的時鐘誤差。這意味著 IAM 在過期時間後，但在此五分鐘時段內收到的 OIDC JWT 被接受，以進行進一步評估和處理。

**Topics**
+ [OIDC 聯合身分的其他資源](#id_roles_providers_oidc_resources)
+ [在 IAM 中建立 OpenID Connect (OIDC) 身分提供者](id_roles_providers_create_oidc.md)
+ [取得 OpenID Connect 身分提供者的指紋](id_roles_providers_create_oidc_verify-thumbprint.md)
+ [共用 OIDC 提供者的身分提供者控制項](id_roles_providers_oidc_secure-by-default.md)

## OIDC 聯合身分的其他資源
<a name="id_roles_providers_oidc_resources"></a>

下列資源可協助您進一步了解 OIDC 聯合身分：
+ 透過[在 Amazon Web Services 中設定 OpenID Connect](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)，在 GitHub 工作流程內使用 OpenID Connect
+ *適用於 Android 的 Amplify 程式庫指南*中的 [Amazon Cognito 身分](https://docs.amplify.aws/lib/auth/advanced/q/platform/android/)和*適用於 Swift 的 Amplify 程式庫指南*中的 [Amazon Cognito 身分](https://docs.amplify.aws/lib/auth/advanced/q/platform/ios/)。
+ 如何在*AWS 安全部落格*上[授予 AWS 資源的存取權時使用外部 ID](https://aws.amazon.com/blogs/security/how-to-use-external-id-when-granting-access-to-your-aws-resources/)，提供安全設定跨帳戶存取和外部聯合身分的指導。