开发者社区 问答 正文

访问控制中的授权策略无法限制一个用户访问一台ECS

我想通过访问控制实现一个用户只能操作指定的ECS主机其他的不允许操作,最好屏蔽其他主机。按照使用文档授权策略修改如下,但是分配给用户后用户可以操作所有ECS主机。
{
  "Statement": [
    {
      "Action": "ecs:*",
      "Effect": "Allow",
      "Resource": [
                  "acs:ecs:*:*:instance/i-8vbia7op*******vj4"
                  ]
    },
    {
      "Action": "ecs:Describe*",
      "Effect": "Allow",
      "Resource": "*"
    }
  ],
  "Version": "1"
}

展开
收起
my777 2018-11-13 12:40:53 773 分享 版权
阿里云 AI 助理回答

根据您提供的策略,我注意到存在两点可能与您的需求不相符的地方:

  1. 全权限操作指定实例:第一个Statement允许用户对特定ECS实例("acs:ecs:::instance/i-8vbia7op******vj4")执行所有ecs操作("ecs:")。这确实限制了用户只能操作这个特定的ECS主机。

  2. 描述性操作无限制:第二个Statement则允许用户对所有ECS资源执行以"Describe"开头的操作("ecs:Describe*"),并且资源是无限制的("Resource": "*")。这意味着用户可以查看和列出所有的ECS实例信息,尽管他们可能不能进行修改或管理操作。

如果您的目标是让用户只能看到并操作指定的ECS主机,同时屏蔽其他主机的视图和操作,您需要调整策略以确保“描述”相关的操作也仅限于特定实例。您可以将第二个Statement中的"Resource"字段改为与第一个Statement中相同的特定实例ID,如下所示:

{
    "Version": "1",
    "Statement": [
        {
            "Action": "ecs:*",
            "Effect": "Allow",
            "Resource": [
                "acs:ecs:*:*:instance/i-8vbia7op*******vj4"
            ]
        },
        {
            "Action": "ecs:Describe*",
            "Effect": "Allow",
            "Resource": [
                "acs:ecs:*:*:instance/i-8vbia7op*******vj4"
            ]
        }
    ]
}

这样修改后,用户将只能执行“Describe”类操作和所有操作于指定的ECS实例上,而无法查看或操作其他任何ECS实例。请记得替换实例ID为您实际要授权的实例ID。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答