操作场景
推送拉取容器镜像需要首先使用凭证信息登录至实例,即在 Docker 客户端中执行
docker login
命令并输入用户名及密码,该用户名及密码仅用于该实例的登录及认证鉴权,不可用于其他场景。本文档介绍如何在企业版实例中管理自定义的服务级账号,用于 CI/CD 等自动化场景。当用户购买企业版实例后,可创建与腾讯云账号绑定的用户级账号,用户名与账号 ID 相同,密码为随机生成长字符串,具体可参考 用户级账号管理。用户级账号与腾讯云账号关联,可基于 访问管理 CAM 功能精细化配置账户权限,并可追溯仓库登录,镜像推送、拉取操作。但当对应子账号被删除或禁用时(如账号使用者转岗或离职,需要注销对应子账号),关联的用户级账号也将失效。如果该用户级账号被使用在 CI/CD 等自动化系统中,或已配置在 Kubernetes 集群中,将可能导致镜像推送、拉取失败,进而影响业务。同时,基于访问管理 CAM 进行权限管理较为复杂,如需按照命名空间维度为各个团队配置权限,需要配置复杂的 CAM 策略。
如您遇到上述问题,可选择使用服务级账号功能。该功能支持:
创建管理服务级账号,可自定义用户名及密码。
可自定义权限范围,按照命名空间层级配置读写、只读权限。
可自定义过期时间,支持按天设置,并可临时禁用账号。
注意:
1. 服务级账号支持操作审计,即操作审计日志中会记录上传、下载操作所使用的服务级账号,但平台无法验证、追溯服务级账号的实际使用者身份,请谨慎对外分发使用服务级账号。如需严格审计镜像拉取推送行为的操作者或是账号持有者,请选择用户级账号。
2. 服务级账号权限配置独立于访问管理 CAM,因此具有服务级账号创建权限的子账号,创建的服务级账号对部分命名空间的操作权限,可能超出该子账号关联的用户级账号权限,存在越权风险。因此,请严格限制服务级账号功能的授权范围,建议仅授予实例管理团队。
前提条件
在使用 TCR 企业版实例服务级账号功能前,您需要完成以下准备工作:
已成功 购买企业版实例。
如需通过 API 获取访问凭证,需获取 API 3.0 调用所需的 API 密钥。
操作步骤
创建服务级账号
1. 登录 容器镜像服务 控制台,选择左侧导航栏中的访问凭证,并选择服务级账号。
2. 在服务级账号页面中选择地域及实例名称,并单击新建。
3. 在新建服务级账号页面中,按照以下步骤进行配置:
名称:由小写字符、数字和 ._- 组成,且至少1个字符并以字符或者数字开头。请注意,名称将自动增加前缀用于标记该账号为服务级账号,如填写 robot-demo,则实际使用的用户名为:tcr$robot-demo。
说明:
描述:该账号的描述信息,支持中文。
过期时间:可选永不过期,或指定天数过期,默认为30天。
权限配置:支持选择多个命名空间,并独立配置各个命名空间的权限类型;建议按照最小权限原则仅选择必要的命名空间,并优先使用只读权限。
命名空间:支持选择多个命名空间。
权限类型:支持配置只读、读写,只读模式下不支持镜像推送。
4. 创建完成后请立即保存用户名及密码,该页面仅展示一次,页面关闭后将无法找回。
管理服务级账号
1. 登录 容器镜像服务 控制台,选择左侧导航栏中的访问凭证,并选择服务级账号。
2. 在服务级账号页面中选择地域及实例名称,并管理已有服务级账号,支持以下操作:
查看已有服务级账号。
查看指定服务级账号的权限范围。
编辑指定服务级账号的配置,除名称不可调整外,其他配置均可修改。
禁用指定服务级账号,禁用后可再启用。账号禁用时,将无法用于镜像推送、拉取,请谨慎操作。
删除指定服务级账号,删除后不可恢复。账号删除后,将无法用于镜像推送、拉取,请谨慎操作。