Recolha registos do Salesforce

Compatível com:

Vista geral

Este analisador processa registos do Salesforce nos formatos LEEF, CSV e JSON. Extrai campos, realiza o processamento específico do formato (processamento de pares de chave/valor LEEF, colunas CSV e estruturas JSON), mapeia-os para o UDM e enriquece os dados com metadados e campos derivados. O analisador também processa vários tipos de eventos do Salesforce, aplicando uma lógica específica para inícios de sessão, fins de sessão e outras ações, categorizando eventos e definindo tipos de eventos do UDM adequados.

Antes de começar

Certifique-se de que tem os seguintes pré-requisitos:

  • Instância do Google SecOps.
  • Acesso privilegiado ao AWS IAM, S3 e AppFlow.

Configure o contentor do Amazon S3

  1. Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
  2. Guarde o Nome e a Região do contentor para referência futura.
  3. Crie um utilizador seguindo este guia do utilizador: criar um utilizador do IAM.
  4. Selecione o utilizador criado.
  5. Selecione o separador Credenciais de segurança.
  6. Clique em Criar chave de acesso na secção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Exemplo de utilização.
  8. Clicar em Seguinte.
  9. Opcional: adicione uma etiqueta de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Transferir ficheiro .csv. (Guarde a chave de acesso e a chave de acesso secreta para referência futura).
  12. Clique em Concluído.
  13. Selecione o separador Autorizações.
  14. Clique em Adicionar autorizações na secção Políticas de autorizações.
  15. Selecione Adicionar autorizações.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise a política AmazonS3FullAccess.
  18. Selecione a política.
  19. Clicar em Seguinte.
  20. Clique em Adicionar autorizações.

Configure o Amazon AppFlow

  1. Crie um fluxo do Amazon AppFlow:
    • Nome do fluxo: adicione um nome do fluxo e clique em Seguinte.
    • Origem de dados: escolha Salesforce como origem de dados.
    • Crie uma nova associação.
    • É apresentada uma janela de início de sessão do Salesforce. Inicie sessão com as suas credenciais do Salesforce.
    • Selecione o nome do objeto (escolha os dados que quer transferir do Salesforce para o contentor do S3).
    • Selecione Amazon S3 como o destino dos dados.
    • Selecione Agendar como acionador do fluxo.
    • Em Escolher campos de origem, pode mapear todos os campos diretamente ou especificar os campos a mapear.
  2. Valide a configuração:
    • No Amazon AppFlow, selecione o fluxo que criou e clique em Run flow (Executar fluxo) para obter dados do Salesforce.
    • Os registos devem estar agora no seu contentor do S3.

Configure feeds

Para configurar um feed, siga estes passos:

  1. Aceda a Definições do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na página seguinte, clique em Configurar um único feed.
  4. No campo Nome do feed, introduza um nome para o feed; por exemplo, Registos do Salesforce.
  5. Selecione Amazon S3 como o Tipo de origem.
  6. Selecione Salesforce como o Tipo de registo.
  7. Clicar em Seguinte.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região onde o contentor do Amazon S3 está localizado.
    • URI do S3: o URI do contentor. s3:/BUCKET_NAME Substitua o seguinte:
      • BUCKET_NAME: o nome do segmento.
    • O URI é um: selecione o TIPO de URI de acordo com a configuração de stream do S3: Single file | Directory | Directory which includes subdirectories.
    • Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.
    • ID da chave de acesso: a chave de acesso do utilizador com acesso ao contentor do S3.
    • Chave de acesso secreta: a chave secreta do utilizador com acesso ao contentor do S3.
  9. Clicar em Seguinte.

  10. Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.

Tabela de mapeamento da UDM

