OIDC 聯合身分 - AWS Identity and Access Management

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

OIDC 聯合身分

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

當您使用這些工作流程時,將對 AWS 服務發出請求,其必須使用 AWS 存取金鑰簽署。但是,強烈建議您不要將 AWS 憑證長期儲存在 AWS 以外的應用程式中。反之,設定您的應用程式,以在需要時使用 OIDC 聯合身分動態請求臨時 AWS 安全憑證。所提供的臨時憑證,對應至僅具有應用程式執行所需任務時需要的許可的 AWS 角色。

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

在大多數情況下,建議您使用 Amazon Cognito,因為它可以充當身分經紀人,並為您執行許多聯合工作。如需詳細資訊,請參閱下列章節:用於行動應用程式的 Amazon Cognito

注意

OpenID Connect (OIDC) 身分提供者發行的 JSON Web 權杖 (JWT) 在 exp 宣告中包含過期時間,指定權杖何時過期。IAM 提供超過 JWT 中所指定過期時間的五分鐘時段,以考量 OpenID Connect (OIDC) Core 1.0 標準允許的時鐘誤差。這意味著 IAM 在過期時間後,但在此五分鐘時段內收到的 OIDC JWT 被接受,以進行進一步評估和處理。

OIDC 聯合身分的其他資源

下列資源可協助您進一步了解 OIDC 聯合身分: