本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OIDC 聯合身分
假設您正在建立存取 AWS 資源的應用程式,例如使用工作流程存取 Amazon S3 和 DynamoDB 的 GitHub 動作。
當您使用這些工作流程時,您可以向必須使用 AWS 存取金鑰簽署的 AWS 服務提出請求。不過,我們強烈建議您不要將 AWS 登入資料長期存放在 以外的應用程式中 AWS。反之,請設定您的應用程式,在需要時使用 OIDC 聯合動態請求臨時 AWS 安全登入資料。提供的臨時登入資料會對應至只有執行應用程式所需任務所需許可 AWS 的角色。
有了 OIDC 聯合身分,您就不需要建立自訂登入代碼,或管理您自己的使用者身分。相反,您可以在 GitHub Actions 或任何其他 OpenID Connect (OIDC) 相容 IdP 等應用程式中使用 OIDC,以透過 AWS進行驗證。他們會收到稱為 JSON Web 權杖 (JWT) 的身分驗證權杖,然後將該權杖交換為 中的臨時安全登入資料 AWS ,該登入資料對應至具有在您的 中使用特定資源許可的 IAM 角色 AWS 帳戶。使用 IdP 可協助您保持 AWS 帳戶 安全,因為您不必將長期安全登入資料與應用程式一起嵌入和分發。
OIDC 聯合身分支援機器對機器身分驗證 (例如 CI/CD 管道、自動化指令碼和無伺服器應用程式) 和人類使用者身分驗證。對於需要管理使用者註冊、登入和使用者設定檔的人類使用者身分驗證案例,請考慮使用 Amazon Cognito
注意
OpenID Connect (OIDC) 身分提供者發行的 JSON Web 權杖 (JWT) 在 exp 宣告中包含過期時間,指定權杖何時過期。IAM 提供超過 JWT 中所指定過期時間的五分鐘時段,以考量 OpenID Connect (OIDC) Core 1.0 標準
OIDC 聯合身分的其他資源
下列資源可協助您進一步了解 OIDC 聯合身分:
-
透過在 Amazon Web Services 中設定 OpenID Connect
,在 GitHub 工作流程內使用 OpenID Connect -
適用於 Android 的 Amplify 程式庫指南中的 Amazon Cognito 身分
和適用於 Swift 的 Amplify 程式庫指南中的 Amazon Cognito 身分 。 -
如何在AWS 安全部落格上授予 AWS 資源的存取權時使用外部 ID
,提供安全設定跨帳戶存取和外部聯合身分的指導。