Consulta la disponibilidad en nuestra página de precios.
SCIM (System for Cross-domain Identity Management) es un estándar abierto que automatiza el intercambio de datos de identidad de usuarios entre distintos sistemas.
Okta incluye soporte nativo para SCIM 2.0, permitiendo aprovisionamiento, sincronización de usuarios y gestión del ciclo de vida de atributos con aplicaciones de terceros.
Este artículo explica cómo definir, exponer y mapear atributos SCIM en Okta para que puedan ser consumidos por aplicaciones externas.
Esquemas SCIM compatibles #
Okta implementa varios esquemas SCIM 2.0, cada uno definiendo un conjunto de atributos que describen a un usuario. Estos esquemas se utilizan durante las operaciones de aprovisionamiento y sincronización.
Esquema de usuarios Core #
- URN:
urn:ietf:params:scim:schemas:core:2.0:User.
El esquema principal contiene los atributos estándar de usuario definidos por SCIM 2.0 y siempre se incluye en los payloads SCIM salientes.
JSON de ejemplo #
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "00u12345abcdXYZ",
"userName": "john.doe@example.com",
"name": {
"formatted": "John Doe",
"familyName": "Doe",
"givenName": "John",
"middleName": "A",
"honorificPrefix": "Mr.",
"honorificSuffix": "Jr."
},
"displayName": "John Doe",
"nickName": "Johnny",
"profileUrl": "https://example.com/john.doe",
"emails": [
{
"value": "john.doe@example.com",
"type": "work",
"primary": true
}
],
"addresses": [
{
"type": "work",
"streetAddress": "123 Main St",
"locality": "San Francisco",
"region": "CA",
"postalCode": "94105",
"country": "US",
"primary": true
}
],
"phoneNumbers": [
{
"value": "+1-415-555-1234",
"type": "work"
}
],
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active": true,
"password": "hashed-password"
}
Esquema de usuarios Enterprise #
- URN:
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.
Este esquema amplía el recurso de usuario principal con atributos orientados a entornos empresariales, como department, manager y costCenter.
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"userName": "john.doe@example.com",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "E12345",
"costCenter": "CC1001",
"organization": "Engineering",
"division": "Software Development",
"department": "R&D",
"manager": {
"managerId": "00u67890abcdXYZ",
"displayName": "Jane Smith"
}
}
}
Esquema de usuarios Custom #
- URN:
urn:okta:custom:schema.
Okta permite a los administradores definir esquemas personalizados para atributos que no forman parte del estándar SCIM. Este esquema puede usar cualquier cadena URN elegida por el administrador.
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:okta:custom:schema"
],
"userName": "john.doe@example.com",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"urn:okta:custom:schema": {
"customEmployeeType": "Contractor",
"customStartDate": "2024-01-10",
"customSecurityClearance": "Level 3"
}
}
Creación de nuevos atributos personalizados #
Para definir y exponer un nuevo atributo SCIM personalizado en Okta, comienza abriendo tu aplicación SCIM y navegando a Applications > Tu aplicación SCIM > Provisioning > To App.
Luego, accede al Profile Editor haciendo clic en Go to Profile Editor. Desde allí, crea un nuevo atributo haciendo clic en Add Attribute y configura las siguientes propiedades:
- Display Name (por ejemplo, Security Clearance Level).
- Variable Name (e.g.,
customSecurityClearance). - External Name (la clave SCIM del atributo, como
urn:okta:custom:schema:customSecurityClearance). - External Namespace (el URN de tu esquema personalizado).
- Data Type (
String,Boolean,Number, orDate).
Después de guardar el atributo, asígnalo a un perfil de usuario abriendo cualquier usuario en Okta y confirmando que aparece en la sección Profile.
Mapeo de atributos en Okta #
Una vez que los atributos estándar o personalizados estén creados, deben mapearse para que los datos fluyan correctamente entre Okta y tu aplicación compatible con SCIM.
Para ello, ve a SCIM App > Provisioning > To App and y haz clic en Edit para habilitar y configurar los mapeos de atributos.
Para cada atributo que quieras mapear selecciona el Okta User Profile Attribute (por ejemplo, user.profile.department) especifica el App User Attribute (e.g., urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.department). Una vez configurados todos los mapeos, guarda los cambios.
Finalmente, prueba el aprovisionamiento actualizando un usuario en Okta y verificando que los cambios se propaguen correctamente a la aplicación de destino a través de la API SCIM.
Ejemplo de tabla de mapeo #
| Atributo en OKTA | Ruta del atributo SCIM |
|---|---|
user.profile.firstName
|
name.givenName
|
user.profile.lastName
|
name.familyName
|
user.profile.email
|
emails[primary eq true].value
|
user.profile.department
|
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.department
|
user.profile.customSecurityClearance
|
urn:okta:custom:schema:customSecurityClearance
|