

# AWS STS OIDC 検出用の VPC エンドポイントを作成する
<a name="reference_sts_oidc_vpc_endpoint_create"></a>

AWS Security Token Service (AWS STS) OIDC 検出は、[アウトバウンド ID フェデレーション](id_roles_providers_outbound.md) によって発行された JSON ウェブトークン (JWT) を検証するために証明書利用者が必要とするメタデータと検証キーを提供するパブリックエンドポイントのペアです。

アウトバウンド ID フェデレーションを有効にすると、AWS STS はアカウント固有の発行者 URL を発行します。この URL は、2 つの OpenID Connect (OIDC) 検出エンドポイントをホストします。証明書利用者はこれらのエンドポイントを取得して、[GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) が発行する JWT を検証するために必要なメタデータとパブリックキーを取得します。
+ `{issuer_url}/.well-known/openid-configuration` — OIDC 検出ドキュメント
+ `{issuer_url}/.well-known/jwks.json` — トークン署名検証キーを含む JSON ウェブキーセット (JWKS)

デフォルトは、VPC からこれらのエンドポイントにアクセスするには、インターネットゲートウェイ、NAT デバイス、VPN 接続、または 接続を必要とします。代わりにこのトラフィックを AWS ネットワーク内に保持するには、STS OIDC 検出エンドポイント用のインターフェイス VPC エンドポイントを作成します。

**注記**  
STS OIDC 検出エンドポイントは、上記の 2 つのエンドポイントのみを提供します。AWS STS API オペレーションは提供されません。`GetWebIdentityToken`、`AssumeRole`、またはその他の AWS STS オペレーションをプライベートに呼び出すには、`com.amazonaws.{{region}}.sts` エンドポイントサービスを使用します。「[AWS STS の VPC エンドポイントを作成する](reference_sts_vpc_endpoint_create.md)」を参照してください。

## 適切なエンドポイントサービスの選択
<a name="reference_sts_oidc_vpc_endpoint_choosing"></a>

アウトバウンド ID フェデレーションは、2 つの異なるネットワークパスを使用します。トークンの発行と検証の両方を行うほとんどのワークロードには、両方のエンドポイントサービスが必要です。


| タスク | エンドポイントサービス | 認証 | 
| --- | --- | --- | 
| JWT を発行する (sts:GetWebIdentityToken) | com.amazonaws.{{region}}.sts | AWS SigV4 | 
| 読み取り /.well-known/openid-configuration | com.amazonaws.{{region}}.sts-oidc | なし (未認証) | 
| 読み取り /.well-known/jwks.json | com.amazonaws.{{region}}.sts-oidc | なし (未認証) | 

トークンを検証する唯一の当事者が AWS 外部のサービスである場合、STS OIDC 検出エンドポイントは必要ありません。このサービスは、パブリックインターネット経由で発行者 URL を取得するため、そのトラフィックは VPC に入りません。

## 考慮事項
<a name="reference_sts_oidc_vpc_endpoint_considerations"></a>

STS OIDC 検出用のインターフェイス VPC エンドポイントを作成する前に、以下の点を考慮してください。
+ **VPC エンドポイントポリシーはサポートされません。**どちらの検出 API も公開されているデータを提供し、STS OIDC 検出エンドポイントは VPC エンドポイントポリシーを適用しません。セキュリティグループとサブネットの配置を使用して、エンドポイントに到達できるリソースを制御します。
+ **2 つのパスのみが提供されます。**エンドポイントは、`/.well-known/openid-configuration` および `/.well-known/jwks.json` への HTTPS `GET` リクエストのみを受け入れます。他のすべてのパスとメソッドはエラーを返します。

## STS OIDC 検出用のインターフェイス VPC エンドポイントの作成
<a name="reference_sts_oidc_vpc_endpoint_creating"></a>

STS OIDC 検出エンドポイント用の VPC エンドポイントは、Amazon Virtual Private Cloud コンソールまたは AWS Command Line Interface を使用して作成できます。詳細については、「*Amazon VPC ユーザーガイド*」の「[インターフェイス VPC エンドポイントを使用して AWS のサービスにアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

STS OIDC 検出用の VPC エンドポイントを作成するには、次のサービス名を使用します。
+ `com.amazonaws.{{region}}.sts-oidc`

エンドポイントのプライベート DNS を有効にすると、`sts-oidc.{{region}}.amazonaws.com` にリクエストを送信でき、VPC 内のエンドポイントのネットワークインターフェイスに解決されます。

## エンドポイントを介したリクエストの送信
<a name="reference_sts_oidc_vpc_endpoint_sending_requests"></a>

VPC 内の証明書利用者が JWT を検証する必要がある場合、発行者 URL から OIDC 検出ドキュメントと JWKS を取得します。発行者のホスト名 (`{{uuid}}.tokens.sts.global.api.aws` など) はエンドポイント (`sts-oidc.{{region}}.amazonaws.com`) とは異なるドメインを使用するため、デフォルトでは VPC エンドポイントに解決されません。

発行者のホスト名へのリクエストをエンドポイント経由でルーティングするには、発行者のホスト名の Amazon Route 53 プライベートホストゾーンを作成し、VPC エンドポイントを指すエイリアスレコードを追加します。ホストゾーンを作成すると、VPC 内のリソースは発行者のホスト名をエンドポイントのネットワークインターフェイスに解決します。その後、標準の OIDC ライブラリはコードを変更せずに検出ドキュメントを取得できます。プライベートホストゾーンの作成の詳細については、*Amazon Route 53 開発者ガイド*の「[プライベートホストゾーンの使用](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)」を参照してください。

**注記**  
エンドポイントサービスはリージョン固有ですが、単一のエンドポイントがパーティション内の任意の発行者 UUID に対する検出リクエストを処理します。検証を実行するリージョンにエンドポイントを作成します。発行者アカウントごとにエンドポイントを作成する必要はありません。