共有 OIDC プロバイダーの ID プロバイダーコントロール
認識された共有 OpenID Connect (OIDC) の ID プロバイダー (IdP) の場合、IAM はロール信頼ポリシーで特定の請求を明示的に評価することが必要になります。ID プロバイダーコントロールと呼ばれるこれらの必要な請求は、ロールの作成時および信頼ポリシーの更新時に IAM によって評価されます。ロール信頼ポリシーが共有 OIDC IdP によって求められるコントロールを評価しない場合、ロール作成または更新は失敗します。対象組織の承認された ID のみがロールを引き受けて AWS リソースにアクセスできるようにします。このセキュリティコントロールは、OIDC プロバイダーが複数の AWS 顧客間で共有される場合は不可欠です。
既存の OIDC ロール信頼ポリシーの場合、ID プロバイダーコントロールは IAM によって評価されません。既存の OIDC ロールのロール信頼ポリシーを変更する場合、IAM によって ID プロバイダーコントロールがロール信頼ポリシーに含まれることが必要になります。
OIDC プロバイダータイプ
IAM により、OIDC ID プロバイダーはプライベートおよび共有という 2 つの異なるタイプに分類されます。プライベート OIDC IdP は、1 つの組織によって所有および管理することができます。また、SaaS プロバイダーのテナントになることもでき、OIDC 発行者 URL は組織固有の一意の識別子として機能します。対照的に、共有 OIDC IdP は複数の組織間で使用され、OIDC 発行者 URL は共有 ID プロバイダーを使用するすべての組織で同じである可能性があります。
以下のテーブルでは、プライベート OIDC プロバイダーと共有 OIDC プロバイダーの主な違いの概要が示されます。
特徴 | プライベート OIDC プロバイダー | 共有 OIDC プロバイダー |
---|---|---|
Issuer |
組織に固有 |
複数の組織間で共有 |
テナンシー情報 |
一意の発行者を通じて通信される |
JWT で請求を通じて通信される |
信頼ポリシーの要件 |
特定の請求評価は不要 |
特定の請求の評価が必要 |
ID プロバイダーコントロールを備えた共有 OIDC ID プロバイダー
IAM で OIDC プロバイダーを作成または変更すると、システムは認識された共有 OIDC プロバイダーに必要な請求を自動的に特定して評価します。ID プロバイダーコントロールがロール信頼ポリシーで設定されていない場合、ロール作成または更新は MalformedPolicyDocument エラーで失敗します。
次のテーブルでは、ロール信頼ポリシーで ID プロバイダーコントロールを必要とする共有 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 とトークンの比較 |
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 の場合、ロール信頼ポリシーに必要な ID プロバイダーコントロールは文書化され、同様の方法で実施されます。
追加リソース
その他のリソース:
-
OIDC フェデレーション用に IAM ロールを作成する方法の詳細については、「OpenID Connect フェデレーション用のロールを作成する (コンソール)」を参照してください。
-
クレームに使用できる IAM 条件キーのリストについては、「OIDC AWS フェデレーションで使用できるキー」を参照してください。