認證提供者變更 - AWS SDK for Java 2.x

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

認證提供者變更

本節提供的認證提供者類別和方法的名稱變更對應。 AWS SDK for Java

顯著的差異

  • 預設登入資料提供者會在 2.x 版中先載入系統屬性,再載入環境變數。如需詳細資訊,請參閱使用認證

  • 建構函數方法被 createbuilder 方法取代。

    DefaultCredentialsProvider.create();
  • 預設值已不再是非同步重新整理。您必須以登入資料提供者的 builder 指定非同步重新整理。

    ContainerCredentialsProvider provider = ContainerCredentialsProvider.builder() .asyncCredentialUpdateEnabled(true) .build();
  • 您可以使用 ProfileCredentialsProvider.builder() 指定自訂設定檔的路徑。

    ProfileCredentialsProvider profile = ProfileCredentialsProvider.builder() .profileFile(ProfileFile.builder().content(Paths.get("myProfileFile.file")).build()) .build();
  • 設定檔格式已變更,以更符合 AWS CLI。如需詳細資訊,請參閱《使用指南》 AWS CLI中的AWS Command Line Interface 〈配置〉

認證提供者在版本 1.x 和 2.x 之間對應的變更

AWSCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.AWSCredentialsProvider software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
方法名稱 getCredentials resolveCredentials
不支援方法 refresh 不支援

DefaultAWSCredentialsProviderChain

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.DefaultAWSCredentialsProviderChain software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider
建立 new DefaultAWSCredentialsProviderChain DefaultCredentialsProvider.create
不支援方法 getInstance 不支援
外部設定的優先順序

系統屬性之前的環境變量

環境變量之前的系統屬性

AWSStaticCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.AWSStaticCredentialsProvider software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
建立 new AWSStaticCredentialsProvider StaticCredentialsProvider.create

EnvironmentVariableCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.EnvironmentVariableCredentialsProvider software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider
建立 new EnvironmentVariableCredentialsProvider EnvironmentVariableCredentialsProvider.create
環境變數名稱 AWS_ACCESS_KEY AWS_ACCESS_KEY_ID
AWS_SECRET_KEY AWS_SECRET_ACCESS_KEY

SystemPropertiesCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.SystemPropertiesCredentialsProvider software.amazon.awssdk.auth.credentials.SystemPropertyCredentialsProvider
建立 new SystemPropertiesCredentialsProvider SystemPropertiesCredentialsProvider.create
系統屬性名稱 aws.secretKey aws.secretAccessKey

ProfileCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.profile.ProfileCredentialsProvider software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider
建立 new ProfileCredentialsProvider ProfileCredentialsProvider.create
自訂設定檔的位置
  • AWS_CREDENTIAL_PROFILES_FILE 環境變數

  • new ProfileCredentialsProvider

  • AWS_SHARED_CREDENTIALS_FILE 環境變數

  • ProfileCredentialsProvider.builder

ContainerCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.ContainerCredentialsProvider software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider
建立 new ContainerCredentialsProvider ContainerCredentialsProvider.create
指定非同步刷新 不支援 預設行為

InstanceProfileCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.InstanceProfileCredentialsProvider software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider
建立 new InstanceProfileCredentialsProvider InstanceProfileCredentialsProvider.create
指定非同步刷新 new InstanceProfileCredentialsProvider(true)

InstanceProfilerCredentialProvider.builder().asyncCredentialUpdateEnabled(true).build()

系統屬性名稱 com.amazonaws.sdk.disableEc2Metadata aws.disableEc2Metadata
com.amazonaws.sdk.ec2MetadataServiceEndpointOverride aws.ec2MetadataServiceEndpoint

STSAssumeRoleSessionCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider
建立
  • new STSAssumeRoleSessionCredentialsProvider

  • new STSAssumeRoleSessionCredentialsProvider.Builder

StsAssumeRoleCredentialsProvider.builder
異步刷新 預設行為 預設行為
組態 new STSAssumeRoleSessionCredentialsProvider.Builder 配置StsClientAssumeRoleRequest請求

STSSessionCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.STSSessionCredentialsProvider software.amazon.awssdk.services.sts.auth.StsGetSessionTokenCredentialsProvider
建立

new STSAssumeRoleSessionCredentialsProvider

StsGetSessionTokenCredentialsProvider.builder
異步刷新 預設行為 StsGetSessionTokenCredentialsProvider.builder
組態 構造參數 在構建器中配置StsClientGetSessionTokenRequest請求

WebIdentityFederationSessionCredentialsProvider

變更類別 1.x 2.x
套件/類名稱 com.amazonaws.auth.WebIdentityFederationSessionCredentialsProvider software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider
建立

new WebIdentityFederationSessionCredentialsProvider

StsAssumeRoleWithWebIdentityCredentialsProvider.builder
異步刷新 預設行為 StsAssumeRoleWithWebIdentityCredentialsProvider.builder
組態 構造參數 在構建器中配置StsClientAssumeRoleWithWebIdentityRequest請求

已取代類別

1. X 級 2.x 取代類別
com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper software.amazon.awssdk.auth.credentials.ContainerCredentialsProvidersoftware.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider
com.amazonaws.services.s3.S3CredentialsProviderChain software.amazon.awssdk.auth.credentials.DefaultCredentialsProvidersoftware.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider

已移除類別

1. X 級
com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider
com.amazonaws.auth.PropertiesFileCredentialsProvider