tencent cloud

文档反馈

企业版授权方案示例

最后更新时间:2022-05-09 12:41:24

    本文将介绍如何通过访问管理 CAM 策略使子账户可以查看和使用容器镜像服务 TCR 企业版相关资源,包括具体的操作步骤以及常用的策略配置示例。

    注意:

    如您在容器镜像服务控制台中使用部分功能时需要外部权限,例如私有网络、云审计、云标签等,请参见 支持 CAM 的产品 中对应产品的访问管理指南文档。

    操作步骤

    本文以“授权子账号只读某个镜像仓库”为例,介绍如何完成创建策略操作。

    • 实例 ID:tcr-xxxxxxxx
    • 命名空间:team-01
    • 镜像仓库:repo-demo
    1. 登录 访问管理控制台
    2. 左侧导航栏中,单击策略,进入策略管理页面。
    3. 单击左上角的新建自定义策略
    4. 在弹出的选择创建方式窗口中,单击按策略生成器创建,进入编辑策略页面。
    5. 在“可视化策略生成器”中选择服务的页面,补充以下信息,并编辑授权声明。
    • 效果(Effect):选择允许或拒绝,这里我们选择允许
    • 服务(Service):选择要授权的产品,这里我们选择**容器镜像服务 (tcr)**。
    • 操作(Action):选择需要授权的操作,这里我们选择读操作
    • 资源(Resource):选择全部资源或您要授权的特定资源,这里我们选择特定资源,并添加以下资源六段式来限制访问。
      • repository:选择仓库所属地域,并填写该仓库的资源路径,例如 tcr-xxxxxxxx/team-01/repo-demo/*。您可在 镜像仓库 中获取资源路径。
      • repo:此处置空。
      • instance:选择仓库所属地域,并填写该仓库所属实例的实例 ID,例如 tcr-xxxxxxxx。您可在 实例列表 中获取实例 ID。
    • 条件:此处置空。
    1. 单击下一步,进入关联用户/用户组页面。
    2. 在关联用户/用户组页面,补充策略名称和描述信息,可同时关联用户或用户组快速授权。
    3. 单击完成,完成按策略生成器创建自定义策略的操作。

    常用策略配置

    若需要自定义编辑策略 JSON,请参见 企业版接入 CAM 的 API 列表 以及 策略语法

    预设策略配置

    • QcloudTCRFullAccess:容器镜像服务(TCR)全读写权限。
      子账号绑定该策略后,将具有 TCR 全部资源的全部操作权限,包含企业版及个人版。

      {
        "version": "2.0",
        "statement": [{
            "action": [
                "tcr:*"
            ],
            "resource": "*",
            "effect": "allow"
        }]
      }
      
    • QcloudTCRReadOnlyAccess:TCR 只读权限。
      子账号绑定该策略后,将具有容器镜像服务全部资源的只读权限,包含企业版及个人版。

      {
        "version": "2.0",
        "statement": [{
            "action": [
                "tcr:Describe*",
                "tcr:PullRepository*"
            ],
            "resource": "*",
            "effect": "allow"
        }]
      }
      

    典型场景策略配置

    注意:

    以下场景策略均只面向企业版使用场景。个人版场景策略请参见 个人版授权方案示例

    • 授予子账号 TCR 企业版内全部资源的全读写操作权限。

      {
        "version": "2.0",
        "statement": [{
            "action": [
                "tcr:*"
            ],
            "resource": [
                "qcs::tcr:::instance/*",
                "qcs::tcr:::repository/*"
            ],
            "effect": "allow"
        }]
      }
      
    • 授予子账号 TCR 企业版内全部资源的只读操作权限。

      {
        "version": "2.0",
        "statement": [{
            "action": [
                "tcr:Describe*",
                "tcr:PullRepository*"
            ],
            "resource": [
                "qcs::tcr:::instance/*",
                "qcs::tcr:::repository/*"
            ],
            "effect": "allow"
        }]
      }
      
    • 授权子账号管理指定实例。例如 dev-guangzhou,其实例 ID 为 tcr-xxxxxxxx。

      {
        "version": "2.0",
        "statement": [{
            "action": [
                "tcr:*"
            ],
            "resource": [
                "qcs::tcr:::instance/tcr-xxxxxxxx",
                "qcs::tcr:::repository/tcr-xxxxxxxx/*"
            ],
            "effect": "allow"
        }]
      }
      
    • 授权子账号管理指定实例内的指定命名空间。例如实例 tcr-xxxxxxxx 下 team-01。

      {
        "version": "2.0",
        "statement": [{
                "action": [
                    "tcr:*"
                ],
                "resource": [
                    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01",
                    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01/*"
                ],
                "effect": "allow"
            },
            {
                "action": [
                    "tcr:DescribeInstance*"
                ],
                "resource": [
                    "qcs::tcr:::instance/tcr-xxxxxxxx"
                ],
                "effect": "allow"
            }
        ]
      }
      
    • 授权子账号只读某个镜像仓库,仅能拉取该仓库内镜像,无法删除仓库、修改仓库属性及推送镜像。例如实例 tcr-xxxxxxxx 下 team-01 命名空间内的 repo-demo。

      {
        "version": "2.0",
        "statement": [{
                "action": [
                    "tcr:Describe*",
                    "tcr:PullRepository"
                ],
                "resource": [
                    "qcs::tcr:::instance/tcr-xxxxxxxx",
                    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01",
                    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo",
                    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo/*"
                ],
                "effect": "allow"
            }
        ]
      }
      
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持