Search in sources :

Example 6 with AssumeRoleRequest

use of software.amazon.awssdk.services.sts.model.AssumeRoleRequest in project beam by apache.

the class AwsModuleTest method testStsAssumeRoleCredentialsProviderSerializationDeserialization.

@Test
public void testStsAssumeRoleCredentialsProviderSerializationDeserialization() throws Exception {
    AssumeRoleRequest req = AssumeRoleRequest.builder().roleArn("roleArn").policy("policy").build();
    Supplier<AwsCredentialsProvider> provider = () -> StsAssumeRoleCredentialsProvider.builder().stsClient(StsClient.create()).refreshRequest(req).build();
    Properties overrides = new Properties();
    overrides.setProperty(AWS_REGION.property(), Regions.US_EAST_1.getName());
    overrides.setProperty(AWS_ACCESS_KEY_ID.property(), "key");
    overrides.setProperty(AWS_SECRET_ACCESS_KEY.property(), "secret");
    // Region and credentials for STS client are resolved using default providers
    AwsCredentialsProvider deserializedProvider = withSystemPropertyOverrides(overrides, () -> serializeAndDeserialize(provider.get()));
    Supplier<AssumeRoleRequest> requestSupplier = (Supplier<AssumeRoleRequest>) readField(deserializedProvider, "assumeRoleRequestSupplier", true);
    assertThat(requestSupplier.get()).isEqualTo(req);
}
Also used : AssumeRoleRequest(software.amazon.awssdk.services.sts.model.AssumeRoleRequest) AwsCredentialsProvider(software.amazon.awssdk.auth.credentials.AwsCredentialsProvider) ThrowingSupplier(org.apache.beam.sdk.util.ThrowingSupplier) Supplier(java.util.function.Supplier) Properties(java.util.Properties) Test(org.junit.Test)

Example 7 with AssumeRoleRequest

use of software.amazon.awssdk.services.sts.model.AssumeRoleRequest in project iep by Netflix.

the class AwsClientFactory method createAssumeRoleProvider.

private AwsCredentialsProvider createAssumeRoleProvider(Config cfg, AwsCredentialsProvider p) {
    final String arn = cfg.getString("role-arn");
    final String name = cfg.getString("role-session-name");
    final STSClient stsClient = STSClient.builder().credentialsProvider(p).region(Region.of(region)).build();
    final AssumeRoleRequest request = AssumeRoleRequest.builder().roleArn(arn).roleSessionName(name).build();
    return StsAssumeRoleCredentialsProvider.builder().stsClient(stsClient).refreshRequest(request).build();
}
Also used : AssumeRoleRequest(software.amazon.awssdk.services.sts.model.AssumeRoleRequest) STSClient(software.amazon.awssdk.services.sts.STSClient)

Example 8 with AssumeRoleRequest

use of software.amazon.awssdk.services.sts.model.AssumeRoleRequest in project iep by Netflix.

the class AwsClientFactory method createAssumeRoleProvider.

private AwsCredentialsProvider createAssumeRoleProvider(Config cfg, String accountId, AwsCredentialsProvider p, SdkHttpService service) {
    final String arn = createRoleArn(cfg.getString("role-arn"), accountId);
    final String name = cfg.getString("role-session-name");
    final StsClient stsClient = StsClient.builder().credentialsProvider(p).region(Region.of(region)).httpClientBuilder(service.createHttpClientBuilder()).build();
    final AssumeRoleRequest request = AssumeRoleRequest.builder().roleArn(arn).roleSessionName(name).build();
    return StsAssumeRoleCredentialsProvider.builder().stsClient(stsClient).refreshRequest(request).build();
}
Also used : StsClient(software.amazon.awssdk.services.sts.StsClient) AssumeRoleRequest(software.amazon.awssdk.services.sts.model.AssumeRoleRequest)

Example 9 with AssumeRoleRequest

use of software.amazon.awssdk.services.sts.model.AssumeRoleRequest in project aws-sdk-java-v2 by aws.

the class StsAssumeRoleCredentialsProvider method getUpdatedCredentials.

@Override
protected Credentials getUpdatedCredentials(StsClient stsClient) {
    AssumeRoleRequest assumeRoleRequest = assumeRoleRequestSupplier.get();
    Validate.notNull(assumeRoleRequest, "Assume role request must not be null.");
    return stsClient.assumeRole(assumeRoleRequest).credentials();
}
Also used : AssumeRoleRequest(software.amazon.awssdk.services.sts.model.AssumeRoleRequest)

Example 10 with AssumeRoleRequest

use of software.amazon.awssdk.services.sts.model.AssumeRoleRequest in project aws-sdk-java-v2 by aws.

the class AssumeRoleIntegrationTest method testAssumeRole.

/**
 * Tests that we can call assumeRole successfully.
 */
@Test
public void testAssumeRole() throws InterruptedException {
    AssumeRoleRequest assumeRoleRequest = AssumeRoleRequest.builder().durationSeconds(SESSION_DURATION).roleArn(ROLE_ARN).roleSessionName("Name").build();
    StsClient sts = StsClient.builder().credentialsProvider(StaticCredentialsProvider.create(userCredentials)).build();
    AssumeRoleResponse assumeRoleResult = sts.assumeRole(assumeRoleRequest);
    assertNotNull(assumeRoleResult.assumedRoleUser());
    assertNotNull(assumeRoleResult.assumedRoleUser().arn());
    assertNotNull(assumeRoleResult.assumedRoleUser().assumedRoleId());
    assertNotNull(assumeRoleResult.credentials());
}
Also used : AssumeRoleRequest(software.amazon.awssdk.services.sts.model.AssumeRoleRequest) AssumeRoleResponse(software.amazon.awssdk.services.sts.model.AssumeRoleResponse) Test(org.junit.Test)

Aggregations

AssumeRoleRequest (software.amazon.awssdk.services.sts.model.AssumeRoleRequest)14 StsClient (software.amazon.awssdk.services.sts.StsClient)7 AwsCredentialsProvider (software.amazon.awssdk.auth.credentials.AwsCredentialsProvider)3 AssumeRoleResponse (software.amazon.awssdk.services.sts.model.AssumeRoleResponse)3 Test (org.junit.Test)2 Credentials (software.amazon.awssdk.services.sts.model.Credentials)2 StsException (software.amazon.awssdk.services.sts.model.StsException)2 JsonIgnore (com.fasterxml.jackson.annotation.JsonIgnore)1 Instant (java.time.Instant)1 DateTimeFormatter (java.time.format.DateTimeFormatter)1 Properties (java.util.Properties)1 Supplier (java.util.function.Supplier)1 ThrowingSupplier (org.apache.beam.sdk.util.ThrowingSupplier)1 AwsSessionCredentials (software.amazon.awssdk.auth.credentials.AwsSessionCredentials)1 Region (software.amazon.awssdk.regions.Region)1 S3Client (software.amazon.awssdk.services.s3.S3Client)1 ListObjectsRequest (software.amazon.awssdk.services.s3.model.ListObjectsRequest)1 ListObjectsResponse (software.amazon.awssdk.services.s3.model.ListObjectsResponse)1 S3Object (software.amazon.awssdk.services.s3.model.S3Object)1 STSClient (software.amazon.awssdk.services.sts.STSClient)1