如何在没有特定标记的情况下阻止角色与EC2关联?

问题描述 投票:1回答:1

我创建了一个AWS IAM角色,其中包括以下内容

           AssumeRolePolicyDocument:
            Version: "2012-10-17"
            Statement: 
            - 
                Effect: "Allow"
                Principal: 
                    Service: 
                        - "ec2.amazonaws.com"
                Action: 
                    - "sts:AssumeRole"
                Condition:
                    StringEquals:
                        ec2:ResourceTag/AppCode: !Sub "${AppCode}"

我确认我的EC2确实包含标记AppCode,并且它已将值传递给CloudFormation。

将角色与EC2关联后,在EC2上运行“aws configure list”时,我无法看到该角色。

删除上述条件后立即工作! 'aws configure list'返回了正确的结果。

防止角色与EC2实例关联的正确原因是什么,除非它们具有特定值的特定标记?

谢谢

amazon-web-services amazon-cloudformation amazon-iam
1个回答
1
投票

我不确定你描述的是否可行,但请继续探索!

您的策略是“允许EC2服务在具有特定标记的情况下调用AssumeRole”。

控制是否可以为EC2实例分配角色的官方方法是将iam:PassRole授予正在启动实例的IAM实体。

如果有人没有iam:PassRole,那么在启动实例时他们无法指定角色。如果您希望它们能够使用特定角色,您可以为特定角色授予它们iam:PassRole,然后在启动实例时可以使用它们。

此方法授予IAM用户/组/角色选择角色的权限,而不是基于实例控制权限(当前不一定存在)。

© www.soinside.com 2019 - 2024. All rights reserved.