Registro de llamadas a la API del IAM Identity Center SCIM con AWS CloudTrail - AWS IAM Identity Center

Registro de llamadas a la API del IAM Identity Center SCIM con AWS CloudTrail

IAM Identity Center SCIM se integra con AWS CloudTrail, un servicio que proporciona un registro de las acciones que lleva a cabo un usuario, un rol o un Servicio de AWS. CloudTrail captura las llamadas a la API de SCIM como eventos. Con la información recopilada por CloudTrail, puede determinar la información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, entre otros. Para más información sobre CloudTrail, consulte la Guía del usuario de AWS CloudTrail.

nota

CloudTrail se habilita en su Cuenta de AWS cuando se crea la cuenta. Sin embargo, es posible que tenga que rotar su token de acceso para ver los eventos de SCIM, si su token se creó antes de septiembre de 2024.

Para obtener más información, consulte Rotar un token de acceso.

SCIM admite el registro de las siguientes operaciones como eventos en CloudTrail:

Ejemplos de eventos de CloudTrail en

Los siguientes ejemplos muestran los registros de eventos típicos de CloudTrail generados durante las operaciones de SCIM con IAM Identity Center. Estos ejemplos muestran la estructura y el contenido de los eventos para que las operaciones se realicen correctamente y los escenarios de error más comunes, lo que le ayuda a entender cómo interpretar los registros de CloudTrail a la hora de solucionar problemas de aprovisionamiento de SCIM.

Operación de CreateUser exitosa

Este evento de CloudTrail muestra una operación CreateUser realizada correctamente a través de la API de SCIM. El evento captura tanto los parámetros de la solicitud (ocultando la información confidencial) como los elementos de respuesta, incluido el ID del usuario recién creado. Este tipo de evento se genera cuando un proveedor de identidades aprovisiona correctamente un nuevo usuario a IAM Identity Center mediante el protocolo SCIM.

