首页 > 解决方案 > 如何将 IAM 角色分离到 AWS 运行实例中,并使用 java 将新 IAM 角色附加到该特定实例中

问题描述

我正在创建一个具有特定 IAM 角色的 Amazon EC2 实例。

现在我想分离该 IAM 角色并附加一个新的 IAM 角色或替换为一个新的 IAM 角色。我正在寻找与 CLI 相关的选项,但是当实例通过 java 代码运行时,我找不到任何选项。

这是我的代码:

RunInstancesRequest runInstancesRequest = new RunInstancesRequest().withImageId(imageID)
        .withBlockDeviceMappings(blockDeviceMappings).withInstanceType(type).withMinCount(1).withMaxCount(1)
                .withIamInstanceProfile(new IamInstanceProfileSpecification().withName(iamRole))
                .withUserData(getUserDataScript())
                .withNetworkInterfaces(new InstanceNetworkInterfaceSpecification().withAssociatePublicIpAddress(true)
                        .withDeviceIndex(0).withSubnetId(subnetID).withGroups(groups));
        RunInstancesResult runInstancesResult = ec2Client.runInstances(runInstancesRequest);

标签: amazon-web-servicesamazon-ec2aws-sdkaws-java-sdkaws-java-sdk-2.x

解决方案


要更改与 Amazon EC2 实例关联的 IAM 角色,请首先取消现有角色的关联:

取消关联IamInstanceProfile()

的,附上一个新的:

associateIamInstanceProfile()


推荐阅读