对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

MongoDB 用户资源规范

MongoDBUser自定义资源允许您配置用户访问 所需的身份验证和 角色 MongoDB database。

以下示例显示了MongoDBUser自定义资源的资源规范:

1---
2apiVersion: mongodb.com/v1
3kind: MongoDBUser
4metadata:
5 name: ldap-user-1
6spec:
7 username: "uid=mdb0,dc=example,dc=org"
8 db: "$external"
9 mongodbResourceRef:
10 name: ldap-replica-set
11 roles:
12 - db: "admin"
13 name: "clusterAdmin"
14 - db: "admin"
15 name: "readWriteAnyDatabase"
16 - db: "admin"
17 name: "dbAdminAnyDatabase"
18
19...

本部分介绍必须用于所有MongoDBUser资源的设置。

apiVersion

类型:字符串

MongoDB Kubernetes 资源模式的版本。

kind

类型:字符串

要创建的 MongoDB Kubernetes 资源类型。 将其设置为MongoDBUser 。

metadata.name

类型:字符串

人类可读的名称,以便您识别此特定的MongoDBUser资源。

资源名称必须少于或等于 44 个字符。

spec.db

类型:字符串

这些用户将访问的MongoDB database的名称。 默认值为admin 。

spec.db 设置用户的身份验证数据库。Kubernetes 操作符 使用此数据库来识别用户。它还在生成的连接字符串中设置 authSource 参数,并命名生成的连接字符串 secret。

要设置连接字符串 URI 路径中的数据库,请使用 spec.connectionStringDatabase.

spec.username

类型:字符串

人类可读标签,用于标识向MongoDB database或集合进行身份验证所需的用户。

MongoDBUser自定义资源可以使用以下设置:

spec.connectionStringDatabase

类型:字符串

数据库名称,位于 Kubernetes Operator 为该用户生成的连接字符串的 URI 路径中。读取连接字符串秘密的客户端默认使用此数据库。

spec.connectionStringDatabase 更改 URI 路径,但不是身份验证,身份验证由 spec.db 控制。例如,具有 admin 的 spec.db 和 myapp 的 spec.connectionStringDatabase 的用户针对 admin 进行身份验证,并默认使用 myapp:

mongodb://my-user:pass@host:27017/myapp?authSource=admin

Kubernetes 操作符将数据库应用于连接字符串秘密的 connectionString.standard 和 connectionString.standardSrv 密钥。

将此设置留空将导致空 URI 路径。在此情况下,您的客户端将确定活动数据库。例如,《mongosh》默认使用 ``test``。

spec.connectionStringSecretName

类型:字符串

Operator 创建的连接 密钥的名称。stringKubernetes

当您创建新的MongoDB 数据库用户时, Kubernetes Operator 会自动创建新的Kubernetes 密钥。Kubernetes密钥包含有关新数据库用户的以下信息:

  • username:数据库用户的用户名

  • password:数据库用户的密码

  • connectionString.standard:标准连接string ,可以让您以此数据库用户的身份连接到数据库。

  • connectionString.standardSrv: DNS 种子列表连接string ,可以让您以此数据库用户的身份连接到数据库。

spec.mongodbResourceRef.name

类型:字符串

与此用户关联的MongoDB 资源的名称。 例如, my-resource 。

spec.mongodbResourceRef.namespace

类型:字符串

包含此用户密钥的命名空间。如果未指定, Kubernetes Operator 将连接密钥保存在与 MongoDBUser自定义资源相同的命名空间中。

spec.passwordSecretKeyRef.name

类型:字符串

metadata.name 存储用户密码的密钥值。 例如, my-secret-name 。

spec.passwordSecretKeyRef.key

类型:字符串

密钥中包含此MongoDB 数据库用户密码的字段的名称。

要学习;了解更多信息,请参阅Kubernetes文档。

spec.roles.db

类型:字符串

MongoDB database角色 可以执行操作的 。例如, admin 。

spec.roles.name

类型:字符串

要授予数据库用户的角色名称。