

# 共有 OIDC プロバイダーの ID プロバイダーコントロール
<a name="id_roles_providers_oidc_secure-by-default"></a>

認識された共有 OpenID Connect (OIDC) の ID プロバイダー (IdP) の場合、IAM はロール信頼ポリシーで特定の請求を明示的に評価することが必要になります。*ID プロバイダーコントロール*と呼ばれるこれらの必要な請求は、ロールの作成時および信頼ポリシーの更新時に IAM によって評価されます。ロール信頼ポリシーが共有 OIDC IdP によって求められるコントロールを評価しない場合、ロール作成または更新は失敗します。対象組織の承認された ID のみがロールを引き受けて AWS リソースにアクセスできるようにします。このセキュリティコントロールは、OIDC プロバイダーが複数の AWS 顧客間で共有される場合は不可欠です。



既存の OIDC ロール信頼ポリシーの場合、ID プロバイダーコントロールは IAM によって評価されません。既存の OIDC ロールのロール信頼ポリシーを変更する場合、IAM によって ID プロバイダーコントロールがロール信頼ポリシーに含まれることが必要になります。

## OIDC プロバイダータイプ
<a name="id_roles_providers_oidc_idp_types"></a>

IAM により、OIDC ID プロバイダーは**プライベート**および**共有**という 2 つの異なるタイプに分類されます。プライベート OIDC IdP は、1 つの組織によって所有および管理することができます。また、SaaS プロバイダーのテナントになることもでき、OIDC 発行者 URL は組織固有の一意の識別子として機能します。対照的に、共有 OIDC IdP は複数の組織間で使用され、OIDC 発行者 URL は共有 ID プロバイダーを使用するすべての組織で同じである可能性があります。

以下のテーブルでは、プライベート OIDC プロバイダーと共有 OIDC プロバイダーの主な違いの概要が示されます。


| 特性 | プライベート OIDC プロバイダー | 共有 OIDC プロバイダー | 
| --- | --- | --- | 
| Issuer  | 組織に固有 | 複数の組織間で共有 | 
| テナンシー情報 | 一意の発行者を通じて通信される | JWT で請求を通じて通信される | 
| 信頼ポリシーの要件 | 特定の請求評価は不要 | 特定の請求の評価が必要 | 

## ID プロバイダーコントロールを備えた共有 OIDC ID プロバイダー
<a name="id_roles_providers_oidc_idp_shared_oidc_secure_support"></a>

IAM で OIDC プロバイダーを作成または変更すると、システムは認識された共有 OIDC プロバイダーに必要な請求を自動的に特定して評価します。ID プロバイダーコントロールがロール信頼ポリシーで設定されていない場合、ロール作成または更新は MalformedPolicyDocument エラーで失敗します。

次の表は、ロール信頼ポリシーで ID プロバイダーコントロールを必要とする共有 OIDC プロバイダーとID プロバイダーコントロールの設定に役立つ追加情報を示します。


| OIDC IdP | OIDC URL | テナンシー請求 | 必要な請求 | 
| --- | --- | --- | --- | 
| [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html) | `cognito-identity.amazonaws.com` | aud | `cognito-identity.amazonaws.com:aud` | 
| [Azure Sentinel](https://learn.microsoft.com/en-us/azure/defender-for-cloud/sentinel-connected-aws) |  https://sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d  |  sts:RoleSessionName  |  sts:RoleSessionName  | 
| [Buildkite](https://buildkite.com/docs/pipelines/security/oidc/aws) |  https://agent.buildkite.com  | sub |  agent.buildkite.com:sub  | 
| [Codefresh SaaS](https://codefresh.io/docs/docs/integrations/oidc-pipelines/) | https://oidc.codefresh.io | sub |  oidc.codefresh.io:sub  | 
| [DVC Studio](https://dvc.org/doc/studio/user-guide/openid-connect) | https://studio.datachain.ai/api | sub |  studio.datachain.ai/api:sub  | 
| [GitHub アクション](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) | https://token.actions.githubusercontent.com | sub |  token.actions.githubusercontent.com:sub  | 
| [GitHub 監査ログストリーム](https://docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise) | https://oidc-configuration.audit-log.githubusercontent.com | sub |  oidc-configuration.audit-log.githubusercontent.com:sub  | 
| [GitHub とトークンの比較](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) | https://vstoken.actions.githubusercontent.com | sub |  vstoken.actions.githubusercontent.com:sub  | 
| [GitLab](https://docs.gitlab.com/ci/cloud_services/aws/) | https://gitlab.com | sub |  gitlab.com:sub  | 
| [IBM Turbonomic SaaS\*](https://www.ibm.com/docs/en/tarm/8.16.x?topic=turbonomic-setting-up-aws-iam-role-saas-deployments) |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_oidc_secure-by-default.html)  | sub |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers_oidc_secure-by-default.html)  | 
| [Pulumi Cloud](https://www.pulumi.com/docs/pulumi-cloud/deployments/oidc/aws/) | https://api.pulumi.com/oidc | aud |  api.pulumi.com/oidc:aud  | 
| [sandboxes.cloud](https://docs.sandboxes.cloud/docs/cloud-resources-setup) | https://sandboxes.cloud | aud |  sandboxes.cloud:aud  | 
| [Scalr](https://docs.scalr.io/docs/aws) | https://scalr.io | sub |  scalr.io:sub  | 
| [Shisho Cloud](https://shisho.dev/docs/g/getting-started/integrate-apps/aws/) | https://tokens.cloud.shisho.dev | sub |  tokens.cloud.shisho.dev:sub  | 
| [Terraform Cloud](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/aws-configuration) | https://app.terraform.io | sub |  app.terraform.io:sub  | 
| [Upbound](https://docs.upbound.io/providers/provider-aws/authentication/) | https://proidc.upbound.io | sub |  proidc.upbound.io:sub  | 
| [Vercel グローバルエンドポイント](https://vercel.com/docs/oidc/reference) | https://oidc.vercel.com | aud |  oidc.vercel.com:aud  | 

\* IBM Turbonomic は、プラットフォームの新しいバージョンを使用して OIDC 発行者 URL を定期的に更新します。必要に応じて、さらに Turbonomic OIDC 発行者を共有プロバイダーとして追加します。

IAM が共有バージョンとして識別する新しい OIDC IdP の場合、ロール信頼ポリシーに必要な ID プロバイダーコントロールは文書化され、同様の方法で実施されます。

## その他のリソース
<a name="concept_additional_resources"></a>

その他のリソース:
+ OIDC フェデレーション用に IAM ロールを作成する方法の詳細については、「[OpenID Connect フェデレーション用のロールを作成する (コンソール）](id_roles_create_for-idp_oidc.md)」を参照してください。
+ クレームに使用できる IAM 条件キーのリストについては、「[OIDC AWS フェデレーションで使用できるキー](reference_policies_iam-condition-keys.md#condition-keys-wif)」を参照してください。