使用 Cloud Run 配置 Binary Authorization 政策
本快速入门介绍如何使用 Cloud Run 在 Binary Authorization 政策中配置和测试基本规则。
在本快速入门中,您将使用 Binary Authorization 来控制 Cloud Run 服务的部署。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
创建启用了 Binary Authorization 的服务
如需创建启用 Binary Authorization 的 Cloud Run 服务,请执行以下操作:
点击创建服务,以显示“创建服务”表单:
在显示的表单中,执行以下操作:
- 选择 Cloud Run 作为开发平台。
- 选择您希望服务所在的区域。
- 指定要为服务提供的名称,例如
test-service
。 点击下一步以继续转到“配置服务的第一个修订版本”页面。
在表单中执行以下操作:
- 选择从现有容器映像部署一个修订版本。
使用
us-docker.pkg.dev/cloudrun/container/hello
作为容器映像。展开高级设置部分。
点击安全标签。
选中使用 Binary Authorization 验证容器部署复选框:
默认情况下,Binary Authorization 政策允许部署所有映像。
点击下一步,以继续转到“配置此服务的触发方式”页面:
选择允许未通过身份验证的调用才能在网络浏览器中打开搜索结果
点击创建以将映像部署到 Cloud Run,然后等待部署完成。
您的服务现已部署。修订版本受 Binary Authorization 政策强制执行的约束。
更新 Binary Authorization 政策以禁止所有映像
Binary Authorization 政策包含一个默认规则。此规则用于管理您刚创建的 Cloud Run 服务的部署。
默认情况下,此规则允许部署所有容器映像。
如需查看默认政策,请执行以下操作:
-
点击修改政策。
在项目默认规则中,请注意允许所有映像选项是否处于选中状态。
现在,修改政策以阻止部署所有映像,具体操作如下:
转到 Google Cloud 控制台中的 Binary Authorization 页面。
点击修改政策。
在默认规则中,选择禁止所有映像。
点击保存政策。
重新部署服务
通过部署一个新的修订版本来测试更新后的政策。
如需部署映像,请执行以下操作:
点击您之前在本指南中部署的服务的名称。
点击“修改和部署新的修订版本”。
点击部署。
如果您看到类似以下内容的错误消息:
Service update rejected by Binary Authorization policy: RevisionREVISION
uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA
' is not authorized by policy. Denied by an ALWAYS_DENY admission rule
重置政策以允许所有映像
如需重置政策以允许所有映像,请执行以下操作:
转到 Google Cloud 控制台中的 Binary Authorization 页面。
点击修改政策。
选择允许所有映像。
如需保存政策,请点击保存政策。
您现已可以部署映像。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
如需删除您在 Cloud Run 中创建的服务,请执行以下操作:
在服务列表中找到要删除的服务,然后点击该服务对应的复选框以将其选中。
点击删除。这将删除服务的所有修订版本。
如需停用 Binary Authorization,请参阅停用 Binary Authorization。
后续步骤
使用 breakglass 绕过 Binary Authorization 强制执行。
使用
built-by-cloud-build
证明者仅部署由 Cloud Build 构建的映像。使用证明。
使用 Google Cloud 控制台或命令行工具配置 Binary Authorization 政策。
在 Cloud Audit Logs 中查看 Binary Authorization for Cloud Run 事件。