---
title: Inicio de sesión único
url: https://platform.claude.com/docs/es/managed-agents/self-hosted/configure
description: Permite que personas y servicios llamen a tu servidor de Claude Managed Agents autoalojado con tokens de tu proveedor de identidad.
---

<Note>
  Para solicitar acceso a Claude Managed Agents autoalojado, ponte en contacto con el equipo de tu cuenta de Anthropic.
</Note>

De forma predeterminada, tu servidor acepta una clave compartida, la [clave de API del servidor](https://platform.claude.com/docs/es/managed-agents/self-hosted#the-three-credentials). Con el inicio de sesión único, cada persona o servicio también puede llamar al servidor con un token de tu proveedor de identidad OpenID Connect (OIDC). El servidor asigna al llamante un rol a partir de los grupos del token. La clave de API del servidor sigue funcionando como credencial de administrador.

Esta página muestra cómo agregar tu proveedor de identidad, qué puede hacer cada rol y cómo permitir que los desarrolladores inicien sesión desde una terminal.

## Agregar tu proveedor de identidad

<Steps>
  <Step title="Registra el servidor en tu proveedor de identidad">
    Registra el servidor como una API con un identificador como `api://cma-server`, y haz que los clientes soliciten tokens para ella.
  </Step>

  <Step title="Indica el proveedor de identidad en el archivo de configuración">
    Agrega una entrada en `auth.issuers` en el [archivo de configuración](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#where-settings-go):

    ```yaml
    auth:
      issuers:
        - name: okta
          issuer_url: https://login.example.com/oauth2/default
          audiences: [api://cma-server]
          roles:
            - group: cma-admins
              role: admin
            - group: "eng-*"
              role: developer
    ```

    * `name` etiqueta al emisor en las líneas del registro, y el servidor lo registra como parte del creador de cada recurso. No lo cambies una vez que las personas hayan creado recursos.
    * `issuer_url` debe ser igual a la afirmación `iss` de tus tokens.
    * `audiences` enumera los valores que puede llevar la afirmación `aud` de un token, como el identificador del primer paso.
    * `roles` asigna un grupo a `admin`, `developer` o `user`. Gana el rol coincidente más alto.

    Para los demás campos, consulta [Entradas de emisor](https://platform.claude.com/docs/es/managed-agents/self-hosted/configuration-reference#issuer-entries). Si tu proveedor es Microsoft Entra ID, consulta también [Microsoft Entra ID](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure#microsoft-entra-id).
  </Step>

  <Step title="Reinicia el servidor y comprueba el inicio de sesión">
    Reinicia el servidor. Un llamante envía el token como `Authorization: Bearer <token>`, en cualquier ruta que acepte la clave de API del servidor.

    Para cada solicitud que autenticó un token, el servidor registra `auth=oidc`, el `name` del emisor y el sujeto del llamante (`sub=`).
  </Step>
</Steps>

### Si el inicio de sesión falla

| Respuesta                                            | Causa                                                                        | La línea del registro del servidor contiene |
| ---------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------- |
| `401`, el mismo que para una clave de API incorrecta | El token no superó una comprobación. La línea del registro indica el motivo. | `oidc token`                                |
| `403`                                                | Los grupos del token no coinciden con ninguna entrada de `roles`             | `token holds no role`                       |

### Microsoft Entra ID

Entra ID se diferencia de otros proveedores en dos aspectos. Ambos ajustes van en la entrada del emisor:

* **La persona:** Entra ID asigna a una persona un `sub` diferente en cada aplicación cliente, así que el valor predeterminado registraría a una misma persona como varios creadores. Establece `subject_claim: oid`.
* **Los grupos:** Entra ID omite la afirmación `groups` de un token si la persona pertenece a muchos grupos. Entonces esa persona no coincide con ninguna entrada de `roles`. Para evitarlo, haz que Entra ID emita solo los grupos asignados a la aplicación. O asigna roles de aplicación a las personas en Entra ID y establece `groups_claim: roles` para que el servidor lea los roles de aplicación en lugar de los grupos.

## Qué puede hacer cada rol

| Rol                                     | Agentes, skills, sesiones, vaults y almacenes de memoria | Entornos                                              |
| --------------------------------------- | -------------------------------------------------------- | ----------------------------------------------------- |
| `admin`, y la clave de API del servidor | Ve y cambia todo                                         | Los crea, los cambia y los elimina, y crea sus claves |
| `developer` o `user`                    | Ve y cambia solo lo que ese llamante creó                | Los lista, los lee y ejecuta sesiones en ellos        |

`developer` y `user` tienen el mismo acceso. Un llamante con cualquiera de estos roles:

* **No puede ver un recurso que creó otra persona.** El recurso no aparece en las listas, y una solicitud de su ID recibe la misma respuesta que una solicitud de un ID desconocido. Eso incluye todo lo creado con la clave de API del servidor antes de que activaras el inicio de sesión único.
* **No puede compartir un recurso** con otro llamante ni con un grupo.

Asigna `admin` a nombres de grupo exactos. Un administrador también puede iniciar una sesión que use el vault de cualquier usuario. Así que otorga el rol solo a grupos a los que confiarías los tokens de MCP de todos los usuarios.

## Permitir que los desarrolladores inicien sesión desde una terminal

Los desarrolladores pueden iniciar sesión a través de tu proveedor de identidad y luego usar la CLI `ant` con su propia identidad, sin la clave de API del servidor. Tú haces los dos primeros pasos, y cada desarrollador hace el tercero.

<Steps>
  <Step title="Registra una aplicación en tu proveedor de identidad">
    Registra una aplicación nativa (“pública”) que tenga:

    * Ningún secreto de cliente
    * La concesión de código de autorización con PKCE
    * El URI de redirección `http://127.0.0.1/callback`

    Algunos proveedores necesitan uno de los [otros URI de redirección](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure#other-redirect-uris).
  </Step>

  <Step title="Agrega la aplicación a la entrada del emisor">
    Agrega `login_client_id` y `login_scopes` a la entrada del emisor y reinicia el servidor:

    ```yaml
    login_client_id: 0oa1b2c3d4e5f6g7h8i9
    login_scopes: [openid, cma-server.access]
    ```

    `login_scopes` enumera los ámbitos que tu proveedor necesita para emitir un token cuya afirmación `aud` esté en la lista `audiences` de la entrada del emisor.
  </Step>

  <Step title="Inicia sesión">
    Cada desarrollador ejecuta el inicio de sesión desde la raíz del archivo de la versión extraído:

    ```bash
    ./cma-server-admin login https://cma.example.com
    ```

    La URL del servidor debe ser `https://`, o `http://` hacia `localhost`, `127.0.0.1` o `::1`. Con uno de los [otros URI de redirección](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure#other-redirect-uris), agrega su flag al comando.

    El comando abre la página de inicio de sesión del proveedor en un navegador y luego escribe un perfil de la CLI `ant` llamado `cma-server`. Pasa `--profile cma-server` a cualquier comando `ant`, o ejecuta `ant profile activate cma-server` para que el perfil sea el predeterminado.
  </Step>
</Steps>

Cuando el token caduca, el desarrollador vuelve a ejecutar `login`. Para que la CLI `ant` renueve el token en su lugar, agrega `offline_access` a `login_scopes`.

### Otros URI de redirección

| Proveedor                                           | URI de redirección que registrar                                 | Flag que los desarrolladores agregan al comando `login` |
| --------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------- |
| Microsoft Entra ID                                  | `http://localhost/callback`                                      | `-listen localhost:0`                                   |
| Uno que requiere el puerto en el URI de redirección | Un URI con un puerto fijo, como `http://127.0.0.1:8123/callback` | `-listen 127.0.0.1:8123`                                |

Para enumerar las demás flags, agrega `-h` al comando `login`.

## Permitir que las personas inicien sesión en la consola de tu servidor

La consola de tu servidor inicia la sesión de las personas a través de la aplicación que registraste para el [inicio de sesión desde la terminal](https://platform.claude.com/docs/es/managed-agents/self-hosted/configure#let-developers-log-in-from-a-terminal). Para terminar su configuración, consulta [Configurar el inicio de sesión](https://platform.claude.com/docs/es/managed-agents/self-hosted/console#set-up-sign-in).
