共用 OIDC 提供者的身分提供者控制項 - AWS Identity and Access Management

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

共用 OIDC 提供者的身分提供者控制項

對於已辨識的共用 OpenID Connect (OIDC) 身分提供者 (IdP),IAM 需要明確評估角色信任政策中的特定宣告。這些必要宣告稱為身分提供者控制項,由 IAM 在角色建立和信任政策更新期間進行評估。如果角色信任政策未評估共用 OIDC IdP 所需的控制項,角色建立或更新將會失敗。這可確保只有來自預期組織的授權身分才能擔任角色和存取 AWS 資源。當 OIDC 提供者在多個 AWS 客戶之間共用時,此安全控制項至關重要。

對於現有的 OIDC 角色信任政策,IAM 不會評估身分提供者控制項。現有 OIDC 角色若要對角色信任政策進行任何修改,IAM 將要求其在角色信任政策中包含身分提供者控制項。

OIDC 提供者類型

IAM 將 OIDC 身分提供者分類為兩種不同的類型:私有共用。私有 OIDC IdP 可由單一組織擁有和管理,也可以是 SaaS 提供者的租用戶,其 OIDC 發行者 URL 可作為該組織特有的唯一識別碼。相比之下,共用的 OIDC IdP 可在多個組織之間使用,對於使用該共用身分提供者的所有組織,OIDC 發行者 URL 可能相同。

下表概述了私有和共用 OIDC 提供者之間的主要差異:

特性 私有 OIDC 提供者 共用 OIDC 提供者

發行者

組織獨有

在多個組織間共用

租用資訊

透過唯一發行者傳達

透過 JWT 中的宣告傳達

信任政策需求

不需要評估特定宣告

需要評估特定宣告

具有身分提供者控制項的共用 OIDC 身分提供者

在 IAM 中建立或修改 OIDC 提供者時,系統會自動識別並評估已辨識之共用 OIDC 提供者所需的宣告。如果未在角色信任政策中設定身分提供者控制項,則角色建立或更新將會失敗,並發生 MalformedPolicyDocument 錯誤。

下表列出了需要在角色信任政策中使用身分提供者控制項的共用 OIDC 提供者,以及有助於設定身分提供者控制項的其他資訊。

OIDC IdP OIDC URL 租用宣告 必要宣告
Amazon Cognito

cognito-identity.amazonaws.com

aud

cognito-identity.amazonaws.com:aud

Azure Sentinel https://sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d sts:RoleSessionName sts:RoleSessionName
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 actions https://token.actions.githubusercontent.com sub token.actions.githubusercontent.com:sub
GitHub audit log streaming 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*
  • https://rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7

  • https://rh-oidc.s3.us-east-1.amazonaws.com/23e3sd27sju1hoou6ohfs68vbno607tr

  • https://rh-oidc.s3.us-east-1.amazonaws.com/23ne21h005qjl3n33d8dui5dlrmv2tmg

  • https://rh-oidc.s3.us-east-1.amazonaws.com/24jrf12m5dj7ljlfb4ta2frhrcoadm26

  • https://oidc.op1.openshiftapps.com/2f785sojlpb85i7402pk3qogugim5nfb

  • https://oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu

sub
  • rh-oidc.s3.us-east-1.amazonaws.com/22ejnvnnturfmt6km08idd0nt4hekbn7:sub

  • rh-oidc.s3.us-east-1.amazonaws.com/23e3sd27sju1hoou6ohfs68vbno607tr:sub

  • rh-oidc.s3.us-east-1.amazonaws.com/23ne21h005qjl3n33d8dui5dlrmv2tmg:sub

  • rh-oidc.s3.us-east-1.amazonaws.com/24jrf12m5dj7ljlfb4ta2frhrcoadm26:sub

  • oidc.op1.openshiftapps.com/2f785sojlpb85i7402pk3qogugim5nfb:sub

  • oidc.op1.openshiftapps.com/2c51blsaqa9gkjt0o9rt11mle8mmropu:sub

Pulumi Cloud https://api.pulumi.com/oidc aud api.pulumi.com/oidc:aud
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
Vercel global endpoint https://oidc.vercel.com aud oidc.vercel.com:aud

* IBM Turbonomic 會隨平台新版本定期更新其 OIDC 發行者 URL。我們會視需要將範圍內的其他 Turbonomic OIDC 發行者新增為共用提供者。

對於 IAM 識別為共用的任何新 OIDC IdP,將以類似方式記錄和強制執行角色信任政策所需的身分提供者控制項。

其他資源

其他資源: