預設憑證提供者鏈 - AWS SDK for Java 2.x

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

預設憑證提供者鏈

預設憑證提供者鏈由 DefaultCredentialsProvider類別實作。它會依序檢查每個您可以設定預設組態以提供臨時憑證的位置,然後選擇您設定的第一個。

若要使用預設憑證提供者鏈來提供臨時憑證,請建立服務用戶端建置器,但不指定憑證提供者。下列程式碼片段會建立 DynamoDbClient,使用預設憑證提供者鏈來尋找和擷取預設組態設定。

Region region = Region.US_WEST_2; DynamoDbClient ddb = DynamoDbClient.builder() .region(region) .build();

憑證設定擷取順序

SDK 適用於 Java 2.x 的預設憑證提供者鏈會使用預先定義的序列搜尋環境中的組態。

  1. Java 系統屬性

    • SDK 使用 SystemPropertyCredentialsProvider類別從 aws.accessKeyIdaws.secretAccessKeyaws.sessionToken Java 系統屬性載入臨時憑證。

      注意

      如需有關如何設定 Java 系統屬性的資訊,請參閱官方 Java 教學課程網站上的 System Properties 教學課程。

  2. 環境變數

  3. Web 身分字符來自 AWS Security Token Service

  4. 共用 credentialsconfig 檔案

    • SDK 使用 ProfileCredentialsProvider,從共用credentialsconfig檔案中的[default]設定檔載入 IAM Identity Center 單一登入設定或暫時憑證。

      和 AWS SDKs工具參考指南提供有關 SDK 適用於 Java 如何與 IAM Identity Center 單一登入權杖搭配使用的詳細資訊,以取得 SDK用來呼叫 的臨時憑證 AWS 服務。

      注意

      credentialsconfig 檔案由各種 AWS SDKs 和 工具共用。如需詳細資訊,請參閱 和 工具參考指南中的 .aws/credentials and .aws/config 檔案。 AWS SDKs

  5. Amazon ECS 容器憑證

    • SDK 使用 ContainerCredentialsProvider類別從下列環境變數載入臨時憑證:

      AWS_CONTAINER_CREDENTIALS_RELATIVE_URIAWS_CONTAINER_CREDENTIALS_FULL_URI

      AWS_CONTAINER_AUTHORIZATION_TOKEN_FILEAWS_CONTAINER_AUTHORIZATION_TOKEN

  6. Amazon EC2 執行個體IAM角色提供的憑證