应用多个 Policy Controller 包

本页面介绍如何启用 Policy Controller 政策包。

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

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

须知事项

应用政策包

控制台

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

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

    前往“政策”

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

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

  4. 如需启用所有政策包,请将添加所有政策包切换为

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

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

    如需详细了解如何添加可豁免的命名空间,请参阅从 Policy Controller 中排除命名空间

  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

    如需详细了解如何添加可豁免的命名空间,请参阅从 Policy Controller 中排除命名空间

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

    gcloud alpha container hub policycontroller content bundles remove BUNDLE_NAME
    

后续步骤