使用 gcloud CLI 配置政策

本页面介绍了如何使用 Google Cloud CLI 配置 Binary Authorization 政策。作为替代方案, 您还可以使用 Google Cloud 控制台REST API来执行这些任务。这个步骤是 设置 Binary Authorization的一部分。

如需使用命令行工具配置政策,请将现有政策导出为 YAML 文件。修改文件后,您便可以导入该文件来更新政策,如本指南后面的部分所述。如需详细了解 YAML 格式的政策,请参阅 YAML 格式政策参考文档

准备工作

  1. 启用 Binary Authorization
  2. 创建集群
  3. 如果您打算使用证明,我们建议您先创建证明者,然后再配置政策。您可以使用 命令行工具或通过 Google Cloud 控制台来创建证明者。
  4. 将项目 ID 设置为启用了 Binary Authorization 的项目:

    PROJECT_ID=PROJECT_ID
    gcloud config set project ${PROJECT_ID}
    

导出 YAML 格式的政策文件

本部分适用于 GKE、Distributed Cloud、Cloud Run 和 Cloud Service Mesh

如需更新政策,请先将其导出为本地 YAML 文件,如下所示:

gcloud container binauthz policy export > /tmp/policy.yaml

默认情况下,该文件内容类似于以下内容:

defaultAdmissionRule:
  enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
  evaluationMode: ALWAYS_ALLOW
globalPolicyEvaluationMode: ENABLE
name: projects/PROJECT_ID/policy

如需修改政策,请修改该文件并添加或更新某些部分,如本指南后面的部分所述。保存文件后,您便可以导入政策

如需将豁免映像添加到许可名单,请在政策文件中添加以下内容:

admissionWhitelistPatterns:
  - namePattern: EXEMPT_IMAGE_PATH

EXEMPT_IMAGE_PATH 替换为要排除的映像的路径。如需豁免其他映像,请添加其他 - namePattern 条目。详细了解 admissionWhitelistPatterns

设置默认规则

本部分适用于 GKE、Distributed Cloud、Cloud Run 和 Cloud Service Mesh

规则是政策的一部分,用于规定容器映像必须满足哪些限制条件才能部署。默认规则规定了适用于所有没有其自身集群专用规则的非豁免映像的限制条件。每项政策都必须有一条默认规则。

默认规则在 YAML 格式的政策文件内的 defaultAdmissionRule 节点中指定。如需详细了解此规则的各个部分,请参阅 YAML 格式政策参考文档中的 ADMISSION_RULE如需查看默认规则的示例,请参阅示例政策

如需设置默认规则,请根据需要修改 policy.yaml 文件中的 defaultAdmissionRule 节点:

defaultAdmissionRule:
  evaluationMode: EVALUATION_MODE
  enforcementMode: ENFORCEMENT_MODE
  requireAttestationsBy:
  - ATTESTOR
  - ...

请替换以下内容: