应用策略、上下文和准入控制保障应用安全
1. 使用 Open Policy Agent 进行准入控制
Open Policy Agent(OPA)是一种统一的策略编写和实施方法,旨在提供一种标准语言来描述各类策略,并集成到不同平台应用策略。它可以用于描述数据访问策略并部署到 SQL 数据库,也能为 Kubernetes 对象描述准入控制策略。通过 OPA Gatekeeper,它为自定义验证 Webhook 提供了更简洁的替代方案。
OPA Gatekeeper 主要包含三个部分:
1. 部署组件 :在集群中部署 Gatekeeper 组件,包括 Webhook 服务器和通用的 ValidatingWebhookConfiguration。
2. 创建约束模板 :描述准入控制策略。
3. 创建特定约束 :基于模板创建特定约束。
以下是具体操作步骤:
# 移除使用 Helm 创建的 Webhook 配置
helm uninstall mutating-webhook
helm uninstall validating-webhook
# 移除 Node.js Webhook 服务器
kubectl delete -f admission-webhook/
# 部署 Gatekeeper
kubectl apply -f opa/
Gatekeeper 使用自定义资源定义(CRDs),允许你将模板和约束创建为普通的 Kubern