AWS IAM 角色权限问题

AWS IAM Role permission issue

我们刚刚在 AWS 上的 EC2 实例上构建了一个新的 Things Enterprise 服务器,并创建了一个应用程序来使用 AWS IOT。我们收到以下错误

“消息”:“用户:arn:aws:sts::446971925991:assumed-role/Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ/i-095895d605fab3fa4 无权在资源:arn:aws:iam::446971925991:role/Bosh-Parking-IOT-Stack-TheThingsStackRoleCD9FBAD2-C44RRJJ53M93 上执行:sts:AssumeRole”

有人告诉我

What is the execution role of the TTES instance that is trying to assume the role? The role TTES needs to be able to assume that role. That will give the right permissions.

但我不确定这意味着什么,我假设我需要在 IAM 角色中添加/更改一些权限。有人能给我指出正确的方向吗

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

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

  1. 转到IAM Console->Roles
  2. Roleswindow中,可以使用Search栏来定位Things-Enterprise-Stack-Srv-StackIAMRole-DBHBSMSY05AQ角色。
  3. 找到角色后,单击 Add inline policy
  4. Create policy window 显示后,您可以转到 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 模板的任何详细信息,因此很难对此发表更多评论。