GKE 工作负载安全
审计并强化 GKE 应用与命名空间的工作负载级安全控制。
内容覆盖 Workload Identity、网络隔离、只读秘密挂载和最小权限建议,且未发现恶意或隐蔽外传行为;但多个命令会直接修改集群,未要求逐项用户确认、未提供回滚方案,也未充分说明网络默认拒绝和命名空间标签可能造成的业务影响,因此扣分。
审计脚本具备参数检查、set -e、pipefail,并明确依赖 gcloud 和 jq;但没有提交测试或异常场景验证,工作负载身份示例将 automountServiceAccountToken 设为 false,可能影响复现,且失败诊断和环境前置条件说明有限,静态评估不超过 10 分。
触发场景、覆盖范围和不适用范围写得较清楚,涵盖审计、身份、网络策略、沙箱、Pod 安全和 CSI;但缺少输入输出契约、版本兼容边界、中文支持及中国大陆网络环境说明,部分控制还依赖特定 GKE 配置,因此扣分。
文档按工作流组织,提供脚本、YAML 资产、前置条件、示例和官方资源,并有仓库级 Apache-2.0 许可和安装说明;但技能自身没有版本、变更记录、明确维护责任、故障排查或升级路径,且部分前置依赖未展开,故未接近满分。
提供的审计脚本和若干可直接应用的命令/清单能覆盖核心安全配置任务,具备一定实际价值;但缺少完整验证步骤、策略例外处理、回滚和生产适配指导,默认拒绝策略可能需要大量额外配置,静态评估按上限保守计分。
技能包含可审计的脚本、固定 digest 镜像、配置资产和官方文档引用,支持有限的源代码复核;但没有 CI、测试套件、执行结果或第三方复现证据,无法验证关键路径,故低分。
- 执行 gcloud、kubectl 和 namespace label 命令前应确认目标集群、区域、项目和变更窗口,并准备回滚或恢复步骤。
- default-deny 网络策略可能中断现有入口、出口、DNS 或跨命名空间通信;应先盘点依赖并逐步放量。
- Workload Identity 示例中的 automountServiceAccountToken=false、Secret Manager CSI 驱动前置条件及 GKE 版本兼容性应在实际环境中验证。
- 文档未说明中国大陆网络可达性、代理或企业网络要求;使用 Google Cloud 文档和服务前应确认本地访问路径。
这个 Skill 能做什么,适合哪些场景?
该技能面向 Google Kubernetes Engine(GKE)工作负载,提供安全审计、身份、网络、Pod 隔离和密钥挂载方面的操作流程。它可运行集群审计脚本,配置 Workload Identity Federation、Network Policies、GKE Sandbox、Pod Security Standards,以及 Secret Manager CSI 挂载。它不负责控制平面安全、RBAC、Binary Authorization、Shielded Nodes 或平台级 GKE 插件。适合需要直接执行 gcloud、kubectl 和本地脚本来检查或修改集群配置的团队。
运行 scripts/audit_cluster.sh 检查 Workload Identity、Network Policy、Shielded Nodes、Binary Authorization 和私有集群配置;创建命名空间与 Kubernetes Service Account,并绑定和注释 Google Service Account;启用或应用 Network Policies 与 Dataplane V2 NetworkLogging;为 Pod 设置 gVisor runtimeClass;通过命名空间标签执行 restricted Pod Security Standard;提供 SecretProviderClass 和 Pod CSI 卷配置示例,用于从 Secret Manager 挂载密钥。
- GKE 平台工程师需要使用 gcloud 和 jq 审计现有集群的工作负载安全状态。
- 应用团队需要让 Kubernetes Service Account 通过 Workload Identity 访问 Google Cloud API。
- 多租户集群管理员需要对指定命名空间应用默认拒绝网络策略。
- 安全工程师需要将不受信任工作负载放入 GKE Sandbox,并对命名空间执行 restricted Pod Security Standard。
- 开发运维团队需要通过 Secret Manager CSI Driver 将云端密钥作为只读卷挂载到 Pod。
这个 Skill 有哪些优点和局限?
- 覆盖工作负载身份、网络隔离、Pod 隔离、Pod 安全标准和 Secret Manager CSI 等常见 GKE 工作负载控制。
- 包含可复制的 gcloud、kubectl、YAML 和审计脚本示例。
- 明确区分工作负载级安全与 gke-platform-security 的平台级职责。
- 提供 Dataplane V2 网络日志配置和若干官方 Google Cloud 资源链接。
- 需要已认证的 gcloud CLI、jq 和 kubectl;来源未列出完整 IAM 权限要求。
- 来源未提供测试套件、版本兼容矩阵或审计脚本的输出示例。
- Network Policy 启用步骤在 Dataplane V2 集群中不需要,且可能失败。
- 技能只覆盖工作负载级安全,不包含控制平面安全、RBAC、Binary Authorization、Shielded Nodes 或平台级插件启用。
如何安装这个 Skill?
该技能随 google/skills 集合安装:npx skills add google/skills。安装过程中可选择该集合中的具体技能。目标技能路径为 skills/cloud/gke-workload-security/SKILL.md;README 未说明客户端的具体安装目录或非交互式选择参数。
如何使用这个 Skill?
在已安装该技能的 Agent Skills 客户端中,请求其审计或配置 GKE 工作负载安全,例如“审计指定 GKE 集群的工作负载安全,并配置某命名空间的 Workload Identity 和默认拒绝网络策略”。执行审计前需确保 gcloud CLI 已认证并安装 jq;相关配置还使用 kubectl。Network Policy 命令示例为:gcloud container clusters update <cluster-name> --update-addons=NetworkPolicy=ENABLED --region <region>。
这个 Skill 与同类方案有什么区别?
与 gke-platform-security 相比,本技能聚焦应用、Pod 和命名空间级控制;来源明确将控制平面级的 Shielded Nodes、GKE Sandbox 启用等平台操作归入后者。