MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/ /
/ / /

AtlasCustomRole Recurso personalizado

Importante

Os subrecursos legados são preteridos a partir do lançamento de seus CRDs correspondentes. Se a sua configuração atualmente depender da forma de subrecurso desta definição de recurso, migre para um CRD.

O AtlasCustomRole recurso personalizado do define uma função de banco de dados personalizada do para alocar privilégios para seus usuários do banco de dados .

Para criar essa função personalizada em um determinado projeto, você deve:

  • Faça referência ao nome do AtlasProject Recurso Personalizado no AtlasCustomRole recurso personalizado do, para projetos que você gerencia com o Atlas Kubernetes Operator

  • Faça referência ao ID do projeto do seu projeto Atlas no AtlasCustomRole recurso personalizado do, para projetos que você não gerencia com o Atlas Kubernetes Operator

Importante

Os Recursos Personalizados Não Excluem Mais Objetos por Padrão

  • O Atlas Kubernetes Operator utiliza arquivos de configuração de recurso personalizado para gerenciar sua configuração do Atlas , mas a partir do Atlas Kubernetes Operator,2.0 os recursos personalizados que você exclui no Kubernetes não são mais (por padrão) excluídos no Atlas. Em vez disso, o Atlas Kubernetes Operator simplesmente para de gerenciar estes recursos no Atlas. Por exemplo, se você excluir um AtlasProject Recurso Personalizado no Kubernetes, por padrão, o Atlas Kubernetes Operator não excluirá mais automaticamente o projeto correspondente do Atlas. Essa mudança no comportamento destina-se a ajudar a evitar exclusões acidentais ou inesperadas. Para saber mais, incluindo como reverter este comportamento para o padrão utilizado antes do Atlas Kubernetes Operator.,2 0consulte Novo padrão: Proteção de exclusão no Atlas Kubernetes 2 0Operator..

    Da mesma forma, o Atlas Kubernetes Operator não exclui equipes do Atlas se você as remover de um projeto do Atlas no Kubernetes com o Atlas Kubernetes Operator.

  • Defina explicitamente os detalhes de configuração desejados para evitar o uso implícito de valores de configuração padrão do Atlas . Em alguns casos, herdar os padrões do Atlas pode resultar em um loop de reconciliação que pode impedir que seu recurso personalizado atinja um estado READY. Por exemplo, definir explicitamente o comportamento de autoscaling desejado em seu recurso personalizado AtlasDeployment, conforme mostrado no exemplo incluído, garante que um tamanho de instância estática em seu recurso personalizado não esteja sendo aplicado repetidamente a um sistema do Atlas que tenha o autoscaling ativado.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

O Atlas Kubernetes Operator realiza uma das seguintes ações usando o recurso da API Role de banco de dados personalizado do Atlas :

  • Cria um novo role de banco de dados personalizado.

  • Atualiza uma função de banco de dados personalizado existente.

O exemplo seguinte mostra um recurso personalizado do AtlasCustomRole que define o função personalizada do shard-operator , com privilégios para fazer backup e monitorar clusters fragmentados dentro do projeto do my-project.

apiVersion: atlas.mongodb.com/v1
kind: AtlasCustomRole
metadata:
name: shard-operator-role
namespace: mongodb-atlas-system
labels:
mongodb.com/atlas-reconciliation-policy: keep
spec:
projectRef:
name: my-project
namespace: my-operator-namespace
role:
name: my-role
actions:
- name: getShardMap
resources:
cluster: true
- name: shardingState
resources:
cluster: true
- name: connPoolStats
resources:
cluster: true
- name: getLog
resources:
cluster: true
inheritedRoles:
- name: operator-role-1
role: backup

O exemplo a seguir mostra um AtlasCustomRole CRD independente que define a mesma shard-operator função personalizada definida no Exemplo Básico. Esta definição de recurso personalizado permite a você criar este papel em um projeto que você não gerencia na mesma instância do Atlas Kubernetes Operator com o qual você define este recurso. Para habilitar a operação independente, você deve usar um externalProjectRef em vez de um projectRef e deve fornecer um connectionSecret diretamente, pois esse recurso não pode herdar credenciais de API de seu projeto pai.

apiVersion: atlas.mongodb.com/v1
kind: AtlasCustomRole
metadata:
name: shard-operator-role
namespace: mongodb-atlas-system
labels:
mongodb.com/atlas-reconciliation-policy: keep
spec:
externalProjectRef:
id: 671998971c8520583f24f411
connectionSecret:
name: my-atlas-key
role:
name: my-role
actions:
- name: getShardMap
resources:
cluster: true
- name: shardingState
resources:
cluster: true
- name: connPoolStats
resources:
cluster: true
- name: getLog
resources:
cluster: true
inheritedRoles:
- name: operator-role-1
role: backup

