# Mapeo de grupos





El mapeo de grupos sincroniza automáticamente los grupos de usuarios de tu proveedor de identidad (IdP) con los equipos de tu organización de Docker. Por ejemplo, cuando añades a un desarrollador al grupo "backend-team" en tu IdP, este se añade automáticamente al equipo correspondiente en Docker.

Esta página explica cómo funciona el mapeo de grupos y cómo configurarlo.

> [!TIP]
>
> El mapeo de grupos es ideal para añadir usuarios a varias organizaciones o a varios equipos dentro de una sola organización. Si no necesitas configurar la asignación a varias organizaciones o equipos, los [atributos a nivel de usuario](/enterprise/security/provisioning/scim/group-mapping/provision-scim/#set-up-role-mapping) de SCIM pueden adaptarse mejor a tus necesidades.

## Requisitos previos

Antes de comenzar, debes tener:

- SSO configurado para tu organización
- Acceso de administrador a Docker Home y a tu proveedor de identidad

## Cómo funciona el mapeo de grupos

El mapeo de grupos mantiene sincronizados tus equipos de Docker con los grupos de tu IdP a través de los siguientes componentes clave:

- Flujo de autenticación: Cuando los usuarios inician sesión a través de SSO, tu IdP comparte los atributos del usuario con Docker, incluyendo correo electrónico, nombre y pertenencia a grupos.
- Actualizaciones automáticas: Docker utiliza estos atributos para crear o actualizar perfiles de usuario y gestionar las asignaciones de equipos según los cambios en los grupos del IdP.
- Identificación única: Docker utiliza las direcciones de correo electrónico como identificadores únicos, por lo que cada cuenta de Docker debe tener una dirección de correo electrónico única.
- Sincronización de equipos: La pertenencia de los usuarios a los equipos en Docker refleja automáticamente los cambios realizados en los grupos de tu IdP.

## Configurar el mapeo de grupos

La configuración del mapeo de grupos implica configurar tu proveedor de identidad para que comparta la información del grupo con Docker. Esto requiere:

- Crear grupos en tu IdP utilizando el formato de nomenclatura de Docker.
- Configurar atributos para que tu IdP envíe los datos del grupo durante la autenticación.
- Añadir usuarios a los grupos adecuados.
- Probar la conexión para garantizar que los grupos se sincronicen correctamente.

Puedes usar el mapeo de grupos solo con SSO, o tanto con SSO como con SCIM para una gestión mejorada del ciclo de vida del usuario.

### Formato de nomenclatura de grupos

Crea grupos en tu IdP utilizando el formato: `organización:equipo`.

Por ejemplo:

- Para el equipo "developers" en la organización "moby": `moby:developers`
- Para el acceso a varias organizaciones: `moby:backend` y `whale:desktop`

Docker crea los equipos automáticamente si no existen cuando los grupos se sincronizan.

### Atributos admitidos

| Atributo           | Descripción                                                                            |
| :----------------- | :------------------------------------------------------------------------------------- |
| `id`               | ID único del grupo en formato UUID. Este atributo es de solo lectura.                  |
| `displayName`      | Nombre del grupo que sigue el formato de mapeo de grupos: `organización:equipo`.       |
| `members`          | Una lista de usuarios que son miembros de este grupo.                                  |
| `members(x).value` | ID único del usuario que es miembro de este grupo. Los miembros se referencian por ID. |

## Configure group mapping with SSO

Usa el mapeo de grupos con conexiones SSO que utilizan el método de autenticación SAML.

> [!NOTE]
>
> El mapeo de grupos con SSO no es compatible con el método de autenticación de Azure AD (OIDC). SCIM no es necesario para estas configuraciones.

**Okta**



La interfaz de usuario de tu IdP puede diferir ligeramente de los siguientes pasos. Consulta la [documentación de Okta](https://help.okta.com/oie/en-us/content/topics/apps/define-group-attribute-statements.htm) para verificarlo.

Para configurar el mapeo de grupos:

1. Inicia sesión en Okta y abre tu aplicación.
2. Navega a la página **SAML Settings** (Ajustes de SAML) para tu aplicación.
3. En la sección **Group Attribute Statements (optional)** (Declaraciones de atributos de grupo, opcional), realiza la siguiente configuración:
   - **Name** (Nombre): `groups`
   - **Name format** (Formato de nombre): `Unspecified`
   - **Filter** (Filtro): `Starts with` (Comienza con) + `organización:` donde `organización` es el nombre de tu organización.
     La opción de filtro filtrará los grupos que no están afiliados a tu organización de Docker.
4. Crea tus grupos seleccionando **Directory** (Directorio) y luego **Groups** (Grupos).
5. Añade tus grupos usando el formato `organización:equipo` que coincida con los nombres de tu organización y equipos en Docker.
6. Asigna usuarios a los grupos que crees.

La próxima vez que sincronices tus grupos con Docker, tus usuarios se asignarán a los grupos de Docker que definiste.

**Entra ID**



La interfaz de usuario de tu IdP puede diferir ligeramente de los siguientes pasos. Consulta la [documentación de Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/customize-application-attributes) para verificarlo.

Para configurar el mapeo de grupos:

1. Inicia sesión en Entra ID y abre tu aplicación.
2. Selecciona **Manage** (Gestionar), luego **Single sign-on** (Inicio de sesión único).
3. Selecciona **Add a group claim** (Añadir una reclamación de grupo).
4. En la sección Group Claims (Reclamaciones de grupo), selecciona **Groups assigned to the application** (Grupos asignados a la aplicación) con el atributo de origen **Cloud-only group display names (Preview)**.
5. Selecciona **Advanced options** (Opciones avanzadas), luego la opción **Filter groups** (Filtrar grupos).
6. Configura el atributo como se indica a continuación:
   - **Attribute to match** (Atributo a coincidir): `Display name`
   - **Match with** (Coincidir con): `Contains` (Contiene)
   - **String** (Cadena): `:`
7. Selecciona **Save** (Guardar).
8. Selecciona **Groups** (Grupos), **All groups** (Todos los grupos), luego **New group** (Nuevo grupo) para crear tus grupos.
9. Asigna usuarios a los grupos que crees.

La próxima vez que sincronices tus grupos con Docker, tus usuarios se asignarán a los grupos de Docker que definiste.



## Configure group mapping with SCIM

Usa el mapeo de grupos con SCIM para una gestión más avanzada del ciclo de vida del usuario. Antes de comenzar, asegúrate de haber [configurado SCIM](/enterprise/security/provisioning/scim/provision-scim/#enable-scim) primero.

**Okta**



La interfaz de usuario de tu IdP puede diferir ligeramente de los siguientes pasos. Consulta la [documentación de Okta](https://help.okta.com/en-us/Content/Topics/users-groups-profiles/usgp-enable-group-push.htm) para verificarlo.

Para configurar tus grupos:

1. Inicia sesión en Okta y abre tu aplicación.
2. Selecciona **Applications** (Aplicaciones), luego **Provisioning** (Aprovisionamiento) e **Integration** (Integración).
3. Selecciona **Edit** (Editar) para habilitar los grupos en tu conexión, luego selecciona **Push groups** (Enviar grupos).
4. Selecciona **Save** (Guardar). Guardar esta configuración añadirá la pestaña **Push Groups** a tu aplicación.
5. Crea tus grupos navegando a **Directory** (Directorio) y seleccionando **Groups** (Grupos).
6. Añade tus grupos usando el formato `organización:equipo` que coincida con los nombres de tu organización y equipos en Docker.
7. Asigna usuarios a los grupos que crees.
8. Regresa a la página **Integration** (Integración), luego selecciona la pestaña **Push Groups** para abrir la vista donde puedes controlar y gestionar cómo se aprovisionan los grupos.
9. Selecciona **Push Groups**, luego **Find groups by rule** (Buscar grupos por regla).
10. Configura los grupos por regla como se indica a continuación:
    - Introduce un nombre de regla, por ejemplo `Sync groups with Docker Hub`
    - Coincidir grupo por nombre, por ejemplo, que comience con `docker:` o contenga `:` para varias organizaciones.
    - Si habilitas **Immediately push groups by rule** (Enviar grupos por regla inmediatamente), la sincronización ocurrirá tan pronto como haya un cambio en el grupo o en las asignaciones de grupo. Habilita esto si no deseas enviar los grupos manualmente.

Encuentra tu nueva regla en **By rule** (Por regla) en la columna **Pushed Groups** (Grupos enviados). Los grupos que coinciden con esa regla se enumeran en la tabla de grupos en el lado derecho.

Para enviar los grupos desde esta tabla:

1. Selecciona **Group in Okta**.
2. Selecciona el menú desplegable **Push Status** (Estado de envío).
3. Selecciona **Push Now** (Enviar ahora).

**Entra ID**



La interfaz de usuario de tu IdP puede diferir ligeramente de los siguientes pasos. Consulta la [documentación de Entra ID](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/customize-application-attributes) para verificarlo.

Completa lo siguiente antes de configurar el mapeo de grupos:

1. Inicia sesión en Entra ID y ve a tu aplicación.
2. In tu aplicación, selecciona **Provisioning** (Aprovisionamiento), luego **Mappings** (Mapeos).
3. Selecciona **Provision Microsoft Entra ID Groups** (Aprovisionar grupos de Microsoft Entra ID).
4. Selecciona **Show advanced options** (Mostrar opciones avanzadas), luego **Edit attribute list** (Editar lista de atributos).
5. Actualiza el tipo de `externalId` a `reference`, luego selecciona la casilla de verificación **Multi-Value** y elige el atributo de objeto referenciado `urn:ietf:params:scim:schemas:core:2.0:Group`.
6. Selecciona **Save** (Guardar), luego **Yes** (Sí) para confirmar.
7. Ve a **Provisioning** (Aprovisionamiento).
8. Cambia **Provision Status** (Estado de aprovisionamiento) a **On** (Activado), luego selecciona **Save** (Guardar).

A continuación, configura el mapeo de grupos:

1. Ve a la página de descripción general de la aplicación.
2. Bajo **Provision user accounts** (Aprovisionar cuentas de usuario), selecciona **Get started** (Comenzar).
3. Selecciona **Add user/group** (Añadir usuario/grupo).
4. Crea tus grupos utilizando el formato `organización:equipo`.
5. Asigna el grupo al grupo de aprovisionamiento.
6. Selecciona **Start provisioning** (Iniciar aprovisionamiento) para comenzar la sincronización.

Para verificarlo, selecciona **Monitor** (Monitorear), luego **Provisioning logs** (Registros de aprovisionamiento) para ver que tus grupos se aprovisionaron correctamente. En tu organización de Docker, puedes comprobar que los grupos se aprovisionaron correctamente y que los miembros se añadieron a los equipos correspondientes.



Una vez completado, un usuario que inicie sesión en Docker a través de SSO se añadirá automáticamente a las organizaciones y equipos mapeados en el IdP.

> [!TIP]
>
> [Habilita SCIM](/enterprise/security/provisioning/scim/group-mapping/provision-scim/) para aprovechar el aprovisionamiento y desaprovisionamiento automático de usuarios. Si no habilitas SCIM, los usuarios solo se aprovisionarán automáticamente. Tendrás que desaprovisionarlos manualmente.

## Siguientes pasos

- [Asignar roles](/enterprise/security/roles-and-permissions/core-roles/) a los miembros de tu organización.
- [Exigir inicio de sesión](/enterprise/security/enforce-sign-in/), si es necesario.

