本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 OIDC 探索建立 VPC AWS STS 端點
AWS Security Token Service (AWS STS) OIDC 探索是一對公有端點,提供依賴各方驗證傳出聯合身分所發行 JSON Web 權杖 (JWTs) 所需的中繼資料和驗證金鑰。
當您啟用傳出聯合身分時, 會 AWS STS 發佈帳戶特定的發行者 URL。此 URL 託管兩個 OpenID Connect (OIDC) 探索端點。依賴方擷取這些端點,以取得驗證 JWTs GetWebIdentityToken 問題所需的中繼資料和公有金鑰:
-
{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.端點服務。請參閱 建立 的 VPC 端點 AWS STS。region.sts
選擇正確的端點服務
傳出聯合身分使用兩個不同的網路路徑。大多數同時具有最低和驗證權杖的工作負載都需要兩個端點服務。
| 任務 | 端點服務 | 身分驗證 |
|---|---|---|
減少 JWT (sts:GetWebIdentityToken) |
com.amazonaws. |
AWS SigV4 |
讀取 /.well-known/openid-configuration |
com.amazonaws. |
無 (未驗證) |
讀取 /.well-known/jwks.json |
com.amazonaws. |
無 (未驗證) |
如果驗證字符的唯一方是外部服務,則不需要 STS OIDC 探索端點 AWS。此服務會透過公有網際網路擷取發行者 URL,其流量不會進入您的 VPC。
考量事項
在為 STS OIDC 探索建立介面 VPC 端點之前,請考慮下列事項。
-
不支援 VPC 端點政策。這兩個探索 APIs都提供可公開取得的資料,而 STS OIDC 探索端點不會強制執行 VPC 端點政策。使用安全群組和子網路放置來控制哪些資源可以到達端點。
-
只會提供兩個路徑。端點
/.well-known/jwks.json僅接受對/.well-known/openid-configuration和 的 HTTPSGET請求。所有其他路徑和方法都會傳回錯誤。
為 STS OIDC 探索建立介面 VPC 端點
您可以使用 Amazon Virtual Private Cloud 主控台或 ,為 STS OIDC 探索端點建立 VPC 端點 AWS Command Line Interface。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的使用介面 VPC 端點存取 AWS 服務。
使用下列服務名稱為 STS OIDC 探索建立 VPC 端點:
-
com.amazonaws.region.sts-oidc
如果您為端點啟用私有 DNS,您可以將請求傳送至 ,sts-oidc.它們將解析為您 VPC 內端點的網路介面。region.amazonaws.com
透過端點傳送請求
當 VPC 中的依賴方需要驗證 JWT 時,它會從發行者 URL 擷取 OIDC 探索文件和 JWKS。發行者主機名稱 (例如 ) 使用與端點 (uuid.tokens.sts.global.api.awssts-oidc.) 不同的網域,因此預設不會解析為 VPC 端點。region.amazonaws.com
若要透過端點路由發行者主機名稱的請求,請為您的發行者主機名稱建立 Amazon Route 53 私有託管區域,並新增指向 VPC 端點的別名記錄。建立託管區域之後,VPC 中的資源會將發行者主機名稱解析為端點的網路介面。然後,標準 OIDC 程式庫可以擷取沒有程式碼變更的探索文件。如需如何建立私有託管區域的詳細資訊,請參閱 Amazon Route 53 開發人員指南中的使用私有託管區域。
注意
端點服務是區域性的,但單一端點可為分割區中的任何發行者 UUID 提供探索請求。在驗證者執行的區域中建立端點;每個發行者帳戶不需要一個端點。