El recurso personalizado AtlasFederatedAuth configura la autenticación federada para tu organización Atlas.
Cuando se crea el recurso personalizado AtlasFederatedAuth, el Atlas Kubernetes Operator utiliza el Recurso de API de Autenticación Federada para actualizar la configuración de la organización para la federación. En la configuración de la organización, se especifican los ajustes de federación para su organización de Atlas, como la organización y las asignaciones de roles.
Importante
Recursos personalizados ya no borran objetos por defecto
Atlas Kubernetes Operator uses custom resource archivos de configuración to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you borrar in Kubernetes are no longer (por defecto) borrados in Atlas. En su lugar, Atlas Kubernetes Operator simplemente deja de gestionar esos recursos en Atlas. Por ejemplo, si eliminas un
AtlasProjectCustom recurso en Kubernetes, de forma predeterminada, el Atlas Kubernetes Operator ya no elimina automáticamente el Proyecto correspondiente de Atlas. Este cambio de comportamiento está diseñado para ayudar a prevenir eliminaciones accidentales o inesperadas. Para saber más, incluido cómo revertir este comportamiento al por defecto utilizado antes de Atlas Kubernetes Operator 2.0, consulta Nuevo valor por defecto: Protección de Eliminación en Atlas Kubernetes Operator 2.0.Del mismo modo, Atlas Kubernetes Operator no elimina los equipos de Atlas si los eliminas de un proyecto Atlas en Kubernetes utilizando Atlas Kubernetes Operator.
Define explícitamente los detalles de configuración que deseas para evitar el uso implícito de los valores de configuración por defecto de Atlas. En algunos casos, heredar los valores por defecto de Atlas puede crear un ciclo de conciliación que impida que el recurso personalizado alcance un estado de
READY. Por ejemplo, definir explícitamente el comportamiento de escalado automático deseado en el recurso personalizadoAtlasDeployment, como se muestra en el ejemplo incluido, garantiza que un tamaño de instancia estático en el recurso personalizado no se aplique repetidamente a una implementación de Atlas que tiene el escalado automático habilitado.autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Para utilizar este recurso, debe tener un proveedor de identidades (IdP) existente vinculado a su organización de Atlas. Para saber más, consulte Aprovechar la autenticación federada desde Kubernetes.
Ejemplos
El siguiente ejemplo configura un recurso personalizado AtlasFederatedAuth que hace lo siguiente:
Habilita la autenticación federada para la organización vinculada al secreto indicado.
Agrega
my-org-domain.comcomo dominio aprobado.Activa la restricción de dominio para la organización.
Deshabilita la depuración para SSO.
Concede el
Organization Memberrol a los usuarios después de autenticarse.Asigna el rol
Organization Ownerpara la organización y aplica la asignación de roles a un grupo de proveedor de identidad denominadoorg-admin.Asigna los roles
Organization Project CreatoryProject Ownerpara un Proyecto en la organización denominadadev-projecty aplica la asignación de rol a un grupo de proveedor de identidad denominadodev-team.
apiVersion: atlas.mongodb.com/v1 kind: AtlasFederatedAuth metadata: name: atlas-default-federated-auth namespace: mongodb-atlas-system spec: enabled: true dataAccessIdentityProviders: - 32b6e34b3d91647abb20e7b8 - 42d8v92k5a34184rnv93f0c1 connectionSecretRef: name: my-org-secret namespace: mongodb-atlas-system domainAllowList: - my-org-domain.com domainRestrictionEnabled: true ssoDebugEnabled: false postAuthRoleGrants: - ORG_MEMBER roleMappings: - externalGroupName: org-admin roleAssignments: - role: ORG_OWNER - externalGroupName: dev-team roleAssignments: - role: ORG_GROUP_CREATOR - projectName: dev-project role: GROUP_OWNER status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
Nota
El ejemplo anterior incluye la sección status, que describe el proceso de actualizacion. Para obtener más información, consulte Crear y actualizar proceso.
Parámetros
Esta sección describe los parámetros disponibles para el recurso personalizado AtlasFederatedAuth. Para obtener descripciones detalladas de los parámetros, consulta el Recursos del API de autenticación federada de Atlas.
Consulta estas descripciones, el ejemplo en esta página y la documentación de la API para personalizar tus especificaciones.
metadata.nameTipo: string
Requerido
Nombre que identifica el recurso personalizado
AtlasFederatedAuthque Atlas Kubernetes Operator emplea para configurar la autenticación federada de la organización.
metadata.namespaceTipo: string
Opcional
Namespace en el que se desea contener el recurso personalizado
atlasFederatedAuth. Si no se especifica, Atlas Kubernetes Operator utiliza el espacio de nombres actual establecido porkubectl.
spec.enabledTipo: booleano
Requerido
Indicador que determina si se habilita la autenticación federada para la organización. Se establece como por defecto en
false.
spec.dataAccessIdentityProvidersTipo: lista
Opcional
Lista de valores de strings que identifican a los proveedores de identidad que el Atlas Kubernetes Operator utiliza para configurar la autenticación federada para la organización.
Nota
El parámetro
dataAccessIdentityProvidersdefine uno o varios proveedores de identidad que se utilizan para el acceso a los datos. Esto significa que se utilizan para acceder a las instancias reales de la base de datos de MongoDB, tal como se configura en el recurso AtlasDatabaseUser. Esto es diferente de las opciones existentes en el recurso AtlasFederatedAuth que se utiliza para configurar el uso de proveedores de identidades para la Interfaz de Usuario de Atlas.
spec.connectionSecretRef.nameTipo: string
Requerido
Nombre del secreto opaco que contiene un único campo
passwordcon el ID de la organización y las claves API que Atlas Kubernetes Operator utiliza para conectarse a Atlas. Al crear el secreto, especifique los camposorgID,publicApiKeyyprivateApiKey.Las claves API del secreto deben tener el
Organization Ownerrol. Puede utilizar el mismo secreto de unAtlasProjectrecurso personalizado solo si el secreto tieneOrganization Ownerpermisos.El Atlas Kubernetes Operator supervisa los secretos solo con la etiqueta
atlas.mongodb.com/type=credentialspara evitar la supervisión de secretos innecesarios.El siguiente ejemplo etiqueta un secreto:
kubectl label secret the-user-password atlas.mongodb.com/type=credentials Nota
De forma predeterminada, Atlas Kubernetes Operator guarda los secretos de conexión en el mismo espacio de nombres que el recurso personalizado
AtlasProject. Para almacenar los secretos en otro espacio de nombres, especifique el parámetro spec.connectionSecretRef.namespace.
spec.connectionSecretRef.namespaceTipo: string
Opcional
Espacio de nombres que contiene el secreto con el ID de la organización y las claves API que Atlas Kubernetes Operator utiliza para conectarse a Atlas. Si omite o no especifica este parámetro, Atlas Kubernetes Operator guarda los secretos de conexión en el mismo espacio de nombres que el recurso personalizado
AtlasProject.
spec.domainAllowListTipo: arreglo de cadenas
Opcional
Dominios aprobados que restringen a los usuarios que pueden unirse a la organización en función de sus direcciones de correo electrónico.
spec.domainRestrictionEnabledTipo: booleano
Requerido
Indicador que señala si la restricción del dominio está habilitada para la organización conectada. Se establece como por defecto en
false.Si configuras este parámetro en
true, Atlas devolverá una lista de usuarios que pertenezcan a organizaciones fuera de la federación. Para obtener más información, consulta Conflictos de Usuarios.
spec.ssoDebugEnabledTipo: booleano
Opcional
Indicador que muestra si el proveedor de identidad tiene la depuración de SSO habilitada. Por defecto es
false.
spec.postAuthRoleGrantsTipo: arreglo de cadenas
Opcional
Roles de Atlas que se otorgan a un usuario de esta organización después de la autenticación. Por ejemplo:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLY
Para ver una lista completa de los valores aceptados, consulta el Recurso de API de Autenticación Federada.
spec.roleMappingsTipo: arreglo de objetos
Opcional
Mapeos de roles que están configurados en esta organización.
Las asignaciones de roles de spec.roleMappings El parámetro debe incluir al menos un rol organizativo dentro de la organización actual o de los proyectos en la organización.
spec.roleMappings.externalGroupNameTipo: string
Requerido
Etiqueta única legible por humanos que identifica el grupo de proveedor de identidad al que se aplica este mapeo de roles.
spec.roleMappings.roleAssignmentsTipo: arreglo de objetos
Opcional
Roles de Atlas y los identificadores únicos de los grupos y organizaciones asociados a cada rol. Este parámetro debe incluir al menos un rol de organización dentro de la organización actual o los proyectos en la organización.
spec.roleMappings.roleAssignments.projectNameTipo: string
Opcional
El proyecto Atlas en la misma organización a la que asociar el rol.
spec.roleMappings.roleAssignments.roleTipo: string
Opcional
Etiqueta legible por humanos que identifica la colección de privilegios que Atlas otorga a una clave API, usuario o equipo específico. Estos roles incluyen privilegios a nivel de organización y de proyecto.
Atlas Kubernetes Operator acepta los siguientes valores:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLYGROUP_OWNERGROUP_READ_ONLYGROUP_DATA_ACCESS_ADMINGROUP_DATA_ACCESS_READ_ONLYGROUP_DATA_ACCESS_READ_WRITEGROUP_CLUSTER_MANAGERGROUP_SEARCH_INDEX_EDITOR