【问题标题】:How to detach an IAM role into AWS running instance and attach a new IAM role into that particular instance using java如何将 IAM 角色分离到 AWS 运行实例中,并使用 java 将新 IAM 角色附加到该特定实例中
【发布时间】:2019-01-24 11:37:30
【问题描述】:

我正在创建一个具有特定 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);

【问题讨论】:

  • 您能否澄清一下...您是要更改附加到现有 EC2 实例的 IAM 角色,还是要在 时指定一个 IAM 角色启动一个新的 EC2 实例?
  • 我想更改附加到已经具有一些 IAM 角色的现有 aws 实例的 IAM 角色
  • 如果能根据运行实例的instance-id来做就好了
  • 您希望通过 Java(而不是控制台或 CLI)执行此操作,对吗?
  • 是的,因为剩下的一切都在使用 java,如果它在控制台中可用,这意味着也必须有一种方法可以通过 Java 代码来做,只是我找不到那个 api

标签: amazon-web-services amazon-ec2 aws-sdk aws-java-sdk aws-java-sdk-2.x


【解决方案1】:

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

disassociateIamInstanceProfile()

那个,附上一个新的:

associateIamInstanceProfile()

【讨论】:

  • 谢谢,我明天试试
猜你喜欢
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
  • 2021-07-24
  • 2021-03-01
  • 2022-01-13
  • 2021-11-10
  • 2019-08-23
  • 1970-01-01
相关资源
最近更新 更多