AWS Java - принять роль от лямбды для вызова шлюза API - PullRequest
2 голосов
/ 01 ноября 2019

как мне принять роль от лямбды для вызова шлюза API с помощью java SDK

1 Ответ

0 голосов
/ 04 ноября 2019

Я предполагаю, что вы имеете в виду сгенерированный API-шлюзом Java SDK. У Client Builder есть метод public void setIamCredentials(AWSCredentialsProvider iamCredentials). В этот метод можно передать AWSStaticCredentialsProvider, который можно сгенерировать следующим образом:

AWSSecurityTokenService client = AWSSecurityTokenServiceClientBuilder.standard().build();
AssumeRoleRequest request = new AssumeRoleRequest().withRoleArn(iamRole)
            .withRoleSessionName(yourRoleName);

AssumeRoleResult response = client.assumeRole(request);

return new AWSStaticCredentialsProvider(
            new BasicSessionCredentials(
                    response.getCredentials().getAccessKeyId(),
                    response.getCredentials().getSecretAccessKey(),
                    response.getCredentials().getSessionToken()));

Помните, что вам нужно установить политику IAM для роли, которая позволяет ему получать доступ к вашему шлюзу API: https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html

...