AWS IAM角色权限问题​​

时间:2020-09-16 07:59:57

标签: amazon-web-services amazon-ec2 amazon-iam aws-iot

我们刚刚在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角色中添加/更改一些权限。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

从错误消息中,您的IAM role for Amazon EC2似乎没有没有担任角色的权限 Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93

手动添加此类权限,您可以执行以下操作:

  1. 转到IAM Console->Roles
  2. Roles窗口中,您可以使用Search栏找到Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ角色。
  3. 找到角色后,单击Add inline policy
  4. 一旦显示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"
        }
    ]
}
  1. 然后单击Review Policy,为策略命名(例如PolicyToAssumeRole),然后Create policy

但是,根据您的策略名称(例如Stack-Srv-StackIAMRole),可能是由 CloudFormation 创建的。如果是这种情况,则如上所述手动更改角色是一个坏习惯,并且会导致drift。由CloudFormation创建的对资源的任何更改都应使用CloudFormation 完成。遗憾的是,您的问题没有提供有关所使用的CloudFormation模板的任何详细信息,因此很难对此进行评论。