使用 Cloud Run 配置 Binary Authorization 政策

本快速入门介绍如何使用 Cloud Run 在 Binary Authorization 政策中配置和测试基本规则

在本快速入门中,您将使用 Binary Authorization 来控制 Cloud Run 服务的部署。

准备工作

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

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

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

    启用 API

  5. 安装 Google Cloud CLI。
  6. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  7. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  8. 确保您的 Google Cloud 项目已启用结算功能

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

    启用 API

  10. 安装 Google Cloud CLI。
  11. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init

创建启用了 Binary Authorization 的服务

如需创建启用 Binary Authorization 的 Cloud Run 服务,请执行以下操作:

  1. 转到 Cloud Run

  2. 点击创建服务,以显示“创建服务”表单:

    图片

    在显示的表单中,执行以下操作:

    1. 选择 Cloud Run 作为开发平台。
    2. 选择您希望服务所在的区域
    3. 指定要为服务提供的名称,例如 test-service
    4. 点击下一步以继续转到“配置服务的第一个修订版本”页面。

      在表单中执行以下操作:

      1. 选择从现有容器映像部署一个修订版本
      2. 使用 us-docker.pkg.dev/cloudrun/container/hello 作为容器映像。

      3. 展开高级设置部分。

      4. 点击安全标签。

      5. 选中使用 Binary Authorization 验证容器部署复选框:

        图片

        默认情况下,Binary Authorization 政策允许部署所有映像。

      6. 点击下一步,以继续转到“配置此服务的触发方式”页面:

        图片

      7. 选择允许未通过身份验证的调用才能在网络浏览器中打开搜索结果

      8. 点击创建以将映像部署到 Cloud Run,然后等待部署完成。

      您的服务现已部署。修订版本受 Binary Authorization 政策强制执行的约束。

更新 Binary Authorization 政策以禁止所有映像

Binary Authorization 政策包含一个默认规则。此规则用于管理您刚创建的 Cloud Run 服务的部署。

默认情况下,此规则允许部署所有容器映像。

如需查看默认政策,请执行以下操作:

  1. 转到 Binary Authorization

    显示默认规则的“政策”标签页的屏幕截图

  2. 点击修改政策

  3. 项目默认规则中,请注意允许所有映像选项是否处于选中状态。

    选择默认规则类型的选项的屏幕截图

现在,修改政策以阻止部署所有映像,具体操作如下:

  1. 转到 Google Cloud Console 中的 Binary Authorization 页面。

    转到 Binary Authorization

  2. 点击修改政策

  3. 默认规则中,选择禁止所有映像

    选择默认规则类型的选项的屏幕截图

  4. 点击保存政策

重新部署服务

通过部署一个新的修订版本来测试更新后的政策。

如需部署映像,请执行以下操作:

  1. 转到 Cloud Run

  2. 点击您之前在本指南中部署的服务的名称。

  3. 点击“修改和部署新的修订版本”。

  4. 点击部署

如果您看到类似以下内容的错误消息:

Service update rejected by Binary Authorization policy: Revision
REVISION 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

重置政策以允许所有映像

如需重置政策以允许所有映像,请执行以下操作:

  1. 转到 Google Cloud Console 中的 Binary Authorization 页面。

    转到 Binary Authorization

  2. 点击修改政策

  3. 选择允许所有映像

  4. 如需保存政策,请点击保存政策

您现已可以部署映像。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

如需删除您在 Cloud Run 中创建的服务,请执行以下操作:

  1. 转到 Cloud Run

  2. 在服务列表中找到要删除的服务,然后点击该服务对应的复选框以将其选中。

  3. 点击删除。这将删除服务的所有修订版本。

如需停用 Binary Authorization,请参阅停用 Binary Authorization

后续步骤