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 :
apiVersion: mongodb.com/v1kind: MongoDBUsermetadata: name: ldap-user-1spec: username: "uid=mdb0,dc=example,dc=org" db: "$external" mongodbResourceRef: name: ldap-replica-set roles: - db: "admin" name: "clusterAdmin" - db: "admin" name: "readWriteAnyDatabase" - db: "admin" name: "dbAdminAnyDatabase"
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.dbdefine o banco de dados de autenticação do usuário. O operador Kubernetes usa este banco de dados para identificar o usuário. Ele também define o parâmetroauthSourcena string de conexão gerada e nomeia o segredo da string de conexão gerada.Para definir o banco de dados no caminho do URI da string de conexão, 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 URI da string de conexão que o operador Kubernetes gera para este usuário. Clientes que leem o segredo da string de conexão usam este banco de dados por padrão.
spec.connectionStringDatabasealtera o caminho URI, mas não a autenticação, que spec.db controla. Por exemplo, um usuário com umspec.dbdeadmine umspec.connectionStringDatabasedemyappautentica-se emadmine usamyapppor padrão:mongodb://my-user:pass@host:27017/myapp?authSource=adminO operador Kubernetes aplica o banco de dados a ambas as chaves
connectionString.standardeconnectionString.standardSrvdo segredo da string de conexão.Deixar essa configuração em branco resulta em um caminho URI vazio. Nesse caso, seu cliente determina o banco de dados ativo -por exemplo,
mongoshusa ``test`` por padrão.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
O namespace que contém o segredo deste usuário. Se não for especificado, o Kubernetes Operator mantém segredos de conexão no mesmo namespace que o recurso personalizado
MongoDBUser.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
Banco de MongoDB database no qual a função pode agir. Por exemplo,
admin.spec.roles.nameTipo: string
Nome do role a ser concedido ao usuário do banco de dados.