2
如何为通过AWS CLI启动的Amazon EC2实例指定IAM角色?
我正在使用“ aws ec2 run-instances”命令(来自AWS命令行界面(CLI))启动Amazon EC2实例。我想为我要启动的EC2实例设置IAM角色。已配置IAM角色,从AWS Web UI启动实例时,我可以成功使用它。但是,当我尝试使用该命令和“ --iam-instance-profile”选项执行此操作时,它失败了。进行“ aws ec2运行实例帮助”会显示该值的Arn =和Name =子字段。当我尝试使用“ aws iam list-instance-profiles”查找Arn时,出现以下错误消息: 发生客户端错误(AccessDenied):用户:arn:aws:sts :: xxxxxxxxxxxx:assumed-role / shell / i-15c2766d无权执行:iam:ListInstance资源上的配置文件:arn:aws:iam :: xxxxxxxxxxxx:instance -轮廓/ (其中xxxxxxxxxxxx是我的AWS 12位数字帐号) 我通过Web UI查找了Arn字符串,并在run-instances命令上通过“ --iam-instance-profile Arn = arn:aws:iam :: xxxxxxxxxxxx:instance-profile / shell”使用了该字符串,但失败了: 发生客户端错误(UnauthorizedOperation):您无权执行此操作。 如果我完全不使用“ --iam-instance-profile”选项,该实例将启动,但不会具有我需要的IAM角色设置。因此,许可似乎与使用“ --iam-instance-profile”或访问IAM数据有关。如果出现AWS故障,我重复了几次(有时会发生),但没有成功。 我怀疑可能存在一个限制,即不允许具有IAM角色的实例启动具有更强大的IAM角色的实例。但是在这种情况下,我正在执行命令的实例具有与我尝试使用的IAM角色相同的角色。命名为“ shell”(尽管我也尝试使用另一个,没有运气)。 实例是否甚至不允许设置IAM角色(通过其IAM角色凭据)? 使用IAM角色所需的IAM角色权限是否比仅启动普通实例所需的权限高? “ --iam-instance-profile”是指定IAM角色的适当方法吗? 我需要使用Arn字符串的子集还是以其他方式设置其格式? 是否可以设置一个可以进行任何IAM角色访问的IAM角色(也许是“超级根IAM” ...组成此名称)? …