You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境设备中如何安全使用Docker容器注册表凭证

树莓派拉取私有Azure容器注册表(ACR)镜像的凭证安全最佳实践

以下是按适用场景排序的安全方案,均不需要在本地持久化存储高风险长期凭证:

1. 临时操作场景:使用Azure AD设备码认证

该方案完全不需要在本地存储任何长期凭证,所有身份验证依赖Azure AD的临时令牌:

  • 首先在树莓派上安装适配ARM架构的Azure CLI
  • 执行设备登录命令 az login --use-device-code,按照终端提示在其他可信设备(比如你的办公电脑、手机)上完成身份验证
  • 验证通过后执行 az acr login --name <你的ACR实例名称>,该命令会自动给Docker客户端注入有效期1小时的临时访问令牌,拉取镜像后令牌自动过期,不会在本地磁盘留存任何明文凭证
  • 注意:如果操作完成后需要主动清除令牌,可执行 az logout 立即失效所有关联凭证

2. 自动部署场景:使用最小权限短期令牌

针对需要自动拉取镜像、无人值守的场景,采用最小权限+短期生效的策略规避泄露风险:

  • 先在ACR控制台创建范围映射,仅开放指定镜像仓库的拉取权限,不授予推送、删除、配置修改等任何额外权限
  • 每次需要执行拉取操作前,在你的可信管理端(比如本地管理电脑、内部自动化脚本)生成有效期不超过24小时的专用令牌,生成命令为 az acr token create --name <自定义令牌名> --registry <ACR名称> --scope-map <配置好的范围映射名> --expiration <到期时间戳>
  • 将生成的临时令牌通过加密通道传输到树莓派使用,到期后令牌自动失效,即使不慎泄露也不会造成长期的资产风险
  • 适用场景:定期更新镜像、批量设备部署等不需要持续访问ACR的场景

3. 长期运行场景:使用硬件安全模块加密存储

如果你的部署需要树莓派长期自主访问ACR拉取镜像,可通过硬件加密的方式避免凭证明文泄露:

  • 为树莓派外接或配置内置的TPM(可信平台模块)/安全元件,目前主流树莓派4/5均支持外接第三方TPM模块
  • 将ACR专用的服务主体凭证加密后存储在TPM中,明文凭证不会出现在磁盘存储、内存转储、配置文件中
  • 配置Docker客户端调用TPM解密凭证完成身份验证,仅授权的容器运行进程可以访问解密后的凭证信息
  • 注意:该方案需要提前完成TPM的初始化和权限隔离,避免设备物理被破解后凭证泄露

需严格规避的不安全操作

  • 禁止将ACR管理员账号、静态密码直接写入docker-compose.yml、启动脚本、明文环境变量配置文件
  • 禁止给树莓派使用的ACR凭证分配超出镜像拉取之外的任何权限
  • 禁止使用有效期超过7天的长期静态访问凭证

内容的提问来源于stack exchange,提问作者iAviator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:06:02