应用多个 Policy Controller 包

本页面介绍了如何启用 Policy Controller 捆绑包。

如需详细了解如何应用和使用政策包,请使用左侧导航菜单阅读要应用的政策包的说明。如需详细了解政策包,请参阅 Policy Controller 包概览。

如果您使用 Google Cloud 控制台安装了 Policy Controller,则已默认安装 Policy Essentials 包,但您可以启用更多政策包。

准备工作

应用政策包

控制台

如需使用 Google Cloud 控制台在集群上应用一个或多个政策包,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到安全状况管理部分下的 GKE Enterprise 政策页面。

    前往“政策”

  2. 设置标签页下的集群表中,选择修改配置列中的修改

  3. 添加/修改政策包菜单中,确保模板库已开启。

  4. 如需启用所有政策包,请开启 中的添加所有政策包

  5. 如需启用单独的政策包,请开启要启用的每个政策包。

  6. 可选:如需豁免命名空间,使其不强制执行,请展开显示高级设置菜单。在豁免命名空间字段中,提供有效命名空间的列表。

    如需详细了解如何添加可豁免的命名空间,请参阅从政策控制器中排除命名空间

  7. 选择保存更改

您可以使用 Policy Controller 信息中心查看有关政策覆盖范围和违规行为的更多信息。

gcloud

如需应用政策包,请完成以下步骤:

  1. 如果您要应用的任何软件包使用了参照限制条件,则必须启用对参照限制条件的支持:

    gcloud alpha container hub policycontroller update --referential-rules
    

    您可以在政策包概览中检查捆绑包是否需要支持参照限制条件。

  2. 对于您要安装的每个软件包,请运行以下命令:

    gcloud alpha container hub policycontroller content bundles set BUNDLE_NAME
    

    BUNDLE_NAME 替换为您要安装的软件包的名称。该名称是软件包前缀,例如 cis-k8s-v1.5.1。您可以在政策包概览中找到名称列表。

  3. 可选:如需豁免命名空间,使其不强制执行,请运行以下命令:

    gcloud alpha container hub policycontroller content bundles set BUNDLE_NAME \
      --exempted-namespaces=NAMESPACES
    

    NAMESPACES 替换为您不希望强制执行的命名空间列表(以英文逗号分隔),例如 kube-system,gatekeeper-system

    如需详细了解如何添加可豁免的命名空间,请参阅从政策控制器中排除命名空间

  4. 如需移除软件包,请运行以下命令:

    gcloud alpha container hub policycontroller content bundles remove BUNDLE_NAME
    

后续步骤