Recopila registros de Salesforce

Compatible con:

Descripción general

Este analizador controla los registros de Salesforce en los formatos LEEF, CSV y JSON. Extrae campos, realiza un procesamiento específico del formato (controla los pares clave-valor de LEEF, las columnas CSV y las estructuras JSON), los asigna a la UDM y enriquece los datos con metadatos y campos derivados. El analizador también controla varios tipos de eventos de Salesforce, aplica una lógica específica para los accesos, los cierres de sesión y otras acciones, clasifica los eventos y establece los tipos de eventos de la AUA adecuados.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de tener acceso con privilegios a AWS IAM, S3 y AppFlow.

Configura el bucket de Amazon S3

  1. Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket
  2. Guarda el Nombre y la Región del bucket para usarlos como referencia en el futuro.
  3. Crea un usuario siguiendo esta guía del usuario: Cómo crear un usuario de IAM.
  4. Selecciona el Usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. Haz clic en Crear clave de acceso en la sección Claves de acceso.
  7. Selecciona Servicio de terceros como Caso de uso.
  8. Haz clic en Siguiente.
  9. Opcional: Agrega una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo .csv. (Guarda la Clave de acceso y la Clave de acceso secreta para usarlas como referencia en el futuro).
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. Haz clic en Agregar permisos en la sección Políticas de permisos.
  15. Selecciona Agregar permisos.
  16. Selecciona Adjuntar políticas directamente.
  17. Busca la política AmazonS3FullAccess.
  18. Selecciona la política.
  19. Haz clic en Siguiente.
  20. Haz clic en Agregar permisos.

Configura Amazon AppFlow

  1. Crea un flujo de Amazon AppFlow:
    • Nombre del flujo: Agrega un nombre de flujo y haz clic en Siguiente.
    • Fuente de datos: Elige Salesforce como la fuente de datos.
    • Crea una conexión nueva.
    • Aparecerá una ventana de acceso de Salesforce. Accede con tus credenciales de Salesforce.
    • Selecciona el nombre del objeto (elige los datos que deseas transferir de Salesforce al bucket de S3).
    • Selecciona Amazon S3 como el destino de los datos.
    • Selecciona Programar como el activador del flujo.
    • En Elegir campos de origen, puedes asignar todos los campos directamente o especificar qué campos asignar.
  2. Valida la configuración:
    • En Amazon AppFlow, selecciona el flujo que creaste y haz clic en Run flow para recuperar datos de Salesforce.
    • Los registros ahora deberían estar en tu bucket de S3.

Configura un feed en Google SecOps para transferir registros de Salesforce

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Salesforce).
  4. Selecciona Amazon S3 como el Tipo de fuente.
  5. Selecciona Salesforce como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. Especifica valores para los siguientes parámetros de entrada:

    • Región: Es la región en la que se encuentra el bucket de Amazon S3.
    • URI de S3: Es el URI del bucket. s3:/BUCKET_NAME Reemplaza lo siguiente:
      • BUCKET_NAME: el nombre del bucket.
    • URI es un: Selecciona el TIPO DE URI según la configuración del flujo de S3: Single file | Directory | Directory which includes subdirectories.
    • Opciones de eliminación de fuentes: Selecciona la opción de eliminación según tus preferencias.
    • ID de clave de acceso: Es la clave de acceso del usuario con acceso al bucket de S3.
    • Clave de acceso secreta: Es la clave secreta del usuario con acceso al bucket de S3.
    • Espacio de nombres de recursos: Es el espacio de nombres de recursos.
    • Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
  8. Haz clic en Siguiente.

  9. Revisa la configuración de tu nuevo feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Account.Name target.resource.name El valor de Account.Name del registro sin procesar.
