Pular para o conteúdo principal

Atividade de auditoria do Google Workspace

info

Visualização

O Lakewatch está em Visualização privada. Para solicitar acesso, entre em contato com a equipe do Databricks responsável pela sua account.

O Lakewatch fornece um conector de API para ingerir atividades de auditoria de aplicativos e serviços do Google Workspace. Este artigo cobre pré-requisitos, instruções de configuração, o esquema do conector e observáveis do analisador Lakewatch.

Pré-requisitos​

O conector exige:

  1. Serverless Lakeflow Spark Declarative Pipelines ativado em seu workspace.

  2. Unity Catalog, com privilégios para criar ou usar uma conexão do Unity Catalog. Consulte Permissões de conexão.

  3. Uma account de administrador do Google Workspace com o privilégio Relatórios . Os superadministradores já têm esse privilégio. Caso contrário, crie uma função de administrador personalizada que inclua Relatórios e, em seguida, atribua a função à account que autoriza a conexão. Relatórios está listado em Relatórios na lista de privilégios.

    • Para ingerir a atividade de auditoria do Vault, inclua o privilégio Google Vault Access All Logs na mesma função personalizada, em Vault .
  4. Acesso a um projeto do Google Cloud onde você pode habilitar a API do Admin SDK e criar credenciais OAuth.

  5. Uma edição compatível para cada aplicativo do Google Workspace que exige uma. O Lakewatch grava esses aplicativos na tabela activities combinada:

Limitações conhecidas​

  • O conector ingere a atividade de auditoria da API de Relatórios do Admin SDK. Ele não ingere conteúdo de caixa de correio, arquivos do Google Drive ou outros recursos do Google Workspace.
  • A retrospectiva histórica não pode exceder 179 dias. O Google mantém relatórios de atividades de auditoria por 180 dias. Consulte Escolher até que ponto ingerir.
  • O conector suporta a autenticação OAuth user-to-machine (U2M). A autenticação OAuth M2M, nome de usuário e senha, e API key não são suportadas.
  • O Google limita cada combinação de account do Google e cliente OAuth a 100 tokens de refresh. A criação de outro token invalida o token mais antigo.

Configure o Google Workspace para incorporação​

Crie um projeto do Google Cloud, configure a tela de consentimento do OAuth, habilite a API Admin SDK e crie credenciais de cliente OAuth. Use o ID e o segredo do cliente resultantes para criar a conexão do Unity Catalog no Databricks. Para mais informações, consulte Habilitar APIs do Google Workspace e Criar credenciais de acesso.

Criar ou selecionar um projeto do Google Cloud​

  1. log in o console do Google Cloud.
  2. Na parte superior da página, abra o seletor de projeto. Selecione um projeto existente ou clique em Criar projeto para criar um novo.
  3. Se você criar um projeto, insira um Nome do projeto descritivo, escolha um Local e clique em Criar . Leva alguns segundos para criar o projeto.
  4. No menu de navegação à esquerda, acesse Visão geral da cloud > Dashboard .
  5. Confirme se o projeto que você selecionou ou criou é exibido na parte superior da página. Se não estiver, abra o seletor de projetos e selecione-o.

Configure seu aplicativo do Google Cloud​

  1. Na barra de pesquisa superior, pesquise por Tela de consentimento OAuth e selecione-a.

  2. Na página Tela de consentimento do OAuth , clique em Começar .

  3. Na página Marca , insira o seguinte e deixe os campos restantes em branco:

    • Nome do aplicativo : Um nome para o aplicativo.
    • email de suporte ao usuário : seu endereço de email.
    • Público : selecione Interno .
    • Informações de contato do desenvolvedor : seu endereço de email.
  4. Clique em Salvar e continuar .

  5. Na página Acesso a dados , clique em Adicionar ou remover escopos .

  6. Em Adicionar escopos manualmente , insira https://www.googleapis.com/auth/admin.reports.audit.readonly.

  7. Clique em Adicionar à tabela e, em seguida, em Atualizar .

  8. Clique em Salvar .

Ativar a API Admin SDK​

  1. Na barra de pesquisa superior, procure por Admin SDK API e selecione-o.
  2. Na página Admin SDK API , clique em Enable (Habilitar ).

