O recurso personalizado do MongoDBUser permite configurar a autenticação e as funções necessárias para que um usuário acesse um banco de MongoDB database.
Exemplo
O exemplo a seguir mostra uma especificação de recurso para um recurso personalizado do MongoDBUser :
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBUser 4 metadata: 5 name: ldap-user-1 6 spec: 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 ...
Configurações de recursos MongoDBUser necessárias
Esta seção descreve as configurações que você deve usar para todos os recursos do MongoDBUser .
apiVersionTipo: string
Versão do esquema de recursos do MongoDB Kubernetes.
kindTipo: string
Tipo de recurso MongoDB Kubernetes para criar. Defina isso como
MongoDBUser.
metadata.nameTipo: string
Nome legível por humanos para que você possa identificar esse recurso
MongoDBUserespecífico.Os nomes de recursos devem ter 44 caracteres ou menos.
spec.dbTipo: string
Nome do banco de MongoDB database que esses usuários acessarão. O padrão é
admin.spec.dbsets the user's authentication database. The Kubernetes Operator uses this database to identify the user. It also sets theauthSourceparameter in the generated connection string and names the generated connection string secret.To set the database in the connection string URI path, use spec.connectionStringDatabase.
spec.usernameTipo: string
Rótulo legível por humanos que identifica o usuário necessário para autenticar no banco de MongoDB database .
Configurações de recursos MongoDBUser opcionais
O recurso personalizado do MongoDBUser pode utilizar as seguintes configurações:
spec.connectionStringDatabaseTipo: string
Nome do banco de dados no caminho de URI da string de conexão que o operador Kubernetes gera para este usuário. Os clientes que leem o segredo da string de conexão usam este banco de dados por padrão.
spec.connectionStringDatabasechanges the URI path but not authentication, which spec.db controls. For example, a user with aspec.dbofadminand aspec.connectionStringDatabaseofmyappauthenticates againstadminand usesmyappby default:mongodb://my-user:pass@host:27017/myapp?authSource=admin The Kubernetes Operator applies the database to both the
connectionString.standardandconnectionString.standardSrvkeys of the connection string secret.Leaving this setting blank results in an empty URI path. In this case, your client determines the active database-for instance,
mongoshuses``test`` by default.spec.connectionStringSecretNameTipo: string
Nome do segredo da connection string que o operador Kubernetes cria.
Quando você cria um novo usuário de banco de dados MongoDB, o Kubernetes Operator cria automaticamente um novo segredo do Kubernetes. O segredo do Kubernetes contém as seguintes informações sobre o novo usuário de banco de dados:
username: Nome de usuário para o utilizador de banco de dadospassword: Senha para o usuário do banco de dadosconnectionString.standard: stringde conexão padrão que pode conectar você ao banco de dados como este usuário do banco de dados.connectionString.standardSrv: stringconexão da lista de sementes de DNS que pode conectar você ao banco de dados como este usuário do banco de dados.
spec.mongodbResourceRef.nameTipo: string
Nome do recurso MongoDB ao qual este usuário está associado. Por exemplo,
my-resource.spec.mongodbResourceRef.namespaceTipo: string
The namespace that contains the secret for this user. If unspecified, the Kubernetes Operator keeps connection secrets in the same namespace as the
MongoDBUsercustom resource.spec.passwordSecretKeyRef.nameTipo: string
metadata.namevalor do segredo que armazena a senha do usuário. Por exemplo,my-secret-name.spec.passwordSecretKeyRef.keyTipo: string
Nome do campo no segredo que contém a senha desse usuário de banco de dados MongoDB.
Para saber mais, consulte a documentação do Kubernetes.
spec.roles.dbTipo: string
MongoDB database on which the role can act. For example,
admin.spec.roles.nameTipo: string
Nome do role a ser concedido ao usuário do banco de dados.