Skip to content

Commit d2877cd

Browse files
author
Gonzalo Gallotti Vazquez
committed
Support using IAM Credentials on AWS S3 V2.
1 parent e259660 commit d2877cd

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

gxcloudstorage-awss3-v2/src/main/java/com/genexus/db/driver/ExternalProviderS3V2.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,23 @@ private S3Client buildS3Client(String accessKey, String secretKey, String endpoi
182182
}
183183

184184
private S3Presigner buildS3Presinger(String accessKey, String secretKey, String region) {
185-
return S3Presigner.builder()
186-
.region(Region.of(region))
187-
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey)))
188-
.build();
185+
boolean bUseIAM = !getPropertyValue(USE_IAM, "", "").isEmpty()
186+
|| (accessKey.isEmpty() && secretKey.isEmpty());
187+
188+
S3Presigner.Builder presignerBuilder = S3Presigner.builder()
189+
.region(Region.of(region));
190+
191+
if (bUseIAM) {
192+
logger.debug("Using IAM Credentials for S3Presigner");
193+
} else {
194+
presignerBuilder.credentialsProvider(
195+
StaticCredentialsProvider.create(
196+
AwsBasicCredentials.create(accessKey, secretKey)
197+
)
198+
);
199+
}
200+
201+
return presignerBuilder.build();
189202
}
190203

191204
private void bucketExists() {

0 commit comments

Comments
 (0)