tencent cloud

文档反馈

企业版授权方案示例

最后更新时间:2024-12-02 14:49:53
    本文将介绍如何通过访问管理 CAM 策略使子账户可以查看和使用容器镜像服务 TCR 企业版相关资源,包括具体的操作步骤以及常用的策略配置示例。
    注意:
    如您在容器镜像服务控制台中使用部分功能时需要外部权限,例如私有网络、云审计、云标签等,请参见 支持 CAM 的产品 中对应产品的访问管理指南文档。

    操作步骤

    本文以“授权子账号只读某个镜像仓库”为例,介绍如何完成创建策略操作。
    实例 ID:tcr-xxxxxxxx
    命名空间:team-01
    镜像仓库:repo-demo
    通过策略生成器创建(推荐)
    通过策略语法创建
    2. 左侧导航栏中,单击策略,进入策略管理页面。
    3. 单击左上角的新建自定义策略
    4. 在弹出的选择创建方式窗口中,单击按策略生成器创建,进入编辑策略页面。
    5. 在“可视化策略生成器”中选择服务的页面,补充以下信息,并编辑授权声明。
    效果(Effect):选择允许或拒绝,这里我们选择允许
    服务(Service):选择要授权的产品,这里我们选择**容器镜像服务 (tcr)**。
    操作(Action):选择需要授权的操作,这里我们选择读操作
    资源(Resource):选择全部资源或您要授权的特定资源,这里我们选择特定资源,并添加以下资源六段式来限制访问。
    repository:选择仓库所属地域,并填写该仓库的资源路径,例如 tcr-xxxxxxxx/team-01/repo-demo/*。您可在 镜像仓库 中获取资源路径。
    repo:此处置空。
    instance:选择仓库所属地域,并填写该仓库所属实例的实例 ID,例如 tcr-xxxxxxxx。您可在 实例列表 中获取实例 ID。
    条件:此处置空。
    6. 单击下一步,进入关联用户/用户组页面。
    7. 在关联用户/用户组页面,补充策略名称和描述信息,可同时关联用户或用户组快速授权。
    8. 单击完成,完成按策略生成器创建自定义策略的操作。
    2. 左侧导航栏中,单击策略,进入策略管理页面。
    3. 单击左上角的新建自定义策略
    4. 在弹出的选择创建方式窗口中,单击按策略语法创建,进入“选择策略模板”页面。
    5. 在选择模板类型中,选择空白模板
    6. 单击下一步,进入“编辑策略”页面。
    7. 在“编辑策略”页面,补充策略名称和描述信息,添加以下策略内容。
    {
    "version": "2.0",
    "statement": [{
    "action": [
    "tcr:DescribeRepositories",
    "tcr:PullRepository",
    "tcr:DescribeNamespaces"
    ],
    "resource": [
    "qcs::tcr:::repository/tcr-xxxxxxxx/team-01/repo-demo/*"
    ],
    "effect": "allow"
    },
    {
    "action": [
    "tcr:DescribeInstance*"
    ],
    "resource": [
    "qcs::tcr:::instance/tcr-xxxxxxxx"
    ],
    "effect": "allow"
    }
    ]
    }
    8. 单击完成,完成按策略语法创建自定义策略的操作。

    常用策略配置

    若需要自定义编辑策略 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 电话支持