Collecter les journaux Salesforce
Présentation
Cet analyseur gère les journaux Salesforce aux formats LEEF, CSV et JSON. Il extrait les champs, effectue un traitement spécifique au format (gestion des paires clé-valeur LEEF, des colonnes CSV et des structures JSON), les met en correspondance avec l'UDM et enrichit les données avec des métadonnées et des champs dérivés. L'analyseur gère également différents types d'événements Salesforce, en appliquant une logique spécifique aux connexions, déconnexions et autres actions, en catégorisant les événements et en définissant les types d'événements UDM appropriés.
Avant de commencer
- Assurez-vous de disposer d'une instance Google SecOps.
- Assurez-vous de disposer d'un accès privilégié à AWS IAM, S3 et AppFlow.
Configurer le bucket Amazon S3
- Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur: Créer un bucket.
- Enregistrez le nom et la région du bucket pour référence ultérieure.
- Créez un utilisateur en suivant ce guide de l'utilisateur: Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Informations d'identification de sécurité.
- Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
- Sélectionnez Service tiers comme Cas d'utilisation.
- Cliquez sur Suivant.
- Facultatif: ajoutez une balise de description.
- Cliquez sur Créer une clé d'accès.
- Cliquez sur Télécharger le fichier .csv. (Enregistrez la clé d'accès et la clé d'accès secrète pour référence ultérieure).
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Joindre directement des règles.
- Recherchez la règle AmazonS3FullAccess.
- Sélectionnez la règle.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Configurer Amazon AppFlow
- Créez un flux Amazon AppFlow :
- Nom du flux: ajoutez un nom de flux, puis cliquez sur Suivant.
- Source de données: sélectionnez Salesforce comme source de données.
- Créez une connexion.
- Une fenêtre de connexion Salesforce s'affiche. Connectez-vous avec vos identifiants Salesforce.
- Sélectionnez le nom de l'objet (choisissez les données que vous souhaitez transférer de Salesforce vers le bucket S3).
- Sélectionnez Amazon S3 comme destination des données.
- Sélectionnez Planifier comme déclencheur du flux.
- Dans Choisir les champs sources, vous pouvez mapper tous les champs directement ou spécifier les champs à mapper.
- Validez la configuration :
- Dans Amazon AppFlow, sélectionnez le flux que vous avez créé, puis cliquez sur Run flow (Exécuter le flux) pour extraire des données de Salesforce.
- Les journaux devraient maintenant se trouver dans votre bucket S3.
Configurer un flux dans Google SecOps pour ingérer des journaux Salesforce
- Accédez à Paramètres du SIEM > Flux.
- Cliquez sur Ajouter.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux Salesforce).
- Sélectionnez Amazon S3 comme Type de source.
- Sélectionnez Salesforce comme Type de journal.
- Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants:
- Region (Région) : région dans laquelle se trouve le bucket Amazon S3.
- URI S3: URI du bucket.
s3:/BUCKET_NAME
Remplacez les éléments suivants :BUCKET_NAME
: nom du bucket.
- Un URI est: sélectionnez le TYPE D'URI en fonction de la configuration du flux S3:
Single file
|Directory
|Directory which includes subdirectories
. - Options de suppression de la source: sélectionnez l'option de suppression de votre choix.
- ID de clé d'accès: clé d'accès utilisateur ayant accès au bucket S3.
- Clé d'accès secrète: clé secrète de l'utilisateur ayant accès au bucket S3.
- Espace de noms des éléments: espace de noms des éléments.
- Libellés d'ingestion: libellé à appliquer aux événements de ce flux.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux dans l'écran Finaliser, puis cliquez sur Envoyer.
Tableau de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
Account.Name |
target.resource.name |
Valeur de Account.Name dans le journal brut. |
AccountId |
target.resource.id |
Valeur de AccountId dans le journal brut. |
Action |
security_result.description |
Valeur de Action dans le journal brut. |
AdditionalInfo |
- | Non mappé sur l'objet IDM. |
ApiType |
target.application |
Valeur de ApiType dans le journal brut. |
ApiVersion |
- | Non mappé sur l'objet IDM. |
Application |
principal.application |
Valeur de Application dans le journal brut, ou "Navigateur" pour LoginAsEvent, ou "Jeton JWT d'intégration" pour LoginEvent, ou "SfdcSiqActivityPlatform" pour LoginHistory avec objecttype LoginHistory, ou "N/A" pour ApiEvent, ou "Navigateur" pour LoginAsEventStream. |
attributes.url |
target.url |
Valeur de attributes.url dans le journal brut ou URL spécifiques pour différents types d'événements dans le journal brut. |
attributes.type |
metadata.product_event_type |
Valeur de attributes.type dans le journal brut. |
AuthSessionId |
network.session_id |
Valeur de AuthSessionId dans le journal brut. |
Browser |
principal.resource.name |
Valeur de Browser dans le journal brut, ou "Inconnu" si Browser n'est pas disponible dans le journal brut et que Application est "Insights" ou "Java (Salesforce.com)" pour LoginHistory avec ApiType comme "Partenaire SOAP", ou "Inconnu" pour LoginHistory avec Application comme "SfdcSiqActivityPlatform", ou à partir de data.properties.Browser.str pour LoginAsEventStream. |
Case.Subject |
target.resource.name |
Valeur de Case.Subject dans le journal brut. |
CaseId |
target.resource.id |
Valeur de CaseId dans le journal brut. |
cat |
metadata.product_event_type |
Valeur de cat dans le journal brut. |
City |
principal.location.city |
Valeur de City à partir du journal brut ou de LoginGeo.City pour LoginHistory. |
Client |
principal.labels |
Valeur de Client à partir du journal brut, au format de libellé. |
CLIENT_IP |
principal.ip , principal.asset.ip |
Valeur de CLIENT_IP dans le journal brut. |
ClientVersion |
- | Non mappé sur l'objet IDM. |
CipherSuite |
network.tls.cipher |
Valeur de CipherSuite dans le journal brut. |
ColumnHeaders |
principal.labels |
Valeur de ColumnHeaders à partir du journal brut, au format de libellé. |
ConnectedAppId |
principal.labels |
Valeur de ConnectedAppId à partir du journal brut, au format de libellé. |
Contact.Name |
target.resource.name |
Valeur de Contact.Name dans le journal brut. |
ContactId |
target.resource.id |
Valeur de ContactId dans le journal brut. |
Country |
principal.location.country_or_region |
Valeur Country du journal brut ou LoginGeo.Country pour LoginHistory. |
CreatedByContext |
principal.user.userid |
Valeur de CreatedByContext dans le journal brut. |
CreatedById |
principal.resource.attribute.labels |
Valeur de CreatedById à partir du journal brut, au format de libellé. |
CreatedDate |
metadata.collected_timestamp |
Valeur de CreatedDate dans le journal brut ou code temporel actuel si ce n'est pas possible. |
CPU_TIME |
target.resource.attribute.labels |
Valeur de CPU_TIME à partir du journal brut, au format de libellé. |
data |
- | Contient différents champs qui sont extraits et mappés individuellement. |
DATASET_IDS |
target.resource.name |
Valeur de DATASET_IDS dans le journal brut. |
DelegatedOrganizationId |
target.administrative_domain |
Valeur de DelegatedOrganizationId dans le journal brut. |
DelegatedUsername |
observer.user.userid |
Valeur de DelegatedUsername dans le journal brut. |
Description |
metadata.description |
Valeur de Description dans le journal brut. |
DevicePlatform |
principal.resource.type |
Valeur de DevicePlatform dans le journal brut, analysée pour extraire le type de ressource. |
Display |
metadata.description |
Valeur de Display dans le journal brut. |
DOWNLOAD_FORMAT |
target.resource.attribute.labels |
Valeur de DOWNLOAD_FORMAT dans le journal brut, au format de libellé. |
Duration |
target.resource.attribute.labels |
Valeur de Duration à partir du journal brut, au format de libellé. |
ENTITY_NAME |
target.resource.attribute.labels |
Valeur de ENTITY_NAME à partir du journal brut, au format de libellé. |
ErrorCode |
security_result.action |
Valeur de ErrorCode du journal brut, transformée en ALLOW ou BLOCK. |
EventDate |
timestamp |
Valeur de EventDate dans le journal brut, ou data.properties.TIMESTAMP_DERIVED.str si disponible, ou data.properties.TIMESTAMP_DERIVED_FIRST.str si disponible, ou @timestamp si disponible, ou created_date si disponible, ou timestamp si disponible, ou LoginTime pour LoginHistory. |
EventIdentifier |
metadata.product_log_id |
Valeur de EventIdentifier dans le journal brut. |
EventType |
metadata.product_event_type |
Valeur de EventType dans le journal brut. |
Id |
principal.user.userid |
Valeur de Id à partir du journal brut, ou metadata.product_log_id pour SetupAuditTrail et d'autres événements. |
IdentityUsed |
principal.user.email_addresses |
Valeur de IdentityUsed dans le journal brut. |
Lead.Name |
target.resource.name |
Valeur de Lead.Name dans le journal brut. |
LeadId |
target.resource.id |
Valeur de LeadId dans le journal brut. |
LoginAsCategory |
- | Non mappé sur l'objet IDM. |
LoginGeo.Country |
principal.location.country_or_region |
Valeur de LoginGeo.Country dans le journal brut. |
LoginHistoryId |
- | Non mappé sur l'objet IDM. |
LoginKey |
principal.user.userid , network.session_id |
Valeur de LoginKey à partir du journal brut ou CreatedByContext pour SetupAuditTrail. |
LoginTime |
timestamp |
Valeur de LoginTime dans le journal brut. |
LoginType |
security_result.description |
Valeur de LoginType dans le journal brut, ou "Autre API Apex" pour LoginHistory avec ApiType comme "Partenaire SOAP", ou "Accès à distance 2.0" pour LoginHistory avec Application comme "SfdcSiqActivityPlatform". |
LoginUrl |
target.url , principal.url |
Valeur de LoginUrl dans le journal brut. |
LogFile |
principal.resource.attribute.labels |
Valeur de LogFile dans le journal brut, au format de libellé. |
LogFileContentType |
principal.resource.attribute.labels |
Valeur de LogFileContentType à partir du journal brut, au format de libellé. |
LogFileLength |
principal.resource.attribute.labels |
Valeur de LogFileLength à partir du journal brut, au format de libellé. |
Message |
- | Non mappé sur l'objet IDM. |
METHOD |
network.http.method |
Valeur de METHOD dans le journal brut. |
Name |
target.application |
Valeur de Name dans le journal brut. |
NewValue |
- | À utiliser conjointement avec OldValue pour générer security_result.summary . |
NUMBER_FIELDS |
target.resource.attribute.labels |
Valeur de NUMBER_FIELDS dans le journal brut, au format de libellé. |
OldValue |
- | À utiliser conjointement avec NewValue pour générer security_result.summary . |
Operation |
security_result.description , target.resource.attribute.labels |
Valeur de Operation à partir du journal brut ou Display pour SetupAuditTrail. |
OperationStatus |
security_result.action |
Valeur de OperationStatus du journal brut, transformée en ALLOW ou BLOCK. |
ORGANIZATION_ID |
target.administrative_domain |
Valeur de ORGANIZATION_ID dans le journal brut. |
OsName |
principal.platform |
Valeur de OsName dans le journal brut. |
OsVersion |
principal.platform_version |
Valeur de OsVersion dans le journal brut. |
Platform |
principal.platform |
Valeur de Platform à partir du journal brut, ou de data.properties.OsName.str pour LightningUriEventStream, ou de data.properties.OsName.str pour LoginEventStream. |
QueriedEntities |
target.resource.name , principal.labels |
Valeur QueriedEntities du journal brut ou component_name pour UriEvent et ApiEvent. |
Query |
target.process.command_line , principal.labels |
Valeur de Query dans le journal brut. |
RecordId |
target.resource.id |
Valeur de RecordId dans le journal brut. |
Records |
principal.labels |
Valeur de Records à partir du journal brut, au format de libellé. |
REQUEST_ID |
metadata.product_log_id , target.resource.product_object_id |
Valeur de REQUEST_ID dans le journal brut. |
REQUEST_SIZE |
network.sent_bytes |
Valeur de REQUEST_SIZE dans le journal brut. |
REQUEST_STATUS |
security_result.summary |
Valeur de REQUEST_STATUS dans le journal brut. |
RESPONSE_SIZE |
network.received_bytes |
Valeur de RESPONSE_SIZE dans le journal brut. |
RowsProcessed |
target.resource.attribute.labels |
Valeur de RowsProcessed dans le journal brut, au format de libellé. |
RUN_TIME |
target.resource.attribute.labels |
Valeur de RUN_TIME à partir du journal brut, au format de libellé. |
SamlEntityUrl |
- | Non mappé sur l'objet IDM. |
SdkAppType |
- | Non mappé sur l'objet IDM. |
SdkAppVersion |
- | Non mappé sur l'objet IDM. |
SdkVersion |
- | Non mappé sur l'objet IDM. |
Section |
security_result.summary |
Valeur de Section dans le journal brut. |
SessionKey |
network.session_id |
Valeur de SessionKey dans le journal brut. |
SessionLevel |
target.resource.attribute.labels |
Valeur de SessionLevel à partir du journal brut, au format de libellé. |
SourceIp |
principal.ip , principal.asset.ip |
Valeur de SourceIp dans le journal brut. |
src |
principal.ip , principal.asset.ip |
Valeur de src dans le journal brut. |
SsoType |
target.resource.attribute.labels |
Valeur de SsoType à partir du journal brut, au format de libellé. |
STATUS_CODE |
network.http.response_code |
Valeur de STATUS_CODE dans le journal brut. |
Status |
security_result.action , security_result.action_details |
Valeur de Status du journal brut, transformée en ALLOW ou BLOCK, ou utilisée comme détails d'action pour LoginEventStream. |
Subject |
target.resource.name |
Valeur de Subject dans le journal brut. |
TargetUrl |
- | Non mappé sur l'objet IDM. |
TIMESTAMP |
metadata.collected_timestamp |
Valeur de TIMESTAMP dans le journal brut. |
TIMESTAMP_DERIVED |
timestamp |
Valeur de TIMESTAMP_DERIVED dans le journal brut. |
TlsProtocol |
network.tls.version_protocol |
Valeur de TlsProtocol dans le journal brut. |
URI |
target.url |
Valeur de URI dans le journal brut. |
USER_AGENT |
network.http.user_agent |
Valeur de USER_AGENT dans le journal brut. |
USER_ID |
principal.user.userid |
Valeur de USER_ID dans le journal brut. |
USER_ID_DERIVED |
principal.user.product_object_id , target.resource.attribute.labels |
Valeur de USER_ID_DERIVED dans le journal brut. |
UserId |
principal.user.userid |
Valeur de UserId dans le journal brut. |
USER_TYPE |
target.resource.attribute.labels |
Valeur de USER_TYPE à partir du journal brut, au format de libellé. |
Username |
principal.user.userid , principal.user.email_addresses , target.user.email_addresses |
Valeur Username du journal brut, ou src_email pour divers événements, ou IdentityUsed pour IdentityProviderEventStore, ou data.properties.Email.str pour Search et SearchAlert, ou data.properties.Username.str pour LoginAsEventStream et LoginEventStream. |
UserType |
target.resource.attribute.labels |
Valeur de UserType à partir du journal brut, au format de libellé. |
usrName |
principal.user.userid , principal.user.email_addresses , target.user.email_addresses |
Valeur de usrName dans le journal brut. |
VerificationMethod |
target.resource.attribute.labels |
Valeur de VerificationMethod à partir du journal brut, au format de libellé. |
Logique de l'analyseur | metadata.event_type |
Dérivé en fonction des champs event_id et operation , ou défini sur "USER_LOGIN" pour LoginEventStream, "USER_LOGOUT" pour Logout et LogoutEvent, "USER_RESOURCE_UPDATE_CONTENT" pour divers événements, "USER_RESOURCE_UPDATE_PERMISSIONS" pour PlatformEncryption, "RESOURCE_READ" pour QueuedExecution, ApexExecution, LightningInteraction, LightningPerformance, LightningPageView, URI, RestApi, API, AuraRequest, ApexCallout, OneCommerceUsage, Sites, MetadataApiOperation, OneCommerceUsage, VisualforceRequest, Dashboard, Search, ListViewEvent, "RESOURCE_CREATION" pour UriEvent et TimeBasedWorkflow avec Operation défini sur "Create" ou "INSERT", "RESOURCE_WRITTEN" pour UriEvent et LightningUriEvent avec Operation défini sur "Update", "RESOURCE_DELETION" pour UriEvent avec Operation défini sur "Delete" ou "ROLLBACK", "USER_UNCATEGORIZED" pour SetupAuditTrail et AuditTrail, "USER_CHANGE_PASSWORD" pour SetupAuditTrail avec operation défini sur "namedCredentialEncryptedFieldChange", "GENERIC_EVENT" pour ApiEventStream et LightningUriEventStream, ou en fonction de la présence du réseau et du principal. |
Logique de l'analyseur | metadata.ingestion_labels |
Libellés indiquant la source de l'événement : "Event Log File" (Fichier journal des événements), "Real-Time Event Monitoring" (Surveillance des événements en temps réel) ou "SetupAuditTrail". |
Logique de l'analyseur | metadata.log_type |
Toujours défini sur "SALESFORCE". |
Logique de l'analyseur | metadata.product_name |
Toujours défini sur "SALESFORCE". |
Logique de l'analyseur | metadata.vendor_name |
Toujours défini sur "SALESFORCE". |
Logique de l'analyseur | metadata.url_back_to_product |
Construit à partir de divers champs tels que LoginUrl , attributes.url , data.properties.PageUrl.str et data.properties.LoginUrl.str . |
Logique de l'analyseur | network.application_protocol |
Définissez cette valeur sur "HTTPS" si le champ uri commence par "http". |
Logique de l'analyseur | network.http.referral_url |
Extrait du champ user_agent s'il contient "Referer=". |
Logique de l'analyseur | network.http.response_code |
Dérivé de request_status pour divers événements. |
Logique de l'analyseur | network.http.user_agent |
Valeur de user_agent à partir du journal brut, ou de data.properties.UserAgent.str pour ApiEventStream et LoginEventStream, ou d'événements Sites , ou "User-Agent" à partir d'événements Sites . |
Logique de l'analyseur | network.session_id |
Valeur de session_key ou SESSION_KEY à partir du journal brut, ou construite à partir d'autres champs tels que LoginKey ou AuthSessionId . |
Logique de l'analyseur | network.tls.version |
Valeur de tls_protocol à partir du journal brut ou de data.properties.TlsProtocol.str pour LoginEventStream. |
Logique de l'analyseur | principal.application |
Valeur de application dans le journal brut, ou "Salesforce pour Outlook" pour les événements de connexion: succès, ou "Insights" pour les événements de connexion: succès sans application, ou extraite de device_platform pour les événements Lightning. |
Logique de l'analyseur | principal.asset.hostname |
Valeur de client_ip s'il s'agit d'un nom d'hôte. |
Logique de l'analyseur | principal.asset.ip |
Valeur client_ip , src_ip , SourceIp ou CLIENT_IP s'il s'agit d'une adresse IP. |
Logique de l'analyseur | principal.hostname |
Valeur de client_ip s'il s'agit d'un nom d'hôte. |
Logique de l'analyseur | principal.ip |
Valeur client_ip , src_ip , SourceIp ou CLIENT_IP s'il s'agit d'une adresse IP. |
Logique de l'analyseur | principal.labels |
Libellés construits à partir de divers champs tels que FederationIdentifier , ApiType , OrgId et channel . |
Logique de l'analyseur | principal.location.city |
Valeur geoip_src.city_name , City ou LoginGeo.City du journal brut. |
Logique de l'analyseur | principal.location.country_or_region |
Valeur geoip_src.country_name , Country , LoginGeo.Country ou client_geo du journal brut. |
Logique de l'analyseur | principal.location.region_latitude |
Valeur de data.properties.LoginLatitude.number dans le journal brut. |
Logique de l'analyseur | principal.location.region_longitude |
Valeur de data.properties.LoginLongitude.number dans le journal brut. |
Logique de l'analyseur | principal.location.state |
Valeur de geoip_src.region_name dans le journal brut. |
Logique de l'analyseur | principal.platform |
Valeur de Platform , OsName ou os_name dans le journal brut, ou "WINDOWS" pour LoginEventStream avec Platform contenant "Windows". |
Logique de l'analyseur | principal.platform_version |
Valeur de OsVersion ou os_version à partir du journal brut, ou extraite de Platform pour LoginEventStream avec Platform contenant "Windows". |
Logique de l'analyseur | principal.resource.attribute.labels |
Libellés construits à partir de divers champs tels que CreatedById , ApiVersion , LogFile , LogFileContentType et LogFileLength . |
Logique de l'analyseur | principal.resource.name |
Valeur Browser ou browser_name du journal brut, ou "Java (Salesforce.com)" pour LoginHistory avec ApiType comme "Partenaire SOAP". |
Logique de l'analyseur | principal.resource.type |
Extrait de device_platform pour les événements Lightning ou "Navigateur" pour LoginAsEvent et LoginAsEventStream. |
Logique de l'analyseur | principal.url |
Valeur de LoginUrl dans le journal brut. |
Logique de l'analyseur | principal.user.email_addresses |
Valeur usrName , Username , src_email , IdentityUsed , data.properties.Username.str ou data.properties.Email.str du journal brut. |
Logique de l'analyseur | principal.user.product_object_id |
Valeur attrs.USER_ID_DERIVED ou data.properties.USER_ID_DERIVED.str du journal brut. |
Logique de l'analyseur | principal.user.userid |
Valeur usrName , Username , user_id , UserId , USER_ID , Id , LoginKey , CreatedByContext , data.properties.Username.str , data.properties.USER_ID.str ou data.properties.LoginKey.str du journal brut. |
Logique de l'analyseur | security_result.action |
Dérivé de Status ou OperationStatus ou ErrorCode ou action ou operation_status du journal brut, transformé en ALLOW ou BLOCK. |
Logique de l'analyseur | security_result.action_details |
Valeur de Status dans le journal brut pour LoginEventStream. |
Logique de l'analyseur | security_result.description |
Valeur LoginType , logintype , Operation , Action ou Display du journal brut. |
Logique de l'analyseur | security_result.rule_name |
Valeur Policy ou rule_name du journal brut. |
Logique de l'analyseur | security_result.summary |
Construit à partir de NewValue et OldValue ou REQUEST_STATUS ou Section ou forecastcategory à partir du journal brut. |
Logique de l'analyseur | target.administrative_domain |
Valeur ORGANIZATION_ID , DelegatedOrganizationId , organization_id ou data.properties.OrgName.str du journal brut. |
Logique de l'analyseur | target.application |
Valeur Application , app_name , ApiType , Name ou data.properties.Application.str du journal brut. |
Logique de l'analyseur | target.asset.hostname |
Valeur de target_hostname extraite du champ uri . |
Logique de l'analyseur | target.asset.ip |
Valeur de data.properties.CLIENT_IP.str dans le journal brut. |
Logique de l'analyseur | target.asset_id |
Construit à partir de device_id ou REQUEST_ID . |
Logique de l'analyseur | target.file.mime_type |
Valeur de file_type dans le journal brut. |
Logique de l'analyseur | target.file.size |
Valeur de size_bytes dans le journal brut. |
Logique de l'analyseur | target.hostname |
Valeur de target_hostname extraite du champ uri . |
Logique de l'analyseur | target.process.command_line |
Valeur query_exec , Query ou data.properties.Query.str du journal brut. |
Logique de l'analyseur | target.process.pid |
Valeur de job_id dans le journal brut. |
Logique de l'analyseur | target.resource.attribute.labels |
Libellés construits à partir de différents champs tels que 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 et SessionLevel |
Logique de l'analyseur | target.resource.id |
Valeur REQUEST_ID , RecordId , caseid , leadid , contactid , opportunityid ou accountid du journal brut. |
Logique de l'analyseur | target.resource.name |
Valeur QueriedEntities , resource_name , component_name , DATASET_IDS , field , StageName ou Subject du journal brut. |
Logique de l'analyseur | target.resource.product_object_id |
Valeur de REQUEST_ID dans le journal brut. |
Logique de l'analyseur | target.resource.resource_type |
Définissez-le sur "ACCESS_POLICY" pour ApexCallout et PlatformEncryption, ou sur "DATABASE" pour ApexTrigger, ou sur "FILE" pour ContentTransfer, ou sur "TABLE" pour ApiEvent. |
Logique de l'analyseur | target.resource.type |
Définissez cette valeur sur "BATCH" pour QueuedExecution et ApexExecution, ou sur "FILE" pour ContentTransfer, ou sur "DATABASE_TRIGGER" pour ApexTrigger, ou sur "Case", "Lead", "Contact", "Opportunity" ou "Account" en fonction de la présence des champs d'ID correspondants. |
Logique de l'analyseur | target.url |
Valeur LoginUrl , URI , attributes.url , login_url ou uri du journal brut. |
Logique de l'analyseur | target.user.email_addresses |
Valeur Username , attrs.usrName ou email_address du journal brut. |
Logique de l'analyseur | target.user.user_display_name |
Valeur target_user_display_name , user_name ou username du journal brut. |
Logique de l'analyseur | target.user.userid |
Valeur target_user_name , data.properties.UserId.str ou data.properties.CreatedById.str du journal brut. |
Logique de l'analyseur | extensions.auth.auth_details |
Définissez cette valeur sur "ACTIVE" si Status n'est pas défini sur "Success", sinon sur "UNKNOWN_AUTHENTICATION_STATUS". |
Logique de l'analyseur | extensions.auth.mechanism |
Définissez-le sur "REMOTE" pour les événements "Login: Success" et "Login" avec logintype contenant "Remote", ou "USERNAME_PASSWORD" pour LoginEventStream, ou "MECHANISM_OTHER" pour les événements avec login_url , ou "AUTHTYPE_UNSPECIFIED" pour les événements "Login: Success" et "Logout". |
Logique de l'analyseur | extensions.auth.type |
Définissez la valeur "SSO" pour Login, Logout, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory et LoginAsEvent avec LoginType défini sur "SSO déclenché par Sfdc SAML", ou "AUTHTYPE_UNSPECIFIED" pour Login: Success, Logout et LoginAsEvent avec LoginType défini sur "Application". |
Modifications
2024-06-04
- Prise en charge des journaux nouvellement ingérés.
2024-03-06
- Modification du mappage du champ "Id" de "metadata.product_log_id" à "principal.user.userid".
- Modification de la mise en correspondance du champ "CreatedById" de "principal.user.userid" à "principal.resource.attribute.labels".
- Mappage de "IsDeleted" sur "principal.resource.attribute.labels".
- "LogFileLength" a été mappé sur "principal.resource.attribute.labels".
- Mappage de "LogFileContentType" sur "principal.resource.attribute.labels".
- Mappage de "ApiVersion" sur "principal.resource.attribute.labels".
- "LogFile" a été mappé sur "principal.resource.attribute.labels".
2023-02-24
- Amélioration :
- "security_result.action" mappé sur ALLOW au lieu de BLOCK si l'action est "LOGIN_NO_ERROR".
- Pour les événements "Connexion" :
- "action" mappé sur "security_result.action".
- "target_user_name" mappé sur "target.user.userid".
- "tls_protocol" mappé sur "network.tls.version_protocol".
- "cipher_suite" mappé sur "network.tls.cipher".
- Ajout d'une vérification "on_error" pour le bloc "OsVersion" et "date".
2022-12-13
- Amélioration :
- Mappage de "LoginType" sur "security_result.description".
- Mappage de "LoginUrl" sur "principal.url".
- Ajout d'une vérification de la valeur vide pour "ApiType" et "LoginGeo.City".
2022-09-02
- Amélioration :
- Migration des analyseurs personnalisés vers l'analyseur par défaut.
2022-07-04
- Amélioration :
- Amélioration de l'analyseur pour analyser les journaux dont l'attribut event_type est "LoginHistory".
- Ajout d'une condition pour analyser différents formats de code temporel.
- Ajout d'une condition pour le type d'événement "USER_UNCATEGORIZED" lorsque "user_id", "UserId" ou "target_user_name" ne sont pas nuls.
- Ajout d'une validation pour l'analyse de src_ip.
2022-04-18
- Amélioration-Modification du mappage pour DOWNLOAD_FORMAT de "metadata.ingestion_labels" à "target.resource.attribute.labels".
2022-03-30
- Amélioration : modification du type d'événement pour "LoginEventStream" en USER_LOGIN.
- Correction du mappage des champs DOWNLOAD_FORMAT et ConnectedAppId.
- Ajout de mappages pour certains champs lorsque le journal est de type LoginEventStream, WaveDownload ou ApiEventStream.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.