El AtlasFederatedAuth recurso personalizado configura la 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, especifique la configuración de federación para su organización Atlas, como las asignaciones de organización y roles.
Importante
Los recursos personalizados ya no eliminan objetos de forma predeterminada
El Operador de Kubernetes de Atlas utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas. Sin embargo, a partir del Operador de Kubernetes 2.0 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 evitar 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 2 0de Atlas., consulte 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
Para utilizar 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 secreto especificado.
Agrega
my-org-domain.comcomo dominio aprobado.Habilita la restricción de dominio para la organización.
Deshabilita la depuración para SSO.
Otorga el rol a los usuarios después de la
Organization Memberautenticación.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
Organization Project Creatorroles y para un proyecto en la organización denominadaProject Ownerdev-projecty aplica la asignación de roles a un grupo de IdPdev-teamdenominado.
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 AtlasFederatedAuth recurso personalizado. Para obtener descripciones detalladas de los parámetros, consulte el recurso de la 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 utiliza para configurar la autenticación federada para la organización.
metadata.namespaceTipo: string
Opcional
Espacio de nombres donde desea implementar el recurso personalizado
AtlasFederatedAuth.
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
dataAccessIdentityProvidersparámetro define uno o más proveedores de identidad que se utilizan para el acceso a los datos. Esto significa que se utilizan para acceder a las instancias de la base de datos MongoDB, según lo configurado en el recurso AtlasDatabaseUser. Esto difiere de las opciones existentes en el recurso AtlasFederatedAuth, que se utiliza para configurar el uso de proveedores de identidad 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 API del secreto deben tener el rol. Puedes usar
Organization OwnerAtlasProjectel mismo secreto desde un recurso personalizado solo si el secreto tieneOrganization Ownerpermisos.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 Nota
De forma predeterminada, Atlas Kubernetes Operator guarda los secretos de conexión en el mismo espacio de nombres que el
AtlasProjectrecurso personalizado. Para almacenarlos 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 organización y las claves de 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
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 en esta organización tras la autenticación. Por ejemplo:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLYORG_TEAM_MEMBERS_ADMIN
Para obtener una lista completa de los valores aceptados, consulte el recurso API de autenticación federada.
spec.roleMappingsTipo: matriz de objetos
Opcional
Asignaciones de roles que están configuradas en esta organización.
El parámetro spec.roleMappings.roleAssignments debe incluir al menos un rol de organización dentro de la organización actual o los proyectos de la organización.
spec.roleMappings.externalGroupNameTipo: string
Requerido
Etiqueta única legible por humanos que identifica el grupo de proveedores de identidad al que se aplica esta asignación de rol.
spec.roleMappings.roleAssignmentsTipo: matriz 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 de los proyectos de 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 que identifica el conjunto de privilegios que Atlas otorga a una clave de API, un usuario o un equipo específico. Estos roles incluyen privilegios a nivel de organización y de proyecto.
El operador Atlas Kubernetes acepta los siguientes valores:
ORG_MEMBERORG_READ_ONLYORG_BILLING_ADMINORG_GROUP_CREATORORG_OWNERORG_BILLING_READ_ONLYORG_TEAM_MEMBERS_ADMINGROUP_AUTOMATION_ADMINGROUP_BACKUP_ADMINGROUP_MONITORING_ADMINGROUP_OWNERGROUP_READ_ONLYGROUP_USER_ADMINGROUP_BILLING_ADMINGROUP_DATA_ACCESS_ADMINGROUP_DATA_ACCESS_READ_ONLYGROUP_DATA_ACCESS_READ_WRITEGROUP_CHARTS_ADMINGROUP_CLUSTER_MANAGERGROUP_SEARCH_INDEX_EDITOR