Este artículo describe cómo usar la API SCIM de Cato para el aprovisionamiento de usuarios y grupos de usuarios con un proveedor de identidad (IdP).
Para obtener más información sobre las aplicaciones SCIM personalizadas en el tenant del IdP, consulte Creando una Aplicación SCIM Personalizada para un IdP.
Aplicación SCIM Personalizada de Cato
Para usar una aplicación SCIM personalizada para aprovisionar usuarios y grupos de usuarios a su cuenta de Cato, cree la aplicación en la Aplicación de Gestión de Cato (CMA). Además, necesita mapear los atributos SCIM de Cato a los atributos de su IdP.
Crear una Aplicación SCIM Personalizada en el CMA
Para usar la API SCIM, primero debe crear una aplicación SCIM personalizada en la CMA. Esta aplicación le permite integrar su proveedor de identidad (IdP) con la plataforma de Cato.
Para crear una aplicación SCIM personalizada en la CMA:
Desde el menú de navegación, selecciona Acceso > Servicios de Directorio.
En la pestaña SCIM, haga clic en Nuevo.
Ingrese un nombre para la aplicación.
En Proveedor, seleccione Personalizado.
Haga clic en Generar Token y copie el valor; no estará disponible después de guardar y necesitará crear un nuevo token.
Haga clic en Guardar.
Al llamar a los endpoints de la API SCIM descritos a continuación, necesitará los siguientes valores para autenticarse:
URL Base SCIM: Se utiliza como la ruta base para solicitudes de API
Token Bearer: Usado para autenticar solicitudes de API
Atributos SCIM de Cato
Estos son los atributos SCIM para usuarios y grupos de usuarios de Cato que necesita mapear con los atributos correspondientes del IdP.
Atributo de Usuario de Cato | Descripción |
|---|---|
userName | Nombre de usuario para autenticación |
user.firstName | Nombre del usuario |
user.lastName | Apellido del usuario |
user.email | Dirección de correo electrónico |
user.displayName | Nombre para mostrar del usuario |
phoneNumbers[type eq "work"].value | Número de teléfono del trabajo para el usuario (incluyendo prefijo) |
externalId | ID para usuario (utilizado en eventos) |
Atributo de Grupo de Usuario de Cato | Descripción |
|---|---|
active | El usuario está asignado y activo en la aplicación SCIM |
displayName | Nombre del grupo de usuarios |
miembros | Usuarios que pertenecen al grupo de usuarios |
externalId | ID para grupo de usuarios (usado en eventos) |
Entendiendo la API SCIM de Cato
Autenticando a la API SCIM de Cato
Los clientes se autentican a la API SCIM usando autenticación de token bearer, según lo definido por RFC 6750. Todas las solicitudes de API deben incluir los siguientes encabezados HTTP:
Authorization: Bearer <access_token>
Content-Type: application/jsonPuede obtener el token de acceso desde la Aplicación de Gestión de Cato.
Camino Base para los Puntos Finales SCIM
Todos los puntos finales de la API SCIM usan el siguiente camino base:
/scim/v2/{accountId}/{sourceId}Parámetros del Camino:
accountId(string): Identificador único de su cuenta de arrendatario de CatosourceId(integer): Un identificador asignado por Cato para representar de manera única una integración específica de IdP
Estos parámetros son requeridos en todas las solicitudes, pero se omiten de los caminos de puntos finales individuales en este artículo para brevedad.
Gestionando Usuarios
Esta sección describe cómo crear, actualizar, eliminar y recuperar entidades de usuario SCIM usando la API SCIM de Cato.
Crear un Usuario
Método HTTP:POST /Users
Campos Requeridos:
userName(string): Nombre de usuario único (por ejemplo, dirección de correo electrónico)externalId(string): Identificador externo del IdPactive(boolean): Debe sertruepara activar al usuario
Nota:id es devuelto por el servicio SCIM y debe ser usado en llamadas API subsecuentes. externalId es opcional y no puede ser usado en caminos de API.
Respuesta:
Estado:
201 Creado
Errores:
400 Solicitud Incorrecta: Esquema no válido401 No Autorizado409 Conflicto: DuplicaruserNameoexternalId
Actualizar un Usuario
PUT
Método HTTP:PUT /Users/{id}
Campo Requerido:
id: ID SCIM Interno de Cato
Respuesta:
Estado:
200 OK
Errores:
401 No Autorizado404 No Encontrado409 Conflicto: DuplicaruserNameoexternalId
PATCH
Método HTTP:PATCH /Users/{id}
Respuesta:
Estado:
200 OK
Errores:
400 Solicitud incorrecta: esquema o sintaxis de parche incorrecta401 No Autorizado404 No Encontrado409 Conflicto: Identificadores duplicados
Eliminar un Usuario
Método HTTP:DELETE /Users/{id}
Respuesta:
Estado:
204 Sin Contenido
Esto es una eliminación suave. El usuario permanece en el sistema pero no se devuelve en búsquedas.
Obtener un Usuario por ID
Método HTTP:GET /Users/{id}
Respuesta:
Estado:
200 OK
Errores:
401 No autorizado404 No encontrado
Buscar Usuarios
Método HTTP:GET /Users
Parámetros de Consulta:
filter: Consulta para filtrar usuarios (por ejemplo,userName eq "user@domain.com")count(opcional)startIndex(opcional)
Filtros Soportados:
Solo se soporta
eqAtributos soportados:
userName,email,givenName,familyNameLos filtros compuestos solo se respaldan en este formato:
filter=emails[type eq "work"] and email eq "bob@cato.com"
Respuesta:
Estado:
200 OK
Errores:
401 No autorizado
Gestionar Grupos
Esta sección explica cómo usar la API SCIM para crear, actualizar, eliminar y recuperar entidades de grupo en tu entorno de Cato.
Crear un Grupo
Método HTTP:POST /Groups
Respuesta:
Estado:
201 Creado
Errores:
401 No autorizado409 Conflicto:displayNameo ID del objeto duplicado
Actualizar un Grupo
PUT
Método HTTP:PUT /Groups/{id}
Respuesta:
Estado:
200 OK
Errores:
401 No autorizado404 No encontrado409 Conflicto
PATCH
Método HTTP:PATCH /Groups/{id}
Rutas de parcheo compatibles:
displayNamemiembros
Respuesta:
Estado:
200 OK
Errores:
400 Solicitud incorrecta: esquema o sintaxis de parche incorrecta401 No autorizado404 No encontrado409 Conflicto
Eliminar un Grupo
Método HTTP:DELETE /Groups/{id}
Respuesta:
Estado:
204 Sin Contenido
Importante:
Esto es una eliminación total. El grupo se elimina permanentemente.
Obtener un Grupo por ID
Método HTTP:GET /Groups/{id}
Parámetros de Consulta Opcionales:
excludeAttributes(por ejemplo,members)
Respuesta:
Estado:
200 OK
Errores:
401 No autorizado404 No encontrado
Buscar Grupos
Método HTTP:GET /Groups
Parámetros de Consulta:
filter: Solo se admitedisplayName eq "Group Name"count(opcional)startIndex(opcional)
Los filtros compuestos o operadores no admitidos devuelven todos los grupos sin filtrar.
Respuesta:
Estado:
200 OK
Errores:
401 No autorizado
Notas
Comportamiento del campo id en la creación
El campo
ides opcional en las solicitudes de creación de usuarios y grupos.Si se omite, el servicio SCIM genera un
idúnico.Siempre usa el valor de
iddevuelto en las llamadas posteriores a la API.
Importante:
Evita usar IDs generados por el cliente a menos que sea necesario. El ID de SCIM es el identificador autorizado.
Comportamiento de Eliminación
La eliminación de usuarios a través de
DELETE /Users/{id}realiza una eliminación suave al establecer el campoactiveenfalse. El usuario es recuperable a través deGET /Users/{id}pero se excluye de los resultados deGET /Users.La eliminación de grupos a través de
DELETE /Groups/{id}realiza una eliminación completa. El grupo se elimina permanentemente.