O AtlasIPAccessList
recurso personalizado do configura uma lista de acesso IP do para um projeto do Atlas . Uma lista de acesso IP permite proteger seu projeto usando uma política de acesso mínimo.
Importante
Os Recursos Personalizados Não Excluem Mais Objetos por Padrão
O Atlas Kubernetes Operator usa 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 em 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 2 0Operator., consulte 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 personalizadoAtlasDeployment
, 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 de API Lista de acesso IP do Projeto Atlas :
Cria uma nova lista de acesso IP.
Substituir uma lista de acesso IP existente .
Exemplos
Exemplo básico
O exemplo seguinte mostra um recurso personalizado do AtlasIPAccessList
que permite acesso ao projeto do my-project
a partir das seguintes fontes:
cidrBlock
192.168.1.0/24
Endereço IP
10.0.0.1
O acesso de 10.0.0.1
expira após 31de março, 2025.
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: projectRef: name: my-project namespace: my-operator-namespace entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Exemplo de CRD independente
O exemplo a seguir mostra um AtlasIPAccessList
CRD independente que permite o acesso a partir do mesmo bloco CIDR e endereço IP permitidos pelo Exemplo Básico. Esta definição de recurso personalizado permite a você criar uma lista de acesso IP em um projeto que você gerencia fora da 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: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
Parâmetros
Esta seção descreve os parâmetros de recurso personalizado AtlasIPAccessList
disponíveis.
metadata.name
Tipo: string
Obrigatório
Nome que o
AtlasIPAccessList
Recurso Personalizado usa para adicionar esta lista de acesso IP a um projeto.
metadata.namespace
Tipo: string
Opcional
Namespace diferente do
default
que você deseja que contenha o recurso personalizado doatlasIPAccessList
.
spec.connectionSecret.name
Tipo: string
Condicional
Nome do segredo opaco que contém o ID da organização e as chaves de API que o Atlas Kubernetes Operator usa para se conectar ao Atlas. Se não for especificado, o Atlas Kubernetes Operator padronizará para uma das seguintes opções:
O parâmetro
spec.connectionSecretRef.name
doatlasProject
paiO segredo
global
padrão, sespec.connectionSecretRef.name
estiver indefinido para oatlasProject
pai
Esse parâmetro é necessário para CRDs independentes.
Atlas Kubernetes Operator observa segredos apenas com a etiqueta
atlas.mongodb.com/type=credentials
para evitar a exibição de segredos desnecessários .O exemplo a seguir rotula um segredo:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.entries
Tipo: array
Obrigatório
Conjunto de fontes de conexão a partir dos quais permitir acesso ao projeto.
spec.entries.[n].awsSecurityGroup
Tipo: string
Condicional
Identificador exclusivo do grupo de segurança da Amazon Web Services a partir do qual conceder acesso ao projeto.
Cada entrada em
spec.entries
deve ter um e apenas um deawsSecurityGroup
,cidrBlock
ouipAddress
.
spec.entries.[n].cidrBlock
Tipo: string
Condicional
Faixa de endereços IP na notação de bloco CIDR a partir da qual conceder acesso ao projeto.
Cada entrada em
spec.entries
deve ter um e apenas um deawsSecurityGroup
,cidrBlock
ouipAddress
.
spec.entries.[n].deleteAfterDate
Tipo: string
Opcional
Data e hora após as quais o Atlas exclui a entrada temporária da lista de acesso.
Para criar uma entrada de lista de acesso permanente, omita este parâmetro.
spec.entries.[n].ipAddress
Tipo: string
Opcional
Endereço IP único a partir do qual conceder acesso ao projeto.
Cada entrada em
spec.entries
deve ter um e apenas um deawsSecurityGroup
,cidrBlock
ouipAddress
.
spec.externalProjectRef.id
Tipo: string
Condicional
ID do projeto ao qual pertence a lista de acesso IP . Você deve especificar o ID do projeto de um Atlas Project existente. Esse parâmetro é necessário para listas de acesso IP que pertencem a projetos gerenciados por:
Uma instância diferente do Atlas Kubernetes Operator
Ferramentas diferentes do Atlas Kubernetes Operator
Para implantações que pertencem a projetos gerenciados pela mesma instância do Atlas Kubernetes Operator, utilize o
spec.projectRef.name
se você não utilizar ospec.externalProjectRef.id
.Uma lista de acesso IP pode pertencer a somente um projeto. Para definir a mesma lista de acesso IP para vários projetos, crie definições de recursos personalizadas para cada projeto.
spec.projectRef.name
Tipo: string
Condicional
Nome do projeto ao qual pertence a lista de acesso IP . Você deve especificar um
AtlasProject
Recurso Personalizado existente. Este parâmetro se aplica somente a listas de acesso IP que pertencem a projetos gerenciados pela mesma instância do Atlas Kubernetes Operator.Para implementações que pertencem a projetos gerenciados por:
uma instância diferente do Atlas Kubernetes Operator
ferramentas diferentes do Atlas Kubernetes Operator
usar
spec.externalProjectRef.id
.Uma lista de acesso IP pode pertencer somente a um projeto. Para definir a mesma lista de acesso IP para vários projetos, crie definições de recursos personalizadas para cada projeto.
spec.projectRef.namespace
Tipo: string
Condicional
Namespace no qual o
AtlasProject
Recurso Personalizado especificadospec.projectRef.name
no existe.Não defina este parâmetro para implantações que pertencem a projetos gerenciados por:
uma instância diferente do Atlas Kubernetes Operator
ferramentas diferentes do Atlas Kubernetes Operator