用于部署 Twistlock Defender 的 Helm Chart。
该图表可以与 CNCF 批准的外部机密操作员一起管理其内部机密。
笔记
此图表使用 AWS Secrets Manager 和 Azure Key Vault 作为秘密管理系统进行了测试。
要获取此 Helm Chart 工作所需的值,请从 Prisma Cloud 计算控制台下载 Helm Chart,方法是转至管理 > Defenders > 手动部署并选择以下参数:
部署方式:Orchestrator
Orchestrator 类型:Kubernetes 或 Openshift
所有其他基本和高级设置将根据您的环境而有所不同。
选择适合您的选项后,请下载 Helm Chart:
下载的文件名为twistlock-defender-helm.tar.gz 。在这个压缩文件夹中,您需要提取文件values.yaml ,这将有助于作为部署的参考。
要将与防御者部署相关的机密存储在机密管理系统中,请使用以下过程:
使用以下命令安装External Secrets Operator
helm repo 添加外部秘密 https://charts.external-secrets.io helm install external-secrets external-secrets/external-secrets -n external-secrets --create-namespace
有关安装的更多详细信息,请遵循入门指南。
按照相应的指南安装 SecretStore 或 ClusterSecretStore,以便外部 Secrets Operator 可以检索机密。该图表默认使用ClusterSecretStore,因为没有附加到部署防御者的命名空间。要将其更改为 SecretStore,请在 value.yaml 文件中设置以下值:
秘密商店: 种类: 秘密商店
使用以下 JSON 格式创建 Secret:
{“SERVICE_PARAMETER”:“service_parameter”,“DEFENDER_CA”:“defender_ca_cert”,“DEFENDER_CLIENT_CERT”:“defender_client_cert”,“DEFENDER_CLIENT_KEY”:“defender_client_key”,“ADMISSION_CERT”:“admission_ cert","ADMISSION_KEY":"admission_key","INSTALL_BUNDLE":"install_bundle","WS_ADDRESS":"ws_address","REGISTRY_USER":"registry.user","REGISTRY_PASS":"registry.password","REGISTRY" :"registry.name"}
您必须将这些值替换为与您的防御者部署相对应的值。
对于 Azure Key Vault,您需要将内容类型设置为application/json 。
从 SERVICE_PARAMETER 到 WS_ADDRESS 的值可以在之前从 Prisma Cloud 下载的 Helm Chart 的Values.yaml文件中找到。
如果使用 Defender 公共注册表,注册表配置的值应如下:
注册表:registry.twistlock.com
REGISTRY_USER:您的任何选择
REGISTRY_PASS:用于下载图像的访问令牌
有关如何下载容器映像的更多详细信息,请遵循 Prisma Cloud 容器映像文档。
默认配置如下:
collect_pod_labels: true # 允许收集命名空间和部署标签作为在 Prismamonitor_service_accounts 中检测到的标签的一部分 Prismamonitor_service_accounts: true # 允许监控 k8s 服务帐户unique_hostname: true # 分配唯一的主机名host_custom_compliance: false # 禁用主机的自定义合规性
所有其他默认设置都可以在values.yaml 文件中找到。
以下是没有外部机密的最简单的value.yaml推荐示例:
image_name:registry.twistlock.com/twistlock/defender:defender_<版本>注册表:名称:registry.twistlock.com用户名:twistlock密码:<ACCESS_TOKEN># Secretsservice_PARAMETER:<YOUR_SERVICE_PARAMETER>defender_ca_cert:<YOUR_DEFENDER_CA>defender_client_cert: <YOUR_DEFENDER_CERT>defender_client_key:<YOUR_DEFENDER_KEY>admission_cert:<YOUR_ADMISSION_CERT>admission_key:<YOUR_ADMISSION_KEY> install_bundle:<YOUR_INSTALL_BUNDLE>ws_address:<YOUR_WS_ADDRESS>
下载 Helm Chart 时,可以在镜像名称中获取访问令牌的值。它应该是tw_旁边的值。
如果使用私有注册表,您还可以替换映像名称和注册表详细信息。
以下是带有外部机密的value.yaml的最简单推荐示例:
image_name:registry.twistlock.com/twistlock/defender:defender_<版本>secret_store:名称:<YOUR_SECRETSTORE_NAME>remote_key:<YOUR_SECRET_NAME>
对于 GKE Autopilot 中的部署,需要设置以下值:
gke_autopilot_annotation: 'autopilot.gke.io/no-connect: "true"'
对于 OpenShift 中的部署,请设置以下值:
openshift: trueselinux_header: 'seLinuxOptions:'selinux_options: '类型: spc_t'
要包含准入控制器,您必须包含以下值:
Defender_ca_cert:<YOUR_DEFENDER_CA>admission_path:<YOUR_ADMISSION_PATH>
这些值可以从 Prisma 计算控制台获取,方法是转至管理> Defenders >设置
要安装最新版本,请执行以下命令:
舵升级 --install -n twinlock-fvalues.yaml --create-namespace --repo https://paloaltonetworks.github.io/twistlock-defender-helm twinlock-defender twinlock-defender
要安装特定版本,请执行以下命令:
helm 升级 --install -n twinlock-fvalues.yaml --create-namespace --repo https://paloaltonetworks.github.io/twistlock-defender-helm --version <版本> twinlock-defender twinlock-defender