AWS IAM CDK: тегирование и создание ключа доступа для пользователя - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь использовать AWS CDK для создания пользователя с минимальными разрешениями с помощью настраиваемой политики, но я застрял с пометкой этого пользователя и созданием его ключей доступа.

Ниже приведен мой код:

public class Sample extends App {
    public static void main(final String[] args) {
            App app = new App();
            new UserStack(app, "user-stack");
            app.run();
    }

    public static class UserStack extends Stack {
        // Not able to add Tag and Create Access Key
        public UserStack(final App parent, final String name) {
            super(parent, name);

            PolicyStatement statement = new PolicyStatement(PolicyStatementEffect.Allow);
            statement.addResource("*");
            statement.addAction("lambda:UpdateFunctionCode");

            User user = new User(this, "LambdaDeployer", UserProps.builder().withUserName("lambda-deployer").withPath("/").build());
            user.addToPolicy(statement);

            Tag tag = new Tag("Project", "devops");
            // how to tag the user ??

            new CfnOutput(this, "LambdaDeployerOutputAccessKey", CfnOutputProps.builder().withValue("AWS::IAM::AccessKey").build());
            new CfnOutput(this, "LambdaDeployerOutputSecretAccessKey", CfnOutputProps.builder().withValue("AWS::IAM::SecretAccessKey").build());
        }
    }
}

1 Ответ

0 голосов
/ 31 мая 2019

Вам, вероятно, придется использовать Пользовательский ресурс для вызова API TagUser, поскольку добавление тегов для пользователя изначально недоступно в CloudFormation .

Вы можете использовать новую функцию в CDK, чтобы помочь вам создать свой пользовательский ресурс: https://github.com/awslabs/aws-cdk/pull/1850

...