腾讯云容器镜像服务(Tencent Container Registry,TCR)为企业版实例提供了两种访问权限管理模式,支持实例管理者为使用实例的研发运维人员,及内部 CI/CD 等自动化系统分配独立的访问凭证,并精细化管理用户权限,保障实例的数据安全。
使用场景
人员权限管控
企业购买企业版实例后,一般会有多个业务团队同时使用该实例,并涉及到研发、运维、测试等多种角色,出于数据安全需要,不同团队和角色应在满足正常业务需求的前提下,配置最小权限,避免出现镜像误删、镜像泄露等数据安全问题。
具体而言,需要对指定人员分配独立账号用于身份认证,并配置独立权限用于操作鉴权。在镜像仓库的使用场景下,即需要给指定人员分配登录镜像仓库(docker login)的访问凭证(username + password),并配置该账户权限,如仅能向镜像仓库 A 内推送拉取镜像,或仅能拉取镜像仓库 B 内镜像。
同时,企业也需要人员对镜像仓库的操作进行审计,针对异常操作进行回溯定位。
系统权限管控
容器镜像的生产和部署也涉及到自动化系统,如 CI/CD 流水线。在自动化场景下,使用指定人员的账号将可能造成严重后果,如在发布系统中配置了某位运维人员的访问凭证用于集群拉取镜像,当该运维人员账号被误删、或是员工转岗、离职后,该镜像访问凭证将失效,导致发布异常。因此,在自动化场景中,应使用与指定人员无关的访问凭证,并可独立管理账号权限。
产品功能
针对上述两个典型场景,产品提供两种访问权限管理功能:用户级账号、服务级账号,您可组合使用,满足企业内权限管理需求。
用户级账号
用户级账号与腾讯云账号直接关联,并基于访问管理 CAM 管理账号权限。如需为企业内指定人员授予权限,需要在腾讯云主账号下新建一个该人员专用的子账号,并为账号在访问管理 CAM 中关联权限策略,具体请参见 基于 CAM 管理子账号权限。
该用户使用子账号登录产品控制台,并前往访问凭证-用户级账号功能页,新建专属的访问凭证。该访问凭证与子账号关联,仅子账号可见可管理。用户可使用这个访问凭证登录镜像仓库,并推送、拉取镜像,实际操作受到关联的权限策略管控。
说明:
请注意,当子账号被禁用或删除时,关联的访问凭证也将失效,因此避免将子账号关联的访问凭证配置在自动化系统中。
服务级账号
服务级账号与腾讯云账号不直接关联,属于实例内资源,权限管理独立于访问管理 CAM。如需为自动化系统,如 CI/CD 流水线,Kubernetes 集群配置自动推送、拉取镜像的访问凭证,可在实例内新建服务级账号,并配置该访问凭证可访问的命名空间。
说明:
因服务级账号属于实例内资源,因此所有具有服务级账号功能相关 API 权限的子账号,均可查询管理服务级账号。同时,因为该账号权限独立于访问管理 CAM 权限体系,因此会出现越权风险,请严格控制相关 API 的授权范围。