El AtlasIPAccessList recurso personalizado configura una lista de acceso IP para un proyecto Atlas. Esta lista le permite proteger su proyecto mediante una política de acceso mínimo.
Importante
Los recursos personalizados ya no eliminan objetos de forma predeterminada
El operador de Kubernetes de Atlas utiliza Archivosde configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de 2.0 Kubernetes de Atlas, los recursos personalizados que elimine en Kubernetes ya no se eliminan (de forma predeterminada) en Atlas. En su lugar, el Operador de Kubernetes de Atlas simplemente deja de administrar esos recursos en Atlas. Por ejemplo, si elimina un
AtlasProjectRecurso Personalizado en Kubernetes, el Operador de Kubernetes de Atlas ya no elimina automáticamente el proyecto correspondiente de Atlas. Este cambio de comportamiento tiene como objetivo ayudar a prevenir eliminaciones accidentales o inesperadas. Para obtener más información, incluido cómo revertir este comportamiento al valor predeterminado utilizado antes del Operador de Kubernetes de Atlas.,2 0consulte Nuevo valor predeterminado: Protección contra eliminaciones en el Operador de Kubernetes 2 de0 Atlas..De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con Atlas Kubernetes Operator.
Defina explícitamente los detalles de configuración deseados para evitar el uso implícito de los valores predeterminados de Atlas. En algunos casos, heredar los valores predeterminados de Atlas puede generar un bucle de conciliación que impide que su recurso personalizado alcance el estado
READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en su recurso personalizadoAtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en su recurso personalizado no se aplique repetidamente a una implementación de Atlas con el escalado automático habilitado.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
El operador de Kubernetes de Atlas realiza una de las siguientes acciones utilizando el recurso API de lista de acceso IP del proyecto Atlas:
Crea una nueva lista de acceso IP.
Reemplazar una lista de acceso IP existente.
Ejemplos
Ejemplo básico
El siguiente ejemplo muestra un recurso personalizado AtlasIPAccessList que permite el acceso al proyecto my-project desde las siguientes fuentes:
Bloque CIDR
192.168.1.0/24dirección IP
10.0.0.1
El acceso desde 10.0.0.1 vence después del 31de marzo de 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"
Ejemplo de CRD independiente
El siguiente ejemplo muestra un AtlasIPAccessList CRD independiente que permite el acceso desde el mismo bloque CIDR y la misma dirección IP permitida por el Ejemplo Básico. Esta definición de recurso personalizada permite crear una lista de acceso IP en un proyecto administrado fuera de la instancia de Atlas Kubernetes Operator con la que se define este recurso. Para habilitar la operación independiente, debe usar un externalProjectRef en lugar de un projectRef y proporcionar un connectionSecret directamente, ya que este recurso no puede heredar las credenciales de API de su proyecto principal.
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 sección describe los AtlasIPAccessList parámetros de recursos personalizados disponibles.
metadata.nameTipo: string
Requerido
Nombre que utiliza
AtlasIPAccessListel recurso personalizado para agregar esta lista de acceso IP a un proyecto.
metadata.namespaceTipo: string
Opcional
Espacio de nombres distinto de
defaultque desea que contenga el recurso personalizadoatlasIPAccessList.
spec.connectionSecret.nameTipo: string
Condicional
Nombre del secreto opaco que contiene el Identificador de la Organización y las claves API que el Atlas Kubernetes Operator utiliza para conectarse a Atlas. Si no se especifica, Atlas Kubernetes Operator elige por defecto una de las siguientes opciones:
El parámetro
spec.connectionSecretRef.namedel padreatlasProjectEl secreto predeterminado
global, sispec.connectionSecretRef.nameno está definido para el padreatlasProject
Este parámetro es necesario para CRD independientes.
El operador Atlas Kubernetes solo observa secretos con la etiqueta
atlas.mongodb.com/type=credentialspara evitar observar secretos innecesarios.El siguiente ejemplo etiqueta un secreto:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.entriesTipo: arreglo
Requerido
Conjunto de fuentes de conexión desde las que permitir el acceso al proyecto.
spec.entries.[n].awsSecurityGroupTipo: string
Condicional
Identificador único del grupo de seguridad AWS desde el cual conceder acceso al proyecto.
Cada entrada en
spec.entriesdebe tener uno y sólo uno deawsSecurityGroup,cidrBlockoipAddress.
spec.entries.[n].cidrBlockTipo: string
Condicional
Rango de direcciones IP en notación de bloque CIDR desde el que se otorgará acceso al proyecto.
Cada entrada en
spec.entriesdebe tener uno y sólo uno deawsSecurityGroup,cidrBlockoipAddress.
spec.entries.[n].commentTipo: string
Opcional
Comentario asociado con esta entrada en la lista de acceso.
spec.entries.[n].deleteAfterDateTipo: string
Opcional
Fecha y hora después de la cual Atlas elimina la entrada de la lista de acceso temporal.
Para crear una entrada de lista de acceso permanente, omita este parámetro.
spec.entries.[n].ipAddressTipo: string
Opcional
Dirección IP única desde la que otorgar acceso al proyecto.
Cada entrada en
spec.entriesdebe tener uno y sólo uno deawsSecurityGroup,cidrBlockoipAddress.
spec.externalProjectRef.idTipo: string
Condicional
ID del proyecto al que pertenece la lista de acceso IP. Debe especificar el ID de proyecto de un proyecto Atlas existente. Este parámetro es obligatorio para las listas de acceso IP que pertenecen a proyectos gestionados por:
Una instancia diferente de Atlas Kubernetes Operator
Herramientas distintas a Atlas Kubernetes Operator
Para las implementaciones que pertenecen a proyectos administrados por la misma instancia de Atlas Kubernetes Operator, use
spec.projectRef.namesi no usaspec.externalProjectRef.id.Una lista de acceso IP solo puede pertenecer a un proyecto. Para definir la misma lista de acceso IP para varios proyectos, cree definiciones de recursos personalizadas para cada proyecto.
spec.projectRef.nameTipo: string
Condicional
Nombre del proyecto al que pertenece la lista de acceso IP. Debe especificar un recurso personalizado existente. Este parámetro solo se aplica a las listas de acceso IP que pertenecen a proyectos administrados por la misma instancia del operador de Atlas
AtlasProjectKubernetes.Para implementaciones que pertenecen a proyectos administrados por:
una instancia diferente de Atlas Kubernetes Operator
herramientas distintas de Atlas Kubernetes Operator
utilice
spec.externalProjectRef.id.Una lista de acceso IP solo puede pertenecer a un proyecto. Para definir la misma lista de acceso IP para varios proyectos, cree definiciones de recursos personalizadas para cada proyecto.
spec.projectRef.namespaceTipo: string
Condicional
Espacio de nombres en el que
AtlasProjectspec.projectRef.nameexiste el recurso personalizado especificado en.No configure este parámetro para implementaciones que pertenezcan a proyectos administrados por:
una instancia diferente de Atlas Kubernetes Operator
herramientas distintas de Atlas Kubernetes Operator