AtlasCustomRole é o esquema para a API AtlasCustomRole

Name
Tipo
Descrição
Obrigatório

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasCustomRole

true

metadata

objeto

Consulte a documentação do Kubernetes API para os campos do campo metadata.

true

spec

objeto

AtlasCustomRoleSpec Define o estado alvo de CustomRole no Atlas. Validações:

  • (has(auto.''externalProjectRef'') && !has(auto.''projectRef'')) || (!has(auto.''externalProjectRef'') && has(auto.``projectRef``)): deve definir apenas uma referência do projeto por meio de externalProjectRef ou projectRef

  • (has(auto.''externalProjectRef'') && has(auto.``connectionSecret``)) || !has(auto.''externalProjectRef''): deve definir um segredo de conexão local ao fazer referência a um projeto externo

false

status

objeto

AtlasCustomRoleStatus é um status para o recurso Personalizado AtlasCustomRole. Não aquele incluído no AtlasProject

false

AtlasCustomRoleSpec define o estado de destino do CustomRole no Atlas.

Name
Tipo
Descrição
Obrigatório

role

objeto

Função representa uma função personalizada no Atlas.

true

connectionSecret

objeto

Nome do segredo contendo as chaves privada e pública do Atlas API.

false

externalProjectRef

objeto

externalProjectRef contém o projeto principal do Atlas ID. Mutualmente exclusivo com o campo"projectRef".

false

projectRef

objeto

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

false

Função representa uma função personalizada no Atlas.

Name
Tipo
Descrição
Obrigatório

name

string

Etiqueta legível por humanos que identifica a função. Este name deve ser exclusivo para esta função personalizada neste projeto.

true

actions

[] objeto

Lista do privilégio individual actions que a função concede.

false

inheritedRoles

[] objeto

Lista das funções incorporadas que esta função personalizada herda.

false

Name
Tipo
Descrição
Obrigatório

name

string

Etiqueta legível por humanos que identifica a ação do privilégio.

true

resources

[] objeto

Lista de resources nos quais você concede a ação.

true

Name
Tipo
Descrição
Obrigatório

cluster

booleano

Sinalizador que indica se a ação deve ser concedida no recurso cluster. Se verdadeiro, o MongoDB Nuvem ignora os parâmetros do Banco de Dados e da Coleção.

false

collection

string

Etiqueta legível por humanos que identifica o collection no qual você concede a ação a um usuário MongoDB .

false

database

string

Etiqueta legível por humanos que identifica o database no qual você concede a ação a um usuário MongoDB .

false

Name
Tipo
Descrição
Obrigatório

database

string

Etiqueta legível por humanos que identifica o database no qual alguém concede a ação a um usuário MongoDB .

true

name

string

Etiqueta legível por humanos que identifica a função herdada.

true

Nome do segredo que contém as chaves privadas e públicas da Atlas API.

externalProjectRef contém o ID do grupo pai do Atlas. Mutualmente exclusivo com o campo"projectRef".

Name
Tipo
Descrição
Obrigatório

id

string

ID é o projeto Atlas ID.

true

projectRef é uma referência ao recurso pai AtlasProject. Mutualmente exclusivo com o campo"externalProjectRef".

Name
Tipo
Descrição
Obrigatório

name

string

Nome do Recurso Kubernetes

true

namespace

string

Namespace do Recurso Kubernetes

false

AtlasCustomRoleStatus é um status para o recurso AtlasCustomRole Custom. Não aquele incluído no AtlasProject

Name
Tipo
Descrição
Obrigatório

conditions

[] objeto

Condições é a lista de status que mostra o estado atual do Recurso Personalizado do Atlas

true

observedGeneration

inteiro

ObservedGeneration indica a geração da especificação de recurso da qual o Operador Atlas está ciente. O Operador do Atlas atualiza este campo para o valor de 'metadados.generation' assim que iniciar a reconciliação do recurso. Formato: int64

false

A condição descreve o estado de um recurso personalizado do Atlas em um determinado ponto.

Name
Tipo
Descrição
Obrigatório

status

string

Status da condição; um de verdadeiro, falso, desconhecido.

true

type

string

Tipo de condição do Atlas recurso.

true

lastTransitionTime

string

Última vez que a condição fez a transição de um status para outro. Representado no formato ISO 8601. Formato: data/hora

false

message

string

Um message fornecendo detalhes sobre a transição.

false

reason

string

O reason para a última transição da condição.

false

Voltar

AtlasBackupSchedule

Nesta página