Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

AtlasCustomRole Recurso personalizado

Importante

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

O AtlasCustomRole recurso personalizado do define uma função de banco de dados personalizada para alocar privilégios para seus usuários de 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

  • Reference the project ID of your Atlas project in the AtlasCustomRole custom resource, for projects you don't manage with 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

The following example shows an AtlasCustomRole independent CRD that defines the same shard-operator custom role defined in the Basic Example. This custom resource definition allows you to create this role in a project you don't manage in the same instance of Atlas Kubernetes Operator with which you define this resource. To enable independent operation, you must use an externalProjectRef instead of a projectRef, and you must supply a connectionSecret directly since this resource can't inherit API credentials from its parent 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:
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ção:

  • (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.

Name
Tipo
Descrição
Obrigatório

name

string

Nome do recurso que está sendo referenciado Mais informações: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

true

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