如何使用 cloudformation 将自定义策略添加到 AWS 中的服务相关角色?

How to add custom policy to a Service Linked Role in AWS using cloudformation?

我正在尝试为我的 EC2 实例创建一个自动缩放组。这些实例由自定义密钥加密,因此我需要能够注入允许读取所述密钥的策略到自动缩放组。

我决定利用 AutoScalingGroup 的 ServiceLinkedRoleARN: 属性 并创建具有所有必要权限的新自动缩放角色。

不幸的是,IAM::ServiceLinkedRole (SLR) 的属性不提供策略输入(与标准角色不同):

Type: AWS::IAM::ServiceLinkedRole
Properties: 
  AWSServiceName: String
  CustomSuffix: String
  Description: String

到目前为止,我无法找到解决方案。如果没有办法修改 SLR 的策略,我什至找不到允许创建我们自己的 SLR 的理由,所以我想必须有一个理由。

你能帮忙解决我的问题吗?我的公司要求我为此使用 CloudFormation,因此无法调整控制台,但没有必要使用自定义 SLR,这对我来说是最干净的解决方案。

无法修改 service-linked Auto Scaling 角色:

With the AWSServiceRoleForAutoScalingPlans_EC2AutoScaling role created by AWS Auto Scaling, you can edit only its description and not its permissions.

但是,KMS 权限应该添加到您的 实例角色 ,而不是 Auto Scaling 的 service-linked 角色。因此,您必须更改与您的 AWS::IAM::InstanceProfile.

关联的角色