AccountId target.resource.id El valor de AccountId del registro sin procesar.
Action security_result.description El valor de Action del registro sin procesar.
AdditionalInfo - No está asignado al objeto IDM.
ApiType target.application El valor de ApiType del registro sin procesar.
ApiVersion - No está asignado al objeto IDM.
Application principal.application El valor de Application del registro sin procesar, "Browser" para LoginAsEvent, "Integration JWT Token" para LoginEvent, "SfdcSiqActivityPlatform" para LoginHistory con objecttype LoginHistory, "N/A" para ApiEvent o "Browser" para LoginAsEventStream.
attributes.url target.url El valor de attributes.url del registro sin procesar o las URLs específicas para varios tipos de eventos del registro sin procesar
attributes.type metadata.product_event_type El valor de attributes.type del registro sin procesar.
AuthSessionId network.session_id El valor de AuthSessionId del registro sin procesar.
Browser principal.resource.name El valor de Browser del registro sin procesar o "Desconocido" si Browser no está disponible en el registro sin procesar y Application es "Insights", o "Java (Salesforce.com)" para LoginHistory con ApiType como "SOAP Partner", o "Desconocido" para LoginHistory con Application como "SfdcSiqActivityPlatform", o de data.properties.Browser.str para LoginAsEventStream.
Case.Subject target.resource.name El valor de Case.Subject del registro sin procesar.
CaseId target.resource.id El valor de CaseId del registro sin procesar.
cat metadata.product_event_type El valor de cat del registro sin procesar.
City principal.location.city El valor de City del registro sin procesar o de LoginGeo.City para LoginHistory.
Client principal.labels El valor de Client del registro sin procesar, con el formato de una etiqueta.
CLIENT_IP principal.ip, principal.asset.ip El valor de CLIENT_IP del registro sin procesar.
ClientVersion - No está asignado al objeto IDM.
CipherSuite network.tls.cipher El valor de CipherSuite del registro sin procesar.
ColumnHeaders principal.labels El valor de ColumnHeaders del registro sin procesar, con el formato de una etiqueta.
ConnectedAppId principal.labels El valor de ConnectedAppId del registro sin procesar, con el formato de una etiqueta.
Contact.Name target.resource.name El valor de Contact.Name del registro sin procesar.
ContactId target.resource.id El valor de ContactId del registro sin procesar.
Country principal.location.country_or_region El valor de Country del registro sin procesar o LoginGeo.Country para LoginHistory.
CreatedByContext principal.user.userid El valor de CreatedByContext del registro sin procesar.
CreatedById principal.resource.attribute.labels El valor de CreatedById del registro sin procesar, con el formato de una etiqueta.
CreatedDate metadata.collected_timestamp El valor de CreatedDate del registro sin procesar o la marca de tiempo actual si no está disponible
CPU_TIME target.resource.attribute.labels El valor de CPU_TIME del registro sin procesar, con el formato de una etiqueta.
data - Contiene varios campos que se extraen y asignan de forma individual.
DATASET_IDS target.resource.name El valor de DATASET_IDS del registro sin procesar.
DelegatedOrganizationId target.administrative_domain El valor de DelegatedOrganizationId del registro sin procesar.
DelegatedUsername observer.user.userid El valor de DelegatedUsername del registro sin procesar.
Description metadata.description El valor de Description del registro sin procesar.
DevicePlatform principal.resource.type El valor de DevicePlatform del registro sin procesar, analizado para extraer el tipo de recurso
Display metadata.description El valor de Display del registro sin procesar.
DOWNLOAD_FORMAT target.resource.attribute.labels El valor de DOWNLOAD_FORMAT del registro sin procesar, con el formato de una etiqueta.
Duration target.resource.attribute.labels El valor de Duration del registro sin procesar, con el formato de una etiqueta.
ENTITY_NAME target.resource.attribute.labels El valor de ENTITY_NAME del registro sin procesar, con el formato de una etiqueta.
ErrorCode security_result.action El valor de ErrorCode del registro sin procesar, transformado en ALLOW o BLOCK.
EventDate timestamp El valor de EventDate del registro sin procesar, o data.properties.TIMESTAMP_DERIVED.str si está disponible, o data.properties.TIMESTAMP_DERIVED_FIRST.str si está disponible, o @timestamp si está disponible, o created_date si está disponible, o timestamp si está disponible, o LoginTime para LoginHistory.
EventIdentifier metadata.product_log_id El valor de EventIdentifier del registro sin procesar.
EventType metadata.product_event_type El valor de EventType del registro sin procesar.
Id principal.user.userid El valor de Id del registro sin procesar o metadata.product_log_id para SetupAuditTrail y otros eventos
IdentityUsed principal.user.email_addresses El valor de IdentityUsed del registro sin procesar.
Lead.Name target.resource.name El valor de Lead.Name del registro sin procesar.
LeadId target.resource.id El valor de LeadId del registro sin procesar.
LoginAsCategory - No está asignado al objeto IDM.
LoginGeo.Country principal.location.country_or_region El valor de LoginGeo.Country del registro sin procesar.
LoginHistoryId - No está asignado al objeto IDM.
LoginKey principal.user.userid, network.session_id El valor de LoginKey del registro sin procesar o CreatedByContext para SetupAuditTrail.
LoginTime timestamp El valor de LoginTime del registro sin procesar.
LoginType security_result.description El valor de LoginType del registro sin procesar, o "Otra API de Apex" para LoginHistory con ApiType como "Socio de SOAP", o "Acceso remoto 2.0" para LoginHistory con Application como "SfdcSiqActivityPlatform".
LoginUrl target.url, principal.url El valor de LoginUrl del registro sin procesar.
LogFile principal.resource.attribute.labels El valor de LogFile del registro sin procesar, con el formato de una etiqueta.
LogFileContentType principal.resource.attribute.labels El valor de LogFileContentType del registro sin procesar, con el formato de una etiqueta.
LogFileLength principal.resource.attribute.labels El valor de LogFileLength del registro sin procesar, con el formato de una etiqueta.
Message - No está asignado al objeto IDM.
METHOD network.http.method El valor de METHOD del registro sin procesar.
Name target.application El valor de Name del registro sin procesar.
NewValue - Se usa junto con OldValue para generar security_result.summary.
NUMBER_FIELDS target.resource.attribute.labels El valor de NUMBER_FIELDS del registro sin procesar, con el formato de una etiqueta.
OldValue - Se usa junto con NewValue para generar security_result.summary.
Operation security_result.description, target.resource.attribute.labels El valor de Operation del registro sin procesar o Display para SetupAuditTrail.
OperationStatus security_result.action El valor de OperationStatus del registro sin procesar, transformado en ALLOW o BLOCK.
ORGANIZATION_ID target.administrative_domain El valor de ORGANIZATION_ID del registro sin procesar.
OsName principal.platform El valor de OsName del registro sin procesar.
OsVersion principal.platform_version El valor de OsVersion del registro sin procesar.
Platform principal.platform El valor de Platform del registro sin procesar, de data.properties.OsName.str para LightningUriEventStream o de data.properties.OsName.str para LoginEventStream.
QueriedEntities target.resource.name, principal.labels El valor de QueriedEntities del registro sin procesar o component_name para UriEvent y ApiEvent.
Query target.process.command_line, principal.labels El valor de Query del registro sin procesar.
RecordId target.resource.id El valor de RecordId del registro sin procesar.
Records principal.labels El valor de Records del registro sin procesar, con el formato de una etiqueta.
REQUEST_ID metadata.product_log_id, target.resource.product_object_id El valor de REQUEST_ID del registro sin procesar.
REQUEST_SIZE network.sent_bytes El valor de REQUEST_SIZE del registro sin procesar.
REQUEST_STATUS security_result.summary El valor de REQUEST_STATUS del registro sin procesar.
RESPONSE_SIZE network.received_bytes El valor de RESPONSE_SIZE del registro sin procesar.
RowsProcessed target.resource.attribute.labels El valor de RowsProcessed del registro sin procesar, con el formato de una etiqueta.
RUN_TIME target.resource.attribute.labels El valor de RUN_TIME del registro sin procesar, con el formato de una etiqueta.
SamlEntityUrl - No está asignado al objeto IDM.
SdkAppType - No está asignado al objeto IDM.
SdkAppVersion - No está asignado al objeto IDM.
SdkVersion - No está asignado al objeto IDM.
Section security_result.summary El valor de Section del registro sin procesar.
SessionKey network.session_id El valor de SessionKey del registro sin procesar.
SessionLevel target.resource.attribute.labels El valor de SessionLevel del registro sin procesar, con el formato de una etiqueta.
SourceIp principal.ip, principal.asset.ip El valor de SourceIp del registro sin procesar.
src principal.ip, principal.asset.ip El valor de src del registro sin procesar.
SsoType target.resource.attribute.labels El valor de SsoType del registro sin procesar, con el formato de una etiqueta.
STATUS_CODE network.http.response_code El valor de STATUS_CODE del registro sin procesar.
Status security_result.action, security_result.action_details El valor de Status del registro sin procesar, transformado en ALLOW o BLOCK, o utilizado como detalles de la acción para LoginEventStream.
Subject target.resource.name El valor de Subject del registro sin procesar.
TargetUrl - No está asignado al objeto IDM.
TIMESTAMP metadata.collected_timestamp El valor de TIMESTAMP del registro sin procesar.
TIMESTAMP_DERIVED timestamp El valor de TIMESTAMP_DERIVED del registro sin procesar.
TlsProtocol network.tls.version_protocol El valor de TlsProtocol del registro sin procesar.
URI target.url El valor de URI del registro sin procesar.
USER_AGENT network.http.user_agent El valor de USER_AGENT del registro sin procesar.
USER_ID principal.user.userid El valor de USER_ID del registro sin procesar.
USER_ID_DERIVED principal.user.product_object_id, target.resource.attribute.labels El valor de USER_ID_DERIVED del registro sin procesar.
UserId principal.user.userid El valor de UserId del registro sin procesar.
USER_TYPE target.resource.attribute.labels El valor de USER_TYPE del registro sin procesar, con el formato de una etiqueta.
Username principal.user.userid, principal.user.email_addresses, target.user.email_addresses El valor de Username del registro sin procesar, src_email para varios eventos, IdentityUsed para IdentityProviderEventStore, data.properties.Email.str para Search y SearchAlert, o data.properties.Username.str para LoginAsEventStream y LoginEventStream.
UserType target.resource.attribute.labels El valor de UserType del registro sin procesar, con el formato de una etiqueta.
usrName principal.user.userid, principal.user.email_addresses, target.user.email_addresses El valor de usrName del registro sin procesar.
VerificationMethod target.resource.attribute.labels El valor de VerificationMethod del registro sin procesar, con el formato de una etiqueta.
Lógica del analizador metadata.event_type Se deriva en función de los campos event_id y operation, o se establece en "USER_LOGIN" para LoginEventStream, "USER_LOGOUT" para Logout y LogoutEvent, "USER_RESOURCE_UPDATE_CONTENT" para varios eventos, "USER_RESOURCE_UPDATE_PERMISSIONS" para PlatformEncryption, "RESOURCE_READ" para QueuedExecution, ApexExecution, LightningInteraction, LightningPerformance, LightningPageView, URI, RestApi, API, AuraRequest, ApexCallout, OneCommerceUsage, Sites, MetadataApiOperation, OneCommerceUsage, VisualforceRequest, Dashboard, Search, ListViewEvent, "RESOURCE_CREATION" para UriEvent y TimeBasedWorkflow con Operation como "Create" o "INSERT", "RESOURCE_WRITTEN" para UriEvent y LightningUriEvent con Operation como "Update", "RESOURCE_DELETION" para UriEvent con Operation como "Delete" o "ROLLBACK", "USER_UNCATEGORIZED" para SetupAuditTrail y AuditTrail, "USER_CHANGE_PASSWORD" para SetupAuditTrail con operation como "namedCredentialEncryptedFieldChange", "GENERIC_EVENT" para ApiEventStream y LightningUriEventStream, o en función de la presencia de la red y el principal.
Lógica del analizador metadata.ingestion_labels Etiquetas que indican la fuente del evento, ya sea "Archivo de registro de eventos", "Supervisión de eventos en tiempo real" o "SetupAuditTrail".
Lógica del analizador metadata.log_type Siempre se establece en "SALESFORCE".
Lógica del analizador metadata.product_name Siempre se establece en "SALESFORCE".
Lógica del analizador metadata.vendor_name Siempre se establece en "SALESFORCE".
Lógica del analizador metadata.url_back_to_product Se construye a partir de varios campos, como LoginUrl, attributes.url, data.properties.PageUrl.str y data.properties.LoginUrl.str.
Lógica del analizador network.application_protocol Establece el valor en "HTTPS" si el campo uri comienza con "http".
Lógica del analizador network.http.referral_url Se extrae del campo user_agent si contiene "Referer=".
Lógica del analizador network.http.response_code Se deriva de request_status para varios eventos.
Lógica del analizador network.http.user_agent El valor de user_agent del registro sin procesar, o de data.properties.UserAgent.str para ApiEventStream y LoginEventStream, o de los eventos Sites, o "User-Agent" de los eventos Sites.
Lógica del analizador network.session_id El valor de session_key o SESSION_KEY del registro sin procesar, o bien construido a partir de otros campos, como LoginKey o AuthSessionId
Lógica del analizador network.tls.version El valor de tls_protocol del registro sin procesar o de data.properties.TlsProtocol.str para LoginEventStream.
Lógica del analizador principal.application El valor de application del registro sin procesar, "Salesforce for Outlook" para los eventos de acceso correcto o "Información" para los eventos de acceso correcto sin aplicación, o extraído de device_platform para los eventos de Lightning
Lógica del analizador principal.asset.hostname El valor de client_ip si es un nombre de host.
Lógica del analizador principal.asset.ip El valor de client_ip, src_ip, SourceIp o CLIENT_IP si se trata de una dirección IP.
Lógica del analizador principal.hostname El valor de client_ip si es un nombre de host.
Lógica del analizador principal.ip El valor de client_ip, src_ip, SourceIp o CLIENT_IP si se trata de una dirección IP.
Lógica del analizador principal.labels Etiquetas construidas a partir de varios campos, como FederationIdentifier, ApiType, OrgId y channel.
Lógica del analizador principal.location.city El valor de geoip_src.city_name, City o LoginGeo.City del registro sin procesar
Lógica del analizador principal.location.country_or_region El valor de geoip_src.country_name, Country, LoginGeo.Country o client_geo del registro sin procesar
Lógica del analizador principal.location.region_latitude El valor de data.properties.LoginLatitude.number del registro sin procesar.
Lógica del analizador principal.location.region_longitude El valor de data.properties.LoginLongitude.number del registro sin procesar.
Lógica del analizador principal.location.state El valor de geoip_src.region_name del registro sin procesar.
Lógica del analizador principal.platform El valor de Platform, OsName o os_name del registro sin procesar, o "WINDOWS" para LoginEventStream con Platform que contiene "Windows".
Lógica del analizador principal.platform_version El valor de OsVersion o os_version del registro sin procesar, o extraído de Platform para LoginEventStream con Platform que contiene "Windows".
Lógica del analizador principal.resource.attribute.labels Etiquetas construidas a partir de varios campos, como CreatedById, ApiVersion, LogFile, LogFileContentType y LogFileLength.
Lógica del analizador principal.resource.name El valor de Browser o browser_name del registro sin procesar, o "Java (Salesforce.com)" para LoginHistory con ApiType como "Socio de SOAP"
Lógica del analizador principal.resource.type Se extrae de device_platform para eventos de Lightning o de "Browser" para LoginAsEvent y LoginAsEventStream.
Lógica del analizador principal.url El valor de LoginUrl del registro sin procesar.
Lógica del analizador principal.user.email_addresses El valor de usrName, Username, src_email, IdentityUsed, data.properties.Username.str o data.properties.Email.str del registro sin procesar
Lógica del analizador principal.user.product_object_id El valor de attrs.USER_ID_DERIVED o data.properties.USER_ID_DERIVED.str del registro sin procesar
Lógica del analizador principal.user.userid El valor de usrName, Username, user_id, UserId, USER_ID, Id, LoginKey, CreatedByContext, data.properties.Username.str, data.properties.USER_ID.str o data.properties.LoginKey.str del registro sin procesar
Lógica del analizador security_result.action Se deriva de Status, OperationStatus, ErrorCode, action o operation_status del registro sin procesar y se transforma en ALLOW o BLOCK.
Lógica del analizador security_result.action_details El valor de Status del registro sin procesar de LoginEventStream.
Lógica del analizador security_result.description El valor de LoginType, logintype, Operation, Action o Display del registro sin procesar
Lógica del analizador security_result.rule_name El valor de Policy o rule_name del registro sin procesar
Lógica del analizador security_result.summary Se construye a partir de NewValue y OldValue, o REQUEST_STATUS, o Section, o forecastcategory del registro sin procesar.
Lógica del analizador target.administrative_domain El valor de ORGANIZATION_ID, DelegatedOrganizationId, organization_id o data.properties.OrgName.str del registro sin procesar
Lógica del analizador target.application El valor de Application, app_name, ApiType, Name o data.properties.Application.str del registro sin procesar
Lógica del analizador target.asset.hostname El valor de target_hostname extraído del campo uri.
Lógica del analizador target.asset.ip El valor de data.properties.CLIENT_IP.str del registro sin procesar.
Lógica del analizador target.asset_id Se construye a partir de device_id o REQUEST_ID.
Lógica del analizador target.file.mime_type El valor de file_type del registro sin procesar.
Lógica del analizador target.file.size El valor de size_bytes del registro sin procesar.
Lógica del analizador target.hostname El valor de target_hostname extraído del campo uri.
Lógica del analizador target.process.command_line El valor de query_exec, Query o data.properties.Query.str del registro sin procesar
Lógica del analizador target.process.pid El valor de job_id del registro sin procesar.
Lógica del analizador target.resource.attribute.labels Etiquetas construidas a partir de varios campos, como CPU_TIME, RUN_TIME, USER_TYPE, DB_TOTAL_TIME, MEDIA_TYPE, ROWS_PROCESSED, NUMBER_FIELDS, DB_BLOCKS, DB_CPU_TIME, ENTITY_NAME, EXCEPTION_MESSAGE, USER_ID_DERIVED, DOWNLOAD_FORMAT, USER_TYPE, CPU_TIME, RUN_TIME, WAVE_SESSION_ID, SessionLevel, verification_method, cpu_time, run_time, db_total_time, db_cpu_time, exec_time, callout_time, number_soql_queries, duration, user_type, entry_point, operation, session_level, rows_processed, sso_type, dashboard_type, Operation, SessionLevel
Lógica del analizador target.resource.id El valor de REQUEST_ID, RecordId, caseid, leadid, contactid, opportunityid o accountid del registro sin procesar
Lógica del analizador target.resource.name El valor de QueriedEntities, resource_name, component_name, DATASET_IDS, field, StageName o Subject del registro sin procesar
Lógica del analizador target.resource.product_object_id El valor de REQUEST_ID del registro sin procesar.
Lógica del analizador target.resource.resource_type Establece el valor en "ACCESS_POLICY" para ApexCallout y PlatformEncryption, o en "DATABASE" para ApexTrigger, o en "FILE" para ContentTransfer, o en "TABLE" para ApiEvent.
Lógica del analizador target.resource.type Se establece en "BATCH" para QueuedExecution y ApexExecution, o "FILE" para ContentTransfer, o "DATABASE_TRIGGER" para ApexTrigger, o "Case", "Lead", "Contact", "Opportunity", "Account" según la presencia de los campos de ID correspondientes.
Lógica del analizador target.url El valor de LoginUrl, URI, attributes.url, login_url o uri del registro sin procesar
Lógica del analizador target.user.email_addresses El valor de Username, attrs.usrName o email_address del registro sin procesar
Lógica del analizador target.user.user_display_name El valor de target_user_display_name, user_name o username del registro sin procesar
Lógica del analizador target.user.userid El valor de target_user_name, data.properties.UserId.str o data.properties.CreatedById.str del registro sin procesar
Lógica del analizador extensions.auth.auth_details Establece el valor en "ACTIVE" si Status no es "Success"; de lo contrario, establece el valor en "UNKNOWN_AUTHENTICATION_STATUS".
Lógica del analizador extensions.auth.mechanism Establece el valor en "REMOTE" para los eventos de acceso: éxito y acceso con logintype que contiene "Remote", o "USERNAME_PASSWORD" para LoginEventStream, o "MECHANISM_OTHER" para eventos con login_url presente, o "AUTHTYPE_UNSPECIFIED" para los eventos de acceso: éxito y salida.
Lógica del analizador extensions.auth.type Configúralo como "SSO" para Login, Logout, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory y LoginAsEvent con LoginType como "SAML Sfdc Initiated SSO" o "AUTHTYPE_UNSPECIFIED" para Login: Success, Logout y LoginAsEvent con LoginType como "Application".

