ec2用户与根IAM实例配置文件更改



我有一个基于CloudFormation的应用程序部署,它从带有IAM实例配置文件的Marketplace AMI创建一个Amazon Linux 2 EC2实例。在CloudFormation模板中,我通过cfn-init运行脚本,其中包含一些AWS CLI命令,如ssm-get parameter,还使用mount和amazon-EFS-utils装载EFS卷。这一直很有魅力。

现在,我有一个客户正在他们的AWS帐户中使用常见的AMI和CloudFormation模板运行。对他们来说,cfn-init失败是因为cfn-init以root身份运行,但奇怪的是,root没有IAM权限,无法运行脚本或基于efs助手的装载,即使存在实例配置文件。但是ec2用户确实具有来自实例配置文件的IAM权限!

总结:

ec2用户确实具有实例配置文件中的IAM权限。

# logged in as ec2-user
aws ssm get-parameter --name "/aParameter"

返回结果

root不具有实例配置文件中的IAM权限。

# logged in as ec2-user
sudo aws ssm get-parameter --name "/aParameter"
An error occurred (ParameterNotFound) when calling the GetParameter operation: 

我希望所有在实例中运行的用户都将实例配置文件作为他们的凭据,如果他们没有以其他方式进行显式身份验证的话。我在客户的环境中看不到任何会导致这种情况的东西——我想可能是服务控制政策——但他们没有。

有人看到这种行为并有解决办法吗?

提前非常感谢。。。。。

我不知道ec2用户和实例配置文件之间的关系。ec2用户是linux上的用户。实例配置文件是附加到EC2实例的IAM角色。我认为您可以使用aws s3 ls等其他命令进行检查。顺便说一句,你在用sudo和root。

原来AWS凭据留在了AMI上的根用户中。:-/

Asri Badlah的aws iam get-user建议说明了这个问题。非常感谢。

实例配置文件没有访问get user的权限,但sudo get user访问了,并从/root/.aws.中的凭据中显示了该用户

相关内容

  • 没有找到相关文章

最新更新