启用 Binary Authorization for Cloud Run

本指南介绍如何设置 Binary Authorization 以对 Cloud Run 服务强制执行基于政策的部署。

准备工作

执行以下操作,以设置 Cloud Run 并启用 API:

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  4. 启用 Cloud Run, Artifact Registry, Binary Authorization API。

    启用 API

  5. 安装并初始化 Cloud SDK
  6. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  7. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  8. 启用 Cloud Run, Artifact Registry, Binary Authorization API。

    启用 API

  9. 安装并初始化 Cloud SDK

在现有 Cloud Run 服务中启用 Binary Authorization

本部分介绍如何在现有服务上启用 Binary Authorization 强制执行。

如需在现有服务上启用 Binary Authorization 强制执行,请执行以下操作:

控制台

  1. 转到 Google Cloud Console 中的“Cloud Run”页面。

    转到 Cloud Run

  2. 点击相应服务的名称。

  3. 点击详情标签页。

  4. 如需对该服务启用 Binary Authorization 强制执行,请点击启用

  5. 可选:如需配置 Binary Authorization 政策,请点击配置政策

gcloud

运行以下命令:

gcloud run services update SERVICE_NAME --binary-authorization=default

SERVICE_NAME 替换为您的服务的名称。

查看政策

如需查看政策,请点击查看政策

详细了解如何配置 Binary Authorization 政策

服务部署失败

如果您的服务因违反 Binary Authorization 政策而无法部署,您可能会看到如下错误:

Revision REVISION_NAME uses an unauthorized container image.
Container image IMAGE_NAME is not authorized by policy.

此错误还包含有关映像为何违反政策的信息。在这种情况下,您可以使用 Breakglass 绕过政策强制执行并部署映像。

在新服务中启用 Binary Authorization

如需在新服务中启用 Binary Authorization,请执行以下操作:

控制台

  1. 转到 Cloud Run 页面:

    转到 Cloud Run

  2. 点击创建服务。在随即显示的“创建服务”表单中执行以下操作:

    1. 选择 Cloud Run 作为开发平台。
    2. 选择您希望自己的服务所在的区域。
    3. 输入服务名称。
    4. 点击下一步以继续转到“配置服务的第一个修订版本”页面。
    5. 选择从现有容器映像部署一个修订版本
    6. 输入或选择要部署的映像。
    7. 展开高级设置部分。
    8. 点击安全标签。
    9. 选中使用 Binary Authorization 验证容器部署复选框。

    10. 可选:点击配置政策以配置 Binary Authorization 政策。如需详细了解如何配置政策,请参阅配置政策

    11. 部署该服务。

gcloud

运行以下命令:

  gcloud run deploy SERVICE_NAME --image=IMAGE_URL --binary-authorization=default --region=REGION

请替换以下内容:

  • SERVICE_NAME:服务的名称。
  • IMAGE_URL:要部署的映像。
  • REGION:要在其中部署服务的区域。

后续步骤