You need to enable JavaScript to run this app.
导航

自定义策略

最近更新时间2023.08.18 11:24:59

首次发布时间2022.03.31 23:31:56

如果系统预设的镜像仓库策略,不能满足您对于权限管控需求,您可使用自定义策略。

操作步骤

  1. 登录 访问控制 IAM 控制台
  2. 在左侧导航栏,单击 策略管理
  3. 策略页面,单击 用户自定义策略 页签,然后单击 新建策略
  4. 新建策略 对话框,根据系统提示填写策略名称、备注,并编辑策略内容。
    编辑策略内容时需要遵循 IAM 的策略语法。详细信息,请参见 策略语法
  5. 单击 创建策略
    自定义策略创建成功后会显示在 用户自定义策略 页签下。
  6. 单击已创建的自定义策略名,进入 策略详情 页面。
  7. 策略详情 页面,选择 授权 > 全局授权 页签,单击 添加授权
  8. 添加全局权限 面板,选中目标用户名前的复选框,单击 确定,将该自定义策略授权给目标用户。

场景案例

以下为一些镜像仓库的自定义策略的案例。

场景一

授予 IAM 用户指定体验版实例(cr-basic)指定命名空间(library)的读权限。IAM 用户登录镜像仓库后可以拉取该命名空间下所有镜像实例,可以通过 OpenAPI 查到该命名空间的信息以及该命名空间下所有镜像实例的相关信息。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cr:List*",
        "cr:Get*",
        "cr:Pull*"
      ],
      "Resource": [
        "trn:cr:*:*:instance/cr-basic", 
        "trn:cr:*:*:repository/cr-basic/library", 
        "trn:cr:*:*:repository/cr-basic/library/*"
      ]
    }
  ]
}

场景二

授予 IAM 用户指定体验版实例(cr-basic)指定命名空间(library)的所有使用权限 。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cr:*"
      ],
      "Resource": [
        "trn:cr:*:*:instance/cr-basic", 
        "trn:cr:*:*:repository/cr-basic/library", 
        "trn:cr:*:*:repository/cr-basic/library/*"
      ]
    }
  ]
}

场景三

授权 IAM 用户某个镜像(例如:镜像仓库体验版实例名称 cr-basic,所属命名空间名称 library,镜像名称 nginx,)的所有使用权限。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cr:List*",
        "cr:Get*"
      ],
      "Resource": [
        "trn:cr:*:*:instance/cr-basic", 
        "trn:cr:*:*:repository/cr-basic/library"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cr:*"
      ],
      "Resource": [
        "trn:cr:*:*:instance/cr-basic", 
        "trn:cr:*:*:repository/cr-basic/library/nginx"
      ]
    }
  ]
}