适用于共享 OIDC 提供者的身份提供者控制
对于公认的共享 OpenID Connect(OIDC)身份提供者(IdP),IAM 要求对角色信任策略中的特定声明进行明确评估。这些必需的声明名为身份提供者控制,由 IAM 在角色创建和信任策略更新期间进行评估。如果角色信任策略未对共享 OIDC IdP 所需的控制进行评估,则角色创建或更新将失败。这样可以确保,只有预期组织的授权身份才能代入角色和访问 Amazon 资源。这种安全控制在多个 Amazon 客户共享 OIDC 提供者时至关重要。
IAM 不会针对现有 OIDC 角色信任策略对身份提供者控制进行评估。对于针对现有 OIDC 角色的角色信任策略所进行的任何修改,IAM 将要求在角色信任策略中包含身份提供者控制。
OIDC 提供者类型
IAM 将 OIDC 身份提供者分为两种不同的类型:私有和共享。私有 OIDC IdP 可以由单个组织拥有和管理,也可以是 SaaS 提供商的租户,其 OIDC 颁发者 URL 是该组织特有的唯一标识符。相比之下,多个组织使用共享的 OIDC IdP,其中使用该共享身份提供者的所有组织的 OIDC 颁发者 URL 可能相同。
下表概述了私有和共享 OIDC 提供者之间的主要区别:
特征 | 私有 OIDC 提供者 | 共有 OIDC 提供者 |
---|---|---|
Issuer |
归组织独有 |
在多个组织之间共享 |
租赁信息 |
通过唯一的颁发者进行沟通 |
通过 JWT 中的声明进行沟通 |
信任策略要求 |
无需进行特定的声明评估 |
需要对特定声明进行评估 |
具有身份提供者控制的共享 OIDC 身份提供者
当您在 IAM 中创建或修改 OIDC 提供者时,系统会自动识别和评估公认的共享 OIDC 提供者所需的声明。如果未在角色信任策略中配置身份提供者控制,则角色创建或更新将失败,并出现 MalformedPolicyDocument 错误。
下表列出了在角色信任策略中需要身份提供者控制的共享 OIDC 提供者:
OIDC IdP | OIDC URL | 租赁声明 | 所需声明 |
---|---|---|---|
Buildkite |
https://agent.buildkite.com
|
sub |
agent.buildkite.com:sub
|
Codefresh SaaS |
https://oidc.codefresh.io |
sub |
oidc.codefresh.io:sub
|
DVC Studio |
https://studio.datachain.ai/api |
sub |
studio.datachain.ai/api:sub
|
GitHub 操作 |
https://token.actions.githubusercontent.com |
sub |
token.actions.githubusercontent.com:sub
|
GitHub 审核日志流式传输 |
https://oidc-configuration.audit-log.githubusercontent.com |
sub |
oidc-configuration.audit-log.githubusercontent.com:sub
|
GitHub vstoken |
https://vstoken.actions.githubusercontent.com |
sub |
vstoken.actions.githubusercontent.com:sub
|
GitLab |
https://gitlab.com |
sub |
gitlab.com:sub
|
IBM Turbonomic SaaS* |
|
sub |
|
sandboxes.cloud |
https://sandboxes.cloud |
aud |
sandboxes.cloud:aud
|
Scalr |
https://scalr.io |
sub |
scalr.io:sub
|
Shisho Cloud |
https://tokens.cloud.shisho.dev |
sub |
tokens.cloud.shisho.dev:sub
|
Terraform Cloud |
https://app.terraform.io |
sub |
app.terraform.io:sub
|
Upbound |
https://proidc.upbound.io |
sub |
proidc.upbound.io:sub
|
* IBM Turbonomic 定期使用该平台的新版本更新其 OIDC 颁发者 URL。我们将根据需要在范围内增加其他 Turbonomic OIDC 颁发者作为共享提供商。
对于 IAM 确定为共享的任何新的 OIDC IdP,将以类似的方式记录和执行角色信任策略所需的身份提供者控制。
其他资源
其他资源
-
有关如何为 OIDC 联合身份验证创建 IAM 角色的更多信息,请参阅 创建用于 OpenID Connect 联合身份验证(控制台)的角色。
-
有关可用于声明的 IAM 条件键的列表,请参阅 Amazon OIDC 联合身份验证的可用键。