第 2 章 使用带有 GitOps 的 Secret Store CSI 驱动程序安全地管理 secret
本指南指导您完成将 Secret Store Container Storage Interface (SSCSI)驱动程序与 OpenShift Container Platform 4.14 及之后的版本中的 GitOps Operator 集成的过程。
2.1. 使用带有 GitOps 的 Secrets Store CSI 驱动程序管理 secret 概述
有些应用程序需要敏感信息,如密码和用户名,它们必须被视为良好的安全实践。如果因为集群中未正确配置基于角色的访问控制(RBAC)而公开敏感信息,则具有 API 或 etcd 访问权限的任何人都可以检索或修改 secret。
有权在命名空间中创建 pod 的任何人都可以使用该 RBAC 来读取该命名空间中的所有 secret。使用 SSCSI Driver Operator,您可以使用外部 secret 存储来安全地存储和向 pod 提供敏感信息。
将 OpenShift Container Platform SSCSI 驱动程序与 GitOps Operator 集成的过程由以下步骤组成:
2.1.1. 优点
将 SSCSI 驱动程序与 GitOps Operator 集成具有以下优点:
- 提高 GitOps 工作流的安全性和效率
- 有助于将 secret 作为卷附加到部署 pod 中
- 确保安全而高效地访问敏感信息
2.1.2. Secret 存储供应商
以下 secret 存储供应商可用于 Secret Store CSI Driver Operator:
- AWS Secrets Manager
- AWS Systems Manager Parameter Store
- Microsoft Azure Key Vault
例如,假设您使用 AWS Secret Manager 作为带有 SSCSI Driver Operator 的 secret 存储供应商。以下示例显示了 GitOps 存储库中的目录结构,它可以使用 AWS Secret Manager 中的 secret:
GitOps 存储库中的目录结构示例
├── config │ ├── argocd │ │ ├── argo-app.yaml │ │ ├── secret-provider-app.yaml 1 │ │ ├── ... │ └── sscsid 2 │ └── aws-provider.yaml 3 ├── environments │ ├── dev 4 │ │ ├── apps │ │ │ └── app-taxi 5 │ │ │ ├── ... │ │ ├── credentialsrequest-dir-aws 6 │ │ └── env │ │ ├── ... │ ├── new-env │ │ ├── ...