Criar credenciais OAuth​

  1. Na barra de pesquisa superior, procure API e serviços e selecione-o.
  2. No menu de navegação à esquerda, clique em Credenciais .
  3. Clique em Criar credenciais .
  4. Selecione ID do cliente OAuth .
  5. Para Tipo de aplicativo , selecione Aplicativo web e insira um Nome para o cliente.
  6. Em URIs de redirecionamento autorizados , clique em Adicionar URI .
  7. Insira https://<workspace-url>/login/oauth/http.html. Substitua <workspace-url> pelo host name do workspace Databricks.
  8. Clique em Criar .
  9. Na caixa de diálogo, registre o ID do cliente e o Segredo do cliente . Use esses valores para criar a conexão do Unity Catalog.
dica

Ao criar uma conexão através da UI do Lakewatch, insira a ID do Cliente e o Segredo do Cliente reunidos acima, em seguida clique em Fazer login no Google e conceda a permissão solicitada.

Para obter mais informações, consulte a configuração da origem do Google Workspace.

Próximos os passos​

Após concluir a configuração acima, crie uma fonte de dados com o conector do Google Workspace na interface do usuário do Lakewatch. Consulte conectores de API para obter instruções.


Esquemas de conector e Lakewatch​

O Lakewatch combina a atividade de auditoria de todos os aplicativos Google Workspace suportados em uma única tabela chamada activities.

Tabela de origem

Dados do Google Workspace

Analisador Lakewatch integrado

activities

Atividade de auditoria combinada de todos os aplicativos do Google Workspace compatíveis

google_workspace_reports

Tabela de origem

Dados do Google Workspace

Analisador Lakewatch integrado

activities

Atividade de auditoria combinada de todos os aplicativos do Google Workspace compatíveis

google_workspace_reports

O conector grava a tabela de origem no destino bruto da fonte de dados. O analisador integrado grava uma tabela analisada separada com o nome do analisador, a menos que você defina um destino analisado ao configurar a fonte de dados.

Colunas gerenciadas pelo Lakewatch​

O conector adiciona as seguintes colunas a cada linha de dados brutos de origem:

  • lw_id: Uma string não nula que o Lakewatch usa como parte da chave primária. O conector deriva um ID estável e ordenável por tempo de time e um hash estável da identidade da atividade de origem e dos campos do evento. A tabela activities usa lw_id e application como key primária composta.
  • time: Um Timestamp não nulo analisado a partir de id.time. O conector usa time como o campo de cursor para ingestão incremental.

A tabela analisada leva lw_id adiante. O analisador também atribui a coluna time analisada e adiciona:

  • lw_meta: Metadados de processamento padrão do Lakewatch.
  • lw_observables: Valores extraídos de campos marcados como observáveis de segurança no analisador.

Para mais informações, consulte Referência de parser.

Esquema de tabela de conector bruto​

A tabela activities grava uma linha por evento. Cada linha contém o tipo, nome, status, IDs de recurso e parâmetros específicos da aplicação do evento, juntamente com detalhes de atividade compartilhados, como o ator, endereço IP e hora do evento. Parâmetros específicos da aplicação são armazenados como VARIANT.

Esquema

Coluna

Tipo de dados

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

Coluna

Tipo de dados

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

Para definições de campos, consulte o recurso de atividade da API Admin SDK Reports.

Observáveis do analisador​

O analisador google_workspace_reports grava objetos aninhados como VARIANT e extrai os seguintes campos em lw_observables.

Observáveis

campo

Observável

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

campo

Observável

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

O analisador também varre parameters pelo nome do parâmetro. A correspondência não diferencia maiúsculas de minúsculas.

Observáveis

Nomes de parâmetros

Observável

user_email, email_monitor_dest_email, group_email, affected_email_address, email_forwarding_destination_address, grantee_email, recipient_email, organizer_email, guardians, impacted_users, invited_emails, previous_email, previous_course_owner, target_user, owner, assignee_email, new_assignee_email, group_id

email

domain_name, domain_alias, secondary_domain_name, link_domain

domain

web_address, remote_ews_url, task_creation_point_url, task_origin_space, target_uri, source_uri

url

email_log_search_smtp_sender_ip, email_log_search_smtp_recipient_ip, ip_address, actor_ip_address

ip

apk_sha256_hash

hash

Nomes de parâmetros

Observável

user_email, email_monitor_dest_email, group_email, affected_email_address, email_forwarding_destination_address, grantee_email, recipient_email, organizer_email, guardians, impacted_users, invited_emails, previous_email, previous_course_owner, target_user, owner, assignee_email, new_assignee_email, group_id

email

domain_name, domain_alias, secondary_domain_name, link_domain

domain

web_address, remote_ews_url, task_creation_point_url, task_origin_space, target_uri, source_uri

url

email_log_search_smtp_sender_ip, email_log_search_smtp_recipient_ip, ip_address, actor_ip_address

ip

apk_sha256_hash

hash