本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
容器憑證提供者
注意
如需了解設定頁面配置或解譯 Support AWS SDKs和後續工具資料表的說明,請參閱 了解本指南的設定頁面。
容器憑證提供者會為客戶的容器化應用程式擷取憑證。此登入資料提供者對於 Amazon Elastic Container Service (Amazon ECS) 和 Amazon Elastic Kubernetes Service (Amazon EKS) 客戶很有用。SDKs會嘗試透過 GET 請求從指定的 HTTP 端點載入登入資料。
如果您使用 Amazon ECS,我們建議您使用任務 IAM 角色來改善登入資料隔離、授權和可稽核性。設定後,Amazon ECS 會設定軟體SDKs和工具用來取得憑證AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
的環境變數。若要為此功能設定 Amazon ECS,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務 IAM 角色。
如果您使用 Amazon EKS,我們建議您使用 Amazon EKS Pod Identity 來改善登入資料隔離、最低權限、可稽核性、獨立操作、可重複使用性和可擴展性。您的 Pod 和 IAM 角色都與 Kubernetes 服務帳戶相關聯,以管理應用程式的登入資料。若要進一步了解 Amazon EKS Pod Identity,請參閱《Amazon EKS 使用者指南》中的 Amazon EKS Pod Identity。 設定後,Amazon EKS 會設定SDKsAWS_CONTAINER_CREDENTIALS_FULL_URI
和工具用來取得憑證的 和 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
環境變數。如需設定資訊,請參閱 Amazon EKS 使用者指南中的設定 Amazon EKS Pod Identity Agent 或 Amazon EKS Pod Identity 可簡化部落格網站上的 Amazon EKS 叢集應用程式 IAM 許可
使用下列設定此功能:
AWS_CONTAINER_CREDENTIALS_FULL_URI
- 環境變數-
指定 SDK 在請求登入資料時要使用的完整 HTTP URL 端點。這包括 配置和 主機。
預設值:無。
有效值:有效 URI。
注意:此設定是 的替代方案
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
,只有在AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
未設定 時才會使用。透過命令列設定環境變數的 Linux/macOS 範例:
export AWS_CONTAINER_CREDENTIALS_FULL_URI=
http://localhost/get-credentials
或
export AWS_CONTAINER_CREDENTIALS_FULL_URI=
http://localhost:8080/get-credentials
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
- 環境變數-
指定 SDK 在請求登入資料時要使用的相對 HTTP URL 端點。該值會附加到 的預設 Amazon ECS 主機名稱
169.254.170.2
。預設值:無。
有效值:有效的相對 URI。
透過命令列設定環境變數的 Linux/macOS 範例:
export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=
/get-credentials?a=1
AWS_CONTAINER_AUTHORIZATION_TOKEN
- 環境變數-
以純文字指定授權字符。如果設定此變數,軟體開發套件會在 HTTP 請求上設定授權標頭,並具有環境變數的值。
預設值:無。
有效值:字串。
注意:此設定是 的替代方案
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
,只有在AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
未設定 時才會使用。透過命令列設定環境變數的 Linux/macOS 範例:
export AWS_CONTAINER_CREDENTIALS_FULL_URI=
http://localhost/get-credential
export AWS_CONTAINER_AUTHORIZATION_TOKEN=Basic abcd
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
- 環境變數-
指定檔案的絕對檔案路徑,其中包含純文字的授權字符。
預設值:無。
有效值:字串。
透過命令列設定環境變數的 Linux/macOS 範例:
export AWS_CONTAINER_CREDENTIALS_FULL_URI=
http://localhost/get-credential
export AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE=/path/to/token
支援 AWS SDKs和工具
下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 AWS SDK for Java 和 適用於 Kotlin 的 AWS SDK 僅支援任何 JVM 系統屬性設定。
SDK | 支援 | 備註或更多資訊 |
---|---|---|
AWS CLI v2 | 是 | |
適用於 C++ 的 SDK | 是 | |
SDK for Go V2 (1.x) |
是 | |
適用於 Go 的 SDK 1.x (V1) | 是 | |
適用於 Java 的 SDK 2.x | 是 | 當 Lambda SnapStart 啟用時, AWS_CONTAINER_CREDENTIALS_FULL_URI AWS_CONTAINER_AUTHORIZATION_TOKEN 會自動用於身分驗證。 |
適用於 Java 的 SDK 1.x | 是 | 當 Lambda SnapStart 啟用時, AWS_CONTAINER_CREDENTIALS_FULL_URI AWS_CONTAINER_AUTHORIZATION_TOKEN 會自動用於身分驗證。 |
適用於 JavaScript 3.x 的 SDK | 是 | |
適用於 JavaScript 2.x 的 SDK | 是 | |
適用於 Kotlin 的 SDK | 是 | |
適用於 .NET 3.x 的 SDK | 是 | 當 Lambda SnapStart 啟用時, AWS_CONTAINER_AUTHORIZATION_TOKEN AWS_CONTAINER_CREDENTIALS_FULL_URI 會自動用於身分驗證。 |
適用於 PHP 3.x 的 SDK | 是 | |
適用於 Python 的 SDK (Boto3) |
是 | 當 Lambda SnapStart 啟用時, AWS_CONTAINER_CREDENTIALS_FULL_URI AWS_CONTAINER_AUTHORIZATION_TOKEN 會自動用於身分驗證。 |
適用於 Ruby 的 SDK 3.x | 是 | |
適用於 Rust 的 SDK | 是 | |
適用於 Swift 的 SDK | 是 | |
PowerShell 的工具 | 是 |