{ "eventVersion": "1.10", "userIdentity": { "type": "WebIdentityUser", "accountId": "123456789012", "accessKeyId": "xxxx" }, "eventTime": "xxxx", "eventSource": "identitystore-scim.amazonaws.com", "eventName": "CreateUser", "awsRegion": "us-east-1", "sourceIPAddress": "xx.xxx.xxx.xxx", "userAgent": "Go-http-client/2.0", "requestParameters": { "httpBody": { "displayName": "HIDDEN_DUE_TO_SECURITY_REASONS", "schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "name": { "familyName": "HIDDEN_DUE_TO_SECURITY_REASONS", "givenName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "active": true, "userName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "tenantId": "xxxx" }, "responseElements": { "meta" : { "created" : "Oct 10, 2024, 1:23:45 PM", "lastModified" : "Oct 10, 2024, 1:23:45 PM", "resourceType" : "User" }, "displayName" : "HIDDEN_DUE_TO_SECURITY_REASONS", "schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "name": { "familyName": "HIDDEN_DUE_TO_SECURITY_REASONS", "givenName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "active": true, "id" : "c4488478-a0e1-700e-3d75-96c6bb641596", "userName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "requestID": "xxxx", "eventID": "xxxx", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "scim.us-east-1.amazonaws.com" } }

Operación de PatchGroup fallida: falta el atributo de ruta obligatorio

Este evento de CloudTrail muestra una operación de PatchGroup fallida que dio lugar a ValidationException con el mensaje de error "Missing path in PATCH request". El error se produjo porque la operación PATCH requiere un atributo de ruta para especificar qué atributo de grupo se debe modificar, pero este atributo no aparecía en la solicitud.

{ "eventVersion": "1.10", "userIdentity": { "type": "Unknown", "accountId": "123456789012", "accessKeyId": "xxxx" }, "eventTime": "xxxx", "eventSource": "identitystore-scim.amazonaws.com", "eventName": "PatchGroup", "awsRegion": "us-east-1", "sourceIPAddress": "xxx.xxx.xxx.xxx", "userAgent": "Go-http-client/2.0", "errorCode": "ValidationException", "errorMessage": "Missing path in PATCH request", "requestParameters": { "httpBody": { "operations": [ { "op": "REMOVE", "value": "HIDDEN_DUE_TO_SECURITY_REASONS" } ], "schemas": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "tenantId": "xxxx", "id": "xxxx" }, "responseElements": null, "requestID": "xxxx", "eventID": "xxxx", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "scim.us-east-1.amazonaws.com" } }

Operación de CreateGroup fallida: el nombre del grupo ya existe

Este evento de CloudTrail muestra una operación de CreateGroup fallida que dio lugar a ConflictException con el mensaje de error "Duplicate GroupDisplayName". Este error se produce al intentar crear un grupo con un nombre para mostrar que ya existe en IAM Identity Center. El proveedor de identidades debe utilizar un nombre de grupo único o actualizar el grupo existente en lugar de crear otro nuevo.

{ "eventVersion": "1.10", "userIdentity": { "type": "Unknown", "accountId": "123456789012", "accessKeyId": "xxxx" }, "eventTime": "xxxx", "eventSource": "identitystore-scim.amazonaws.com", "eventName": "CreateGroup", "awsRegion": "us-east-1", "sourceIPAddress": "xxx.xxx.xxx.xxx", "userAgent": "Go-http-client/2.0", "errorCode": "ConflictException", "errorMessage": "Duplicate GroupDisplayName", "requestParameters": { "httpBody": { "displayName": "HIDDEN_DUE_TO_SECURITY_REASONS" }, "tenantId": "xxxx" }, "responseElements": null, "requestID": "xxxx", "eventID": "xxxx", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "scim.us-east-1.amazonaws.com" } }

Operación de PatchUser fallida: no se admiten varias direcciones de correo electrónico

Este evento de CloudTrail muestra una operación de PatchUser fallida que dio lugar a ValidationException con el mensaje de error "List attribute emails exceeds allowed limit of 1". Este error se produce al intentar asignar varias direcciones de correo electrónico a un usuario, ya que IAM Identity Center solo admite una dirección de correo electrónico por usuario. El proveedor de identidades debe configurar el mapeo SCIM para enviar solo una dirección de correo electrónico para cada usuario.

{ "eventVersion": "1.10", "userIdentity": { "type": "Unknown", "accountId": "123456789012", "accessKeyId": "xxxx" }, "eventTime": "xxxx", "eventSource": "identitystore-scim.amazonaws.com", "eventName": "PatchUser", "awsRegion": "us-east-1", "sourceIPAddress": "xxx.xxx.xxx.xxx", "userAgent": "Go-http-client/2.0", "errorCode": "ValidationException", "errorMessage": "List attribute emails exceeds allowed limit of 1", "requestParameters": { "httpBody": { "operations": [ { "op": "REPLACE", "path": "emails", "value": "HIDDEN_DUE_TO_SECURITY_REASONS" } ], "schemas": [ "HIDDEN_DUE_TO_SECURITY_REASONS" ] }, "tenantId": "xxxx", "id": "xxxx" }, "responseElements": null, "requestID": "xxxx", "eventID": "xxxx", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "scim.us-east-1.amazonaws.com" } }

Errores comunes de validación de la API de SCIM en IAM Identity Center

Los siguientes mensajes de error de validación suelen aparecer en los eventos de CloudTrail cuando se utiliza la API de SCIM con IAM Identity Center. Estos errores de validación suelen producirse durante las operaciones de aprovisionamiento de usuarios y grupos.

Para obtener una guía detallada sobre cómo resolver estos errores y configurar correctamente el aprovisionamiento de SCIM, consulte este artículo de AWS re:Post.

  • El correo electrónico con el atributo de la lista supera el límite permitido de 1

  • El límite permitido de direcciones de atributos de lista es de 1

  • 1 Se detectó un error de validación: el valor de '*name.familyName*' no cumplía la restricción: el miembro debe cumplir el patrón de expresión regular: [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+

  • 2 Se detectaron dos errores de validación: el valor de 'name.familyName' no pudo cumplir la restricción: el miembro debe tener una longitud mayor o igual a 1; el valor de 'name.familyName' no pudo cumplir la restricción: el miembro debe cumplir el patrón de expresión regular: [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+

  • 2 Se detectaron dos errores de validación: el valor de 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.value' no cumplía la restricción: el miembro debe tener una longitud mayor o igual a 1; el valor en 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.manager.value' no pudo cumplir la restricción: el miembro debe cumplir con la expresión regular patrón: [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+",

  • JSON no válido de RequestBody

  • Formato de filtro no válido