docs: define Instance domain model and admin Secret boundary
This commit is contained in:
+12
-9
@@ -17,7 +17,9 @@
|
||||
3. 创建 PostgreSQL controller 管理 role 和管理 database 连接权限。
|
||||
4. 在 OpenBao KV v2 写入管理 role 凭据。
|
||||
5. 配置 OpenBao Kubernetes auth、controller policy 和面向 ESO 的读取 policy。
|
||||
6. 在 Kubernetes 安装 ESO,创建可读取租户路径的 `ClusterSecretStore`。
|
||||
6. 安装 ESO,配置独立的管理凭据同步身份和租户凭据读取身份。管理员在 controller
|
||||
namespace 创建管理 ExternalSecret,确认管理 Secret 已同步;另创建供租户使用的
|
||||
`ClusterSecretStore`。
|
||||
7. 创建公开 CA bundle ConfigMap,并挂载到 controller 和需要直接验证数据库的应用。
|
||||
8. 部署 controller,再创建 Instance;等待 Ready 后才创建 Tenant。
|
||||
|
||||
@@ -78,13 +80,12 @@ controller 权限。最终可执行 SQL grant 将随 PostgreSQL adapter 集成
|
||||
|
||||
## OpenBao 与 ESO
|
||||
|
||||
controller policy 分成两个范围:
|
||||
controller policy 仅允许在固定 tenant base path 下 create/read/update/delete KV v2
|
||||
data 和 metadata,Delete 必须能永久删除全部版本及 metadata;不读取管理凭据路径。
|
||||
|
||||
- 只读 Instance 管理凭据路径;
|
||||
- 在固定 tenant base path 下 create/read/update/delete KV v2 data 和 metadata,Delete
|
||||
必须能永久删除全部版本及 metadata。
|
||||
|
||||
ESO 使用独立身份,只需读取 tenant base path;它不应读取 PostgreSQL 管理凭据。
|
||||
管理凭据由管理员维护的 ExternalSecret 同步到 controller namespace;其 ESO 身份
|
||||
只读对应管理路径,不能供 Tenant 使用。租户 ESO 身份只读 tenant base path,不得
|
||||
读取 PostgreSQL 管理凭据。controller 不创建或修改管理 ExternalSecret/Secret。
|
||||
`ClusterSecretStore` 由平台管理员创建,controller 只引用,不创建或修改 Store。
|
||||
controller 创建的 ExternalSecret 与 Tenant 同 namespace,并设置 ownerReference;目标
|
||||
Secret 包含固定七键:`username`、`password`、`database`、`host`、`hostaddr`、`port`、
|
||||
@@ -97,8 +98,10 @@ Secret 包含固定七键:`username`、`password`、`database`、`host`、`hos
|
||||
对应 Secret 是否完成投射。
|
||||
- namespace 用户可以管理本 namespace Tenant,但不能管理 Instance、Store、controller
|
||||
配置或其他 namespace 的 ExternalSecret。
|
||||
- controller 无需读取目标 Secret 的 data;验证登录使用从 OpenBao 读取的应用凭据,
|
||||
对 Secret 只检查存在性和 ESO 状态。
|
||||
- controller 只在自身 namespace 读取所引用管理 Secret 的 data,不获得跨 namespace
|
||||
的管理 Secret 读取权限。Instance 不允许自选 Secret namespace。
|
||||
- 对应用目标 Secret,controller 无需读取 data;验证登录使用从 OpenBao 读取的应用
|
||||
凭据,只检查 Secret 存在性和 ESO 状态。
|
||||
|
||||
## 升级与回滚
|
||||
|
||||
|
||||
Reference in New Issue
Block a user