个人访问令牌
Table of contents
个人访问令牌 (PAT) 为 Docker CLI 认证提供了一种比密码更安全的替代方案。使用 PAT 对自动化系统、CI/CD 流水线以及开发工具进行认证,而无需暴露您的 Docker Hub 密码。
主要优势
与密码认证相比,PAT 提供了显著的安全优势:
- 增强安全性:调查令牌使用情况,禁用可疑令牌,并防止在系统被入侵时可能危及账户的管理操作。
- 更好的自动化:为不同的集成颁发多个令牌,每个令牌具有特定权限,并在不再需要时独立撤销它们。
- 双重认证兼容性:当您启用双重认证时,这是必需的,可在不绕过 2FA 保护的情况下提供安全的 CLI 访问。
- 使用跟踪:监控令牌的使用时间和方式,以识别潜在的安全问题或未使用的自动化。
谁应该使用个人访问令牌?
在以下常见场景中使用 PAT:
- 开发工作流:在本地开发期间认证 Docker CLI
- CI/CD 流水线:在持续集成系统中自动化镜像构建和部署
- 自动化脚本:在自动化部署或备份脚本中推送和拉取镜像
- 开发工具:将 Docker Hub 访问与 IDE、容器管理工具或监控系统集成
- 双重认证:启用 2FA 时 CLI 访问所必需的
Note对于组织范围的自动化,请考虑 组织访问令牌,它不与个人用户账户绑定。
创建个人访问令牌
Important将访问令牌视为密码并确保其安全。将令牌存储在凭据管理器中,切勿将其提交到源代码仓库。
要创建个人访问令牌:
- 登录 Docker Home。
- 选择右上角的头像,然后从下拉菜单中选择 Account settings。
- 选择 Personal access tokens。
- 选择 Generate new token。
- 配置您的令牌:
- Description: 使用描述性名称,表明令牌的用途
- Expiration date: 根据您的安全策略设置过期日期
- Access permissions: Read、Write 或 Delete。
- 选择 Generate。复制屏幕上显示的令牌并保存。一旦退出屏幕,您将无法再次获取该令牌。
使用个人访问令牌
使用个人访问令牌登录 Docker CLI:
$ docker login --username <YOUR_USERNAME>
Password: [在此粘贴您的 PAT]
当提示输入密码时,请输入您的个人访问令牌,而不是 Docker Hub 密码。
修改个人访问令牌
Note您无法编辑现有个人访问令牌的过期日期。如果需要设置新的过期日期,您必须创建一个新的 PAT。
您可以根据需要重命名、激活、停用或删除令牌。您可以在账户设置中管理您的令牌。
- 登录 Docker Home。
- 选择右上角的头像,然后从下拉菜单中选择 Account settings。
- 选择 Personal access tokens。
- 此页面显示所有令牌的概览,并列出令牌是手动生成的还是 自动生成的。您还可以查看令牌的权限范围、哪些令牌处于激活或未激活状态、创建日期、最后使用日期以及过期日期。
- 选择令牌行最右侧的操作菜单,然后选择 Deactivate 或 Activate、Edit 或 Delete 来修改令牌。
- 编辑令牌后,选择 Save token。
自动生成的令牌
Docker Desktop 在您登录时会自动创建认证令牌,具有以下特征:
- 自动创建:在登录 Docker Desktop 时生成
- 完整权限:包括 Read、Write 和 Delete 访问权限
- 基于会话:当 Docker Desktop 会话过期时自动删除
- 账户限制:每个账户最多 5 个自动生成的令牌
- 自动清理:创建新令牌时会删除旧令牌
如果需要,您可以手动删除自动生成的令牌,但在使用 Docker Desktop 时会重新创建它们。
公平使用政策
使用个人访问令牌时,请注意,过度创建令牌可能会导致限制或额外费用。Docker 保留对 PAT 使用过多的账户施加限制的权利,以确保公平的资源分配并保持服务质量。
公平使用的最佳实践包括:
- 在类似用例中重用令牌,而不是创建许多单一用途的令牌
- 定期删除未使用的令牌
- 对于组织范围的自动化,使用 组织访问令牌
- 监控令牌使用情况,以识别优化机会