Cambios

2024-06-04

  • Se agregó compatibilidad con registros recién transferidos.

2024-03-06

  • Se cambió la asignación del campo "Id" de "metadata.product_log_id" a "principal.user.userid".
  • Se cambió la asignación del campo "CreatedById" de "principal.user.userid" a "principal.resource.attribute.labels".
  • Se asignó "IsDeleted" a "principal.resource.attribute.labels".
  • Se asignó "LogFileLength" a "principal.resource.attribute.labels".
  • Se asignó "LogFileContentType" a "principal.resource.attribute.labels".
  • Se asignó "ApiVersion" a "principal.resource.attribute.labels".
  • Se asignó "LogFile" a "principal.resource.attribute.labels".

2023-02-24

  • Enhancement-
  • "security_result.action" asignado a ALLOW en lugar de BLOCK si la acción es "LOGIN_NO_ERROR".
  • Para los eventos "Login", haz lo siguiente :
  • "action" se asignó a "security_result.action".
  • "target_user_name" se asignó a "target.user.userid".
  • "tls_protocol" se asignó a "network.tls.version_protocol".
  • "cipher_suite" se asignó a "network.tls.cipher".
  • Se agregó la verificación "on_error" para el bloque "OsVersion" y "date".

2022-12-13

  • Enhancement-
  • Se asignó "LoginType" a "security_result.description".
  • Se asignó "LoginUrl" a "principal.url".
  • Se agregó una verificación de campo vacío para "ApiType" y "LoginGeo.City".

2022-09-02

  • Enhancement-
  • Se migraron los analizadores personalizados al analizador predeterminado.

2022-07-04

  • Enhancement-
  • Se mejoró el analizador para analizar los registros que tienen event_type "LoginHistory".
  • Se agregó una condición para analizar diferentes formatos de marca de tiempo.
  • Se agregó una condición para event_type 'USER_UNCATEGORIZED' en la que 'user_id', 'UserId' o 'target_user_name' no son nulos.
  • Se agregó la validación para analizar src_ip.

2022-04-18

  • Se modificó el mapeo de mejora para DOWNLOAD_FORMAT de "metadata.ingestion_labels" a "target.resource.attribute.labels".

2022-03-30

  • Mejora: Se cambió el valor de event_type de "LoginEventStream" a USER_LOGIN.
  • Se corrigió la asignación de los campos DOWNLOAD_FORMAT y ConnectedAppId.
  • Se agregaron asignaciones para ciertos campos cuando el registro es de tipo LoginEventStream, WaveDownload o ApiEventStream.