Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

315
Views
Asuma un rol con Spring Cloud AWS Autoconfiguration

Para publicar mensajes en SNS, necesito asumir el rol correcto, por lo que cuando uso AWS SDK, creo un bean de AmazonSNS como este:

 @Bean public AmazonSNS amazonSnsClient( @Value("${cloud.aws.credentials.accessKey}") String accessKey, @Value("${cloud.aws.credentials.secretKey}") String secretKey, @Value("${cloud.aws.role.publisherArn}") String publisherRoleArn ) { AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey))) .build(); STSAssumeRoleSessionCredentialsProvider credentialsProvider = new STSAssumeRoleSessionCredentialsProvider .Builder(publisherRoleArn, SESSION_NAME) .withStsClient(stsClient) .build(); return AmazonSNSClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(credentialsProvider) .build(); }

Estoy tratando de hacer lo mismo con Spring Cloud AWS Messaging & Autoconfiguration pero hasta ahora no encontré ninguna información sobre el tema. Mi aplicación.yml se ve así

 cloud: aws: credentials: accessKey: *** secretKey: *** instanceProfile: true region: static: eu-central-1

¿Es compatible con Spring y simplemente no logré encontrarlo o debería limitarme a AWS SDK?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Parece que no hay una solución lista para usar para eso. La solución más sencilla es crear su propio bean AWSCredentialsProvider

 @Configuration public class AwsCredentials { private static final String SESSION_NAME = "TestConsumer"; @Bean @Primary public AWSCredentialsProvider credentialsProvider( @Value("${cloud.aws.credentials.accessKey}") String accessKey, @Value("${cloud.aws.credentials.secretKey}") String secretKey, @Value("${cloud.aws.role}") String role ) { AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey))) .build(); return new STSAssumeRoleSessionCredentialsProvider .Builder(role, SESSION_NAME) .withStsClient(stsClient) .build(); } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!