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
Las definiciones de recursos personalizados tienen prioridad
Atlas Kubernetes Operator utiliza archivos de configuración de recursos personalizados para administrar la configuración de Atlas. Cada definición de recurso personalizado anula la configuración especificada de otras maneras, como en la interfaz de usuario de Atlas. Si elimina un recurso personalizado, Atlas Kubernetes Operator elimina el objeto de Atlas a menos que utilice anotaciones para omitir la eliminación. Para obtener más información, consulte los procesos de creación y actualización y de eliminación.
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 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.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_ONLY
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_ONLYGROUP_OWNERGROUP_READ_ONLYGROUP_DATA_ACCESS_ADMINGROUP_DATA_ACCESS_READ_ONLYGROUP_DATA_ACCESS_READ_WRITEGROUP_CLUSTER_MANAGERGROUP_SEARCH_INDEX_EDITOR