我需要使用gcr.io作为容器注册表来设置CI / CD管道。
我使用服务连接和Docker ID为_token
,密码为gcloud auth print-access-token
,将管道代理连接到注册表。
但是此令牌是短暂的。 如何创建永久令牌? gcr.io允许吗?
答案 0 :(得分:0)
https://cloud.google.com/container-registry/docs/advanced-authentication上提供了许多身份验证选项。他们倾向于强调短暂访问,因为否则:
如果您使用“永久令牌”的目标与性能相关,那么还有许多其他方面可以尝试提高效率,而这些领域更安全。
如果您已经在使用Access Token机制,则您的CI环境中可能已经具有服务帐户密钥。如果该服务帐户有权访问容器注册表,则可以使用JSON Key File身份验证机制进行更“永久”的访问。
与此服务帐户相关联的任何特权都可能泄露给任何可以将服务帐户密钥复制到CI系统之外的人。我想对CI中的密钥进行base64编码,以最大程度地减少意外显示的机会,尽管这样做几乎不能阻止故意盗窃。