El recurso personalizado AtlasFederatedAuth configura
Autenticación federada para su organización Atlas.
Cuando crea el AtlasFederatedAuth recurso personalizado, Atlas Kubernetes Operator utiliza el recurso API de autenticación federada para actualice la configuración de la organización para la federación. En la configuración de la organización, se especifican la configuración de federación para la organización Atlas, como organización y 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.De manera similar, Atlas Kubernetes Operator no elimina equipos de Atlas si los elimina de un proyecto Atlas en Kubernetes con 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 usar este recurso, debe tener un proveedor de identidad existente (IdP) vinculado a su organización Atlas. Para obtener más información, consulte Aprovechar la autenticación federada de 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 secretoespecificado.
Agrega
my-org-domain.comcomo dominio aprobado.Activa la restricción de dominio para la organización.
Deshabilita la depuración para SSO.
Otorga el rol de
Organization Membera los usuarios tras 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 de
Organization Project CreatoryProject Ownera un proyecto en la organización denominadadev-projecty aplica el mapeo de roles 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 status sección, que describe el proceso de actualización. Para obtener más información, consulte Proceso de creación y actualización.
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
Marca que determina si se habilita la autenticación federada para la organización. El valor predeterminado es
false.
spec.dataAccessIdentityProvidersTipo: lista
Opcional
Lista de valores de cadena que identifican a los proveedores de identidad que 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
passwordcampo con el ID de la organización y las claves de API que Atlas Kubernetes Operator utiliza para conectarse a Atlas. Al crear el secreto, especifiqueorgIDpublicApiKeylosprivateApiKeycampos, y.Las claves de API del secreto deben tener el rol
Organization Owner. Solo se 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
Por defecto, el Atlas Kubernetes Operator mantiene los secretos de conexión en el mismo namespace que el
AtlasProjectRecurso personalizado. Para almacenar secretos en otro namespace, especifique el parámetro spec.connectionSecretRef.namespace.
spec.connectionSecretRef.namespaceTipo: string
Opcional
namespace que contiene el secreto con el Identificador de la Organización y las claves API que el Atlas Kubernetes Operator utiliza para conectar con Atlas. Si omites o no especificas este parámetro, el operador Atlas Kubernetes mantiene los secretos de conexión en el mismo namespace como el
AtlasProjectrecurso personalizado.
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 indica si la restricción de dominio está habilitada para la organización conectada. El valor predeterminado es
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
Banderín que indica si el proveedor de identidad tiene habilitado el modo de depuración para SSO. 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