

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

# 為 OIDC 探索建立 VPC AWS STS 端點
<a name="reference_sts_oidc_vpc_endpoint_create"></a>

AWS Security Token Service (AWS STS) OIDC 探索是一對公有端點，提供依賴各方驗證傳[出聯合身分](id_roles_providers_outbound.md)所發行 JSON Web 權杖 (JWTs) 所需的中繼資料和驗證金鑰。

當您啟用傳出聯合身分時， 會 AWS STS 發佈帳戶特定的發行者 URL。此 URL 託管兩個 OpenID Connect (OIDC) 探索端點。依賴方擷取這些端點，以取得驗證 JWTs [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) 問題所需的中繼資料和公有金鑰：
+ `{issuer_url}/.well-known/openid-configuration` — OIDC 探索文件
+ `{issuer_url}/.well-known/jwks.json` — 包含字符簽章驗證金鑰的 JSON Web 金鑰集 (JWKS)

根據預設，從 VPC 到達這些端點需要網際網路閘道、NAT 裝置、VPN 連接或連線。若要改為在 AWS 網路上保留此流量，請為 STS OIDC 探索端點建立介面 VPC 端點。

**注意**  
STS OIDC 探索端點僅提供上述兩個端點。它不提供任何 AWS STS API 操作。若要私下呼叫 `GetWebIdentityToken`、 `AssumeRole`或任何其他 AWS STS 操作，請使用 `com.amazonaws.{{region}}.sts`端點服務。請參閱 [建立 的 VPC 端點 AWS STS](reference_sts_vpc_endpoint_create.md)。

## 選擇正確的端點服務
<a name="reference_sts_oidc_vpc_endpoint_choosing"></a>

傳出聯合身分使用兩個不同的網路路徑。大多數同時具有最低和驗證權杖的工作負載都需要兩個端點服務。


| 任務 | 端點服務 | 身分驗證 | 
| --- | --- | --- | 
| 減少 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 | 無 （未驗證） | 

如果驗證字符的唯一方是外部服務，則不需要 STS OIDC 探索端點 AWS。此服務會透過公有網際網路擷取發行者 URL，其流量不會進入您的 VPC。

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

在為 STS OIDC 探索建立介面 VPC 端點之前，請考慮下列事項。
+ **不支援 VPC 端點政策。**這兩個探索 APIs都提供可公開取得的資料，而 STS OIDC 探索端點不會強制執行 VPC 端點政策。使用安全群組和子網路放置來控制哪些資源可以到達端點。
+ **只會提供兩個路徑。**端點`/.well-known/jwks.json`僅接受對 `/.well-known/openid-configuration`和 的 HTTPS `GET`請求。所有其他路徑和方法都會傳回錯誤。

## 為 STS OIDC 探索建立介面 VPC 端點
<a name="reference_sts_oidc_vpc_endpoint_creating"></a>

您可以使用 Amazon Virtual Private Cloud 主控台或 ，為 STS OIDC 探索端點建立 VPC 端點 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 提供探索請求。在驗證者執行的區域中建立端點；每個發行者帳戶不需要一個端點。