Campo de registo Mapeamento de UDM Lógica
Account.Name target.resource.name O valor de Account.Name do registo não processado.
AccountId target.resource.id O valor de AccountId do registo não processado.
Action security_result.description O valor de Action do registo não processado.
AdditionalInfo - Não está mapeado para o objeto IDM.
ApiType target.application O valor de ApiType do registo não processado.
ApiVersion - Não está mapeado para o objeto IDM.
Application principal.application O valor de Application do registo não processado, "Navegador" para LoginAsEvent, "Token JWT de integração" para LoginEvent, "SfdcSiqActivityPlatform" para LoginHistory com objecttype LoginHistory, "N/A" para ApiEvent ou "Navegador" para LoginAsEventStream.
attributes.url target.url O valor de attributes.url do registo não processado ou URLs específicos para vários tipos de eventos do registo não processado.
attributes.type metadata.product_event_type O valor de attributes.type do registo não processado.
AuthSessionId network.session_id O valor de AuthSessionId do registo não processado.
Browser principal.resource.name O valor de Browser do registo não processado ou "Unknown" se Browser não estiver disponível no registo não processado e Application for "Insights" ou "Java (Salesforce.com)" para LoginHistory com ApiType como "SOAP Partner" ou "Unknown" para LoginHistory com Application como "SfdcSiqActivityPlatform" ou de data.properties.Browser.str para LoginAsEventStream.
Case.Subject target.resource.name O valor de Case.Subject do registo não processado.
CaseId target.resource.id O valor de CaseId do registo não processado.
cat metadata.product_event_type O valor de cat do registo não processado.
City principal.location.city O valor de City do registo não processado ou de LoginGeo.City para LoginHistory.
Client principal.labels O valor de Client do registo não processado, formatado como uma etiqueta.
CLIENT_IP principal.ip, principal.asset.ip O valor de CLIENT_IP do registo não processado.
ClientVersion - Não está mapeado para o objeto IDM.
CipherSuite network.tls.cipher O valor de CipherSuite do registo não processado.
ColumnHeaders principal.labels O valor de ColumnHeaders do registo não processado, formatado como uma etiqueta.
ConnectedAppId principal.labels O valor de ConnectedAppId do registo não processado, formatado como uma etiqueta.
Contact.Name target.resource.name O valor de Contact.Name do registo não processado.
ContactId target.resource.id O valor de ContactId do registo não processado.
Country principal.location.country_or_region O valor de Country a partir do registo não processado ou LoginGeo.Country para LoginHistory.
CreatedByContext principal.user.userid O valor de CreatedByContext do registo não processado.
CreatedById principal.resource.attribute.labels O valor de CreatedById do registo não processado, formatado como uma etiqueta.
CreatedDate metadata.collected_timestamp O valor de CreatedDate do registo não processado ou a data/hora atual, se não estiver disponível.
CPU_TIME target.resource.attribute.labels O valor de CPU_TIME do registo não processado, formatado como uma etiqueta.
data - Contém vários campos que são extraídos e mapeados individualmente.
DATASET_IDS target.resource.name O valor de DATASET_IDS do registo não processado.
DelegatedOrganizationId target.administrative_domain O valor de DelegatedOrganizationId do registo não processado.
DelegatedUsername observer.user.userid O valor de DelegatedUsername do registo não processado.
Description metadata.description O valor de Description do registo não processado.
DevicePlatform principal.resource.type O valor de DevicePlatform do registo não processado, analisado para extrair o tipo de recurso.
Display metadata.description O valor de Display do registo não processado.
DOWNLOAD_FORMAT target.resource.attribute.labels O valor de DOWNLOAD_FORMAT do registo não processado, formatado como uma etiqueta.
Duration target.resource.attribute.labels O valor de Duration do registo não processado, formatado como uma etiqueta.
ENTITY_NAME target.resource.attribute.labels O valor de ENTITY_NAME do registo não processado, formatado como uma etiqueta.
ErrorCode security_result.action O valor de ErrorCode do registo não processado, transformado em ALLOW ou BLOCK.
EventDate timestamp O valor de EventDate do registo não processado ou data.properties.TIMESTAMP_DERIVED.str, se disponível, ou data.properties.TIMESTAMP_DERIVED_FIRST.str, se disponível, ou @timestamp, se disponível, ou created_date, se disponível, ou timestamp, se disponível, ou LoginTime para LoginHistory.
EventIdentifier metadata.product_log_id O valor de EventIdentifier do registo não processado.
EventType metadata.product_event_type O valor de EventType do registo não processado.
Id principal.user.userid O valor de Id do registo não processado ou metadata.product_log_id para SetupAuditTrail e outros eventos.
IdentityUsed principal.user.email_addresses O valor de IdentityUsed do registo não processado.
Lead.Name target.resource.name O valor de Lead.Name do registo não processado.
LeadId target.resource.id O valor de LeadId do registo não processado.
LoginAsCategory - Não está mapeado para o objeto IDM.
LoginGeo.Country principal.location.country_or_region O valor de LoginGeo.Country do registo não processado.
LoginHistoryId - Não está mapeado para o objeto IDM.
LoginKey principal.user.userid, network.session_id O valor de LoginKey do registo não processado ou CreatedByContext para SetupAuditTrail.
LoginTime timestamp O valor de LoginTime do registo não processado.
LoginType security_result.description O valor de LoginType do registo não processado ou "Outra API Apex" para LoginHistory com ApiType como "SOAP Partner" ou "Acesso remoto 2.0" para LoginHistory com Application como "SfdcSiqActivityPlatform".
LoginUrl target.url, principal.url O valor de LoginUrl do registo não processado.
LogFile principal.resource.attribute.labels O valor de LogFile do registo não processado, formatado como uma etiqueta.
LogFileContentType principal.resource.attribute.labels O valor de LogFileContentType do registo não processado, formatado como uma etiqueta.
LogFileLength principal.resource.attribute.labels O valor de LogFileLength do registo não processado, formatado como uma etiqueta.
Message - Não está mapeado para o objeto IDM.
METHOD network.http.method O valor de METHOD do registo não processado.
Name target.application O valor de Name do registo não processado.
NewValue - Usado em conjunto com OldValue para gerar security_result.summary.
NUMBER_FIELDS target.resource.attribute.labels O valor de NUMBER_FIELDS do registo não processado, formatado como uma etiqueta.
OldValue - Usado em conjunto com NewValue para gerar security_result.summary.
Operation security_result.description, target.resource.attribute.labels O valor de Operation do registo não processado ou Display para SetupAuditTrail.
OperationStatus security_result.action O valor de OperationStatus do registo não processado, transformado em ALLOW ou BLOCK.
ORGANIZATION_ID target.administrative_domain O valor de ORGANIZATION_ID do registo não processado.
OsName principal.platform O valor de OsName do registo não processado.
OsVersion principal.platform_version O valor de OsVersion do registo não processado.
Platform principal.platform O valor de Platform do registo não processado ou de data.properties.OsName.str para LightningUriEventStream ou de data.properties.OsName.str para LoginEventStream.
QueriedEntities target.resource.name, principal.labels O valor de QueriedEntities do registo não processado ou component_name para UriEvent e ApiEvent.
Query target.process.command_line, principal.labels O valor de Query do registo não processado.
RecordId target.resource.id O valor de RecordId do registo não processado.
Records principal.labels O valor de Records do registo não processado, formatado como uma etiqueta.
REQUEST_ID metadata.product_log_id, target.resource.product_object_id O valor de REQUEST_ID do registo não processado.
REQUEST_SIZE network.sent_bytes O valor de REQUEST_SIZE do registo não processado.
REQUEST_STATUS security_result.summary O valor de REQUEST_STATUS do registo não processado.
RESPONSE_SIZE network.received_bytes O valor de RESPONSE_SIZE do registo não processado.
RowsProcessed target.resource.attribute.labels O valor de RowsProcessed do registo não processado, formatado como uma etiqueta.
RUN_TIME target.resource.attribute.labels O valor de RUN_TIME do registo não processado, formatado como uma etiqueta.
SamlEntityUrl - Não está mapeado para o objeto IDM.
SdkAppType - Não está mapeado para o objeto IDM.
SdkAppVersion - Não está mapeado para o objeto IDM.
SdkVersion - Não está mapeado para o objeto IDM.
Section security_result.summary O valor de Section do registo não processado.
SessionKey network.session_id O valor de SessionKey do registo não processado.
SessionLevel target.resource.attribute.labels O valor de SessionLevel do registo não processado, formatado como uma etiqueta.
SourceIp principal.ip, principal.asset.ip O valor de SourceIp do registo não processado.
src principal.ip, principal.asset.ip O valor de src do registo não processado.
SsoType target.resource.attribute.labels O valor de SsoType do registo não processado, formatado como uma etiqueta.
STATUS_CODE network.http.response_code O valor de STATUS_CODE do registo não processado.
Status security_result.action, security_result.action_details O valor de Status do registo não processado, transformado em ALLOW ou BLOCK, ou usado como detalhes da ação para LoginEventStream.
Subject target.resource.name O valor de Subject do registo não processado.
TargetUrl - Não está mapeado para o objeto IDM.
TIMESTAMP metadata.collected_timestamp O valor de TIMESTAMP do registo não processado.
TIMESTAMP_DERIVED timestamp O valor de TIMESTAMP_DERIVED do registo não processado.
TlsProtocol network.tls.version_protocol O valor de TlsProtocol do registo não processado.
URI target.url O valor de URI do registo não processado.
USER_AGENT network.http.user_agent O valor de USER_AGENT do registo não processado.
USER_ID principal.user.userid O valor de USER_ID do registo não processado.
USER_ID_DERIVED principal.user.product_object_id, target.resource.attribute.labels O valor de USER_ID_DERIVED do registo não processado.
UserId principal.user.userid O valor de UserId do registo não processado.
USER_TYPE target.resource.attribute.labels O valor de USER_TYPE do registo não processado, formatado como uma etiqueta.
Username principal.user.userid, principal.user.email_addresses, target.user.email_addresses O valor de Username do registo não processado, ou src_email para vários eventos, ou IdentityUsed para IdentityProviderEventStore, ou data.properties.Email.str para Search e SearchAlert, ou data.properties.Username.str para LoginAsEventStream e LoginEventStream.
UserType target.resource.attribute.labels O valor de UserType do registo não processado, formatado como uma etiqueta.
usrName principal.user.userid, principal.user.email_addresses, target.user.email_addresses O valor de usrName do registo não processado.
VerificationMethod target.resource.attribute.labels O valor de VerificationMethod do registo não processado, formatado como uma etiqueta.
Parser Logic metadata.event_type Derivado com base nos campos event_id e operation, ou definido como "USER_LOGIN" para LoginEventStream, "USER_LOGOUT" para Logout e LogoutEvent, "USER_RESOURCE_UPDATE_CONTENT" para vários 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 e TimeBasedWorkflow com Operation como "Create" ou "INSERT", "RESOURCE_WRITTEN" para UriEvent e LightningUriEvent com Operation como "Update", "RESOURCE_DELETION" para UriEvent com Operation como "Delete" ou "ROLLBACK", "USER_UNCATEGORIZED" para SetupAuditTrail e AuditTrail, "USER_CHANGE_PASSWORD" para SetupAuditTrail com operation como "namedCredentialEncryptedFieldChange", "GENERIC_EVENT" para ApiEventStream e LightningUriEventStream, ou com base na presença de rede e principal.
Parser Logic metadata.ingestion_labels Etiquetas que indicam a origem do evento, "Ficheiro de registo de eventos", "Monitorização de eventos em tempo real" ou "SetupAuditTrail".
Parser Logic metadata.log_type Está sempre definido como "SALESFORCE".
Parser Logic metadata.product_name Está sempre definido como "SALESFORCE".
Parser Logic metadata.vendor_name Está sempre definido como "SALESFORCE".
Parser Logic metadata.url_back_to_product Construído a partir de vários campos, como LoginUrl, attributes.url, data.properties.PageUrl.str e data.properties.LoginUrl.str.
Parser Logic network.application_protocol Definido como "HTTPS" se o campo uri começar por "http".
Parser Logic network.http.referral_url Extraído do campo user_agent se contiver "Referer=".
Parser Logic network.http.response_code Derivados de request_status para vários eventos.
Parser Logic network.http.user_agent O valor de user_agent do registo não processado, ou de data.properties.UserAgent.str para ApiEventStream e LoginEventStream, ou de eventos Sites, ou "User-Agent" de eventos Sites.
Parser Logic network.session_id O valor de session_key ou SESSION_KEY do registo não processado ou construído a partir de outros campos, como LoginKey ou AuthSessionId.
Parser Logic network.tls.version O valor de tls_protocol do registo não processado ou de data.properties.TlsProtocol.str para LoginEventStream.
Parser Logic principal.application O valor de application do registo não processado ou "Salesforce for Outlook" para eventos Login: Success, ou "Insights" para eventos Login: Success sem Application, ou extraído de device_platform para eventos Lightning.
Parser Logic principal.asset.hostname O valor de client_ip se for um nome de anfitrião.
Parser Logic principal.asset.ip O valor de client_ip ou src_ip ou SourceIp ou CLIENT_IP, se for um endereço IP.
Parser Logic principal.hostname O valor de client_ip se for um nome de anfitrião.
Parser Logic principal.ip O valor de client_ip ou src_ip ou SourceIp ou CLIENT_IP, se for um endereço IP.
Parser Logic principal.labels Etiquetas criadas a partir de vários campos, como FederationIdentifier, ApiType, OrgId e channel.
Parser Logic principal.location.city O valor de geoip_src.city_name, City ou LoginGeo.City do registo não processado.
Parser Logic principal.location.country_or_region O valor de geoip_src.country_name, Country, LoginGeo.Country ou client_geo do registo não processado.
Parser Logic principal.location.region_latitude O valor de data.properties.LoginLatitude.number do registo não processado.
Parser Logic principal.location.region_longitude O valor de data.properties.LoginLongitude.number do registo não processado.
Parser Logic principal.location.state O valor de geoip_src.region_name do registo não processado.
Parser Logic principal.platform O valor de Platform ou OsName ou os_name do registo não processado, ou "WINDOWS" para LoginEventStream com Platform a conter "Windows".
Parser Logic principal.platform_version O valor de OsVersion ou os_version do registo não processado ou extraído de Platform para LoginEventStream com Platform a conter "Windows".
Parser Logic principal.resource.attribute.labels Etiquetas criadas a partir de vários campos, como CreatedById, ApiVersion, LogFile, LogFileContentType e LogFileLength.
Parser Logic principal.resource.name O valor de Browser ou browser_name do registo não processado, ou "Java (Salesforce.com)" para LoginHistory com ApiType como "SOAP Partner".
Parser Logic principal.resource.type Extraído de device_platform para eventos Lightning ou "Navegador" para LoginAsEvent e LoginAsEventStream.
Parser Logic principal.url O valor de LoginUrl do registo não processado.
Parser Logic principal.user.email_addresses O valor de usrName ou Username ou src_email ou IdentityUsed ou data.properties.Username.str ou data.properties.Email.str do registo não processado.
Parser Logic principal.user.product_object_id O valor de attrs.USER_ID_DERIVED ou data.properties.USER_ID_DERIVED.str do registo não processado.
Parser Logic principal.user.userid O valor de usrName ou Username ou user_id ou UserId ou USER_ID ou Id ou LoginKey ou CreatedByContext ou data.properties.Username.str ou data.properties.USER_ID.str ou data.properties.LoginKey.str do registo não processado.
Parser Logic security_result.action Derivado de Status ou OperationStatus ou ErrorCode ou action ou operation_status do registo não processado, transformado em ALLOW ou BLOCK.
Parser Logic security_result.action_details O valor de Status do registo não processado para LoginEventStream.
Parser Logic security_result.description O valor de LoginType ou logintype ou Operation ou Action ou Display do registo não processado.
Parser Logic security_result.rule_name O valor de Policy ou rule_name do registo não processado.
Parser Logic security_result.summary Construído a partir de NewValue e OldValue ou REQUEST_STATUS ou Section ou forecastcategory do registo não processado.
Parser Logic target.administrative_domain O valor de ORGANIZATION_ID, DelegatedOrganizationId, organization_id ou data.properties.OrgName.str do registo não processado.
Parser Logic target.application O valor de Application ou app_name ou ApiType ou Name ou data.properties.Application.str do registo não processado.
Parser Logic target.asset.hostname O valor de target_hostname extraído do campo uri.
Parser Logic target.asset.ip O valor de data.properties.CLIENT_IP.str do registo não processado.
Parser Logic target.asset_id Construído a partir de device_id ou REQUEST_ID.
Parser Logic target.file.mime_type O valor de file_type do registo não processado.
Parser Logic target.file.size O valor de size_bytes do registo não processado.
Parser Logic target.hostname O valor de target_hostname extraído do campo uri.
Parser Logic target.process.command_line O valor de query_exec, Query ou data.properties.Query.str do registo não processado.
Parser Logic target.process.pid O valor de job_id do registo não processado.
Parser Logic target.resource.attribute.labels Etiquetas criadas a partir de vários 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.
Parser Logic target.resource.id O valor de REQUEST_ID ou RecordId ou caseid ou leadid ou contactid ou opportunityid ou accountid do registo não processado.
Parser Logic target.resource.name O valor de QueriedEntities ou resource_name ou component_name ou DATASET_IDS ou field ou StageName ou Subject do registo não processado.
Parser Logic target.resource.product_object_id O valor de REQUEST_ID do registo não processado.
Parser Logic target.resource.resource_type Definido como "ACCESS_POLICY" para ApexCallout e PlatformEncryption, ou "DATABASE" para ApexTrigger, ou "FILE" para ContentTransfer, ou "TABLE" para ApiEvent.
Parser Logic target.resource.type Definido como "BATCH" para QueuedExecution e ApexExecution, ou "FILE" para ContentTransfer, ou "DATABASE_TRIGGER" para ApexTrigger, ou "Case", "Lead", "Contact", "Opportunity", "Account" com base na presença dos campos de ID correspondentes.
Parser Logic target.url O valor de LoginUrl ou URI ou attributes.url ou login_url ou uri do registo não processado.
Parser Logic target.user.email_addresses O valor de Username, attrs.usrName ou email_address do registo não processado.
Parser Logic target.user.user_display_name O valor de target_user_display_name, user_name ou username do registo não processado.
Parser Logic target.user.userid O valor de target_user_name, data.properties.UserId.str ou data.properties.CreatedById.str do registo não processado.
Parser Logic extensions.auth.auth_details Definido como "ACTIVE" se Status não for "Success". Caso contrário, é definido como "UNKNOWN_AUTHENTICATION_STATUS".
Parser Logic extensions.auth.mechanism Definido como "REMOTE" para Login: Success e eventos Login com logintype que contenham "Remote", ou "USERNAME_PASSWORD" para LoginEventStream, ou "MECHANISM_OTHER" para eventos com login_url presente, ou "AUTHTYPE_UNSPECIFIED" para Login: Success e eventos Logout.
Parser Logic extensions.auth.type Definido como "SSO" para Login, Logout, LogoutEvent, LoginAs, IdentityProviderEventStore, LoginHistory, LoginAsEvent com LoginType como "SAML Sfdc Initiated SSO" ou "AUTHTYPE_UNSPECIFIED" para Login: Success, Logout, LoginAsEvent com LoginType como "Application".

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.