diff --git a/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.cc b/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.cc index ccb866136af..11fc1cea34b 100644 --- a/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.cc +++ b/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.cc @@ -49,6 +49,7 @@ #include "tiledb/sm/filesystem/s3/STSCredentialsProvider.h" #include +#include #include #include #include @@ -80,6 +81,10 @@ DefaultAWSCredentialsProviderChain::DefaultAWSCredentialsProviderChain( // going to be added upstream soon with // https://github.com/aws/aws-sdk-cpp/pull/2860, let's not update it for now. AddProvider(make_shared(HERE())); + if (clientConfig) { + AddProvider(make_shared( + HERE(), clientConfig->credentialProviderConfig)); + } // General HTTP Credentials (prev. known as ECS TaskRole credentials) only // available when ENVIRONMENT VARIABLE is set diff --git a/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.h b/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.h index 63f42047451..3843f48d0f9 100644 --- a/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.h +++ b/tiledb/sm/filesystem/s3/AWSCredentialsProviderChain.h @@ -51,8 +51,8 @@ namespace tiledb::sm::filesystem::s3 { /** * Creates an AWSCredentialsProviderChain which uses in order * EnvironmentAWSCredentialsProvider, ProfileConfigFileAWSCredentialsProvider, - * ProcessCredentialsProvider, STSAssumeRoleWebIdentityCredentialsProvider and - * SSOCredentialsProvider. + * ProcessCredentialsProvider, STSAssumeRoleWebIdentityCredentialsProvider, + * SSOCredentialsProvider and LoginCredentialsProvider. */ class DefaultAWSCredentialsProviderChain : public Aws::Auth::AWSCredentialsProviderChain { @@ -60,8 +60,8 @@ class DefaultAWSCredentialsProviderChain /** * Initializes the provider chain with EnvironmentAWSCredentialsProvider, * ProfileConfigFileAWSCredentialsProvider, ProcessCredentialsProvider, - * STSAssumeRoleWebIdentityCredentialsProvider and SSOCredentialsProvider in - * that order. + * STSAssumeRoleWebIdentityCredentialsProvider, SSOCredentialsProvider and + * LoginCredentialsProvider (if clientConfig is not null) in that order. * * @param clientConfig Optional client configuration to use. */