我们刚刚在EC2实例上构建了一个托管在AWS上的新Things企业服务器,并创建了一个使用AWS IOT的应用程序。我们收到以下错误
“消息”:“用户:arn:aws:sts :: 446971925991:assumed-role / Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ / i-095895d605fab3fa4未经授权执行:资源上的sts:AssumeRole: arn:aws:iam :: 446971925991:role / Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93”
有人告诉我
试图承担该角色的TTES实例的执行角色是什么? TTES角色必须能够承担该角色。这将提供正确的权限。
但是我不确定这意味着什么,我想我需要在IAM角色中添加/更改一些权限。有人可以指出我正确的方向吗?
答案 0 :(得分:1)
从错误消息中,您的IAM role for Amazon EC2似乎没有没有担任角色的权限 Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93
。
要手动添加此类权限,您可以执行以下操作:
IAM Console->Roles
。Roles
窗口中,您可以使用Search
栏找到Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ
角色。Create policy
窗口,您就可以转到JSON tab
并添加以下JSON策略:{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAssumeRole",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::446971925991:role/Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93"
}
]
}
Review Policy
,为策略命名(例如PolicyToAssumeRole),然后Create policy
但是,根据您的策略名称(例如Stack-Srv-StackIAMRole),可能是由 CloudFormation 创建的。如果是这种情况,则如上所述手动更改角色是一个坏习惯,并且会导致drift。由CloudFormation创建的对资源的任何更改都应使用CloudFormation 完成。遗憾的是,您的问题没有提供有关所使用的CloudFormation模板的任何详细信息,因此很难对此进行评论。