OIDC 联合身份验证
假设您要创建一个访问 AWS 资源的应用程序,例如使用工作流访问 Amazon S3 和 DynamoDB 的 GitHub Actions。
当您使用这些工作流时,将向必须使用 AWS 访问密钥进行签名的 AWS 服务提出请求。但是,我们强烈建议您不要将 AWS 凭证长期存储在 AWS 之外的应用程序中。相反,使用 OIDC 联合身份验证将应用程序配置为在需要时动态请求临时 AWS 安全凭证。提供的临时凭证会映射到一个 AWS 角色,该角色将只拥有执行该应用程序所需任务的必要权限。
借助 OIDC 联合身份验证,您不需要创建自定义登录代码或管理自己的用户身份。相反,您可以在应用程序(例如 GitHub Actions 或任何其他兼容 OpenID Connect(OIDC)
对于大多数方案,我们建议您使用 Amazon Cognito
注意
由 OpenID Connect(OIDC)身份提供程序颁发的 JSON Web 令牌(JWT)在 exp
声明中包含指定令牌何时过期的过期时间。在 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 合作伙伴网络(APN)博客》中的 Automating OpenID Connect-Based AWS IAM Web Identity Roles with Microsoft Entra ID
演示了如何对使用机器对机器 OIDC 授权在 AWS 之外运行的自动化后台进程或应用程序进行身份验证。 -
Web Identity Federation with Mobile Applications
一文讨论 OIDC 联合身份验证,并通过一个示例,介绍如何使用 OIDC 联合身份验证获取 Amazon S3 中内容的访问权限。