Inicio de sesión único
Permite que personas y servicios llamen a tu servidor de Claude Managed Agents autoalojado con tokens de tu proveedor de identidad.
De forma predeterminada, tu servidor acepta una clave compartida, la clave de API del servidor. 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
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.Indica el proveedor de identidad en el archivo de configuración
Agrega una entrada en
auth.issuersen el archivo de configuración: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: developernameetiqueta 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_urldebe ser igual a la afirmaciónissde tus tokens.audiencesenumera los valores que puede llevar la afirmaciónaudde un token, como el identificador del primer paso.rolesasigna un grupo aadmin,developerouser. Gana el rol coincidente más alto.
Para los demás campos, consulta Entradas de emisor. Si tu proveedor es Microsoft Entra ID, consulta también Microsoft Entra ID.
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, elnamedel emisor y el sujeto del llamante (sub=).
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
subdiferente en cada aplicación cliente, así que el valor predeterminado registraría a una misma persona como varios creadores. Establecesubject_claim: oid. - Los grupos: Entra ID omite la afirmación
groupsde un token si la persona pertenece a muchos grupos. Entonces esa persona no coincide con ninguna entrada deroles. 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 establecegroups_claim: rolespara 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.
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.
Agrega la aplicación a la entrada del emisor
Agrega
login_client_idylogin_scopesa la entrada del emisor y reinicia el servidor:login_client_id: 0oa1b2c3d4e5f6g7h8i9 login_scopes: [openid, cma-server.access]login_scopesenumera los ámbitos que tu proveedor necesita para emitir un token cuya afirmaciónaudesté en la listaaudiencesde la entrada del emisor.Inicia sesión
Cada desarrollador ejecuta el inicio de sesión desde la raíz del archivo de la versión extraído:
./cma-server-admin login https://cma.example.comLa URL del servidor debe ser
https://, ohttp://hacialocalhost,127.0.0.1o::1. Con uno de los otros URI de redirección, 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
antllamadocma-server. Pasa--profile cma-servera cualquier comandoant, o ejecutaant profile activate cma-serverpara que el perfil sea el predeterminado.
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. Para terminar su configuración, consulta Configurar el inicio de sesión.
¿Te resultó útil esta página?