Configurar o fornecimento de registros de auditoria

Este artigo explica como configurar o fornecimento de baixa latência do registro de auditoria no formato de arquivo JSON para um bucket de armazenamento Amazon S3 .

Quando os logs de auditoria são entregues a um bucket de armazenamento S3, o senhor pode disponibilizar os dados para análise de uso. Databricks entrega um arquivo JSON separado para cada workspace em seu account e um arquivo separado para eventos de nível account. Para obter mais informações sobre o esquema de arquivos e eventos de auditoria, consulte Referência do Audit log .

Opcionalmente, você pode entregar logs para uma account da AWS diferente da account usada para a IAM role criada para entrega de log. Isso permite flexibilidade, por exemplo, configurar workspace de várias account da AWS para entregar no mesmo bucket do S3. Essa opção requer que você configure uma política de bucket do S3 que faça referência a umaIAM role entre account. Instruções e uma política padrão são fornecidas para você na Passo 3: Suporte entre contas.

Além da entrega de logs para workspaces em execução, os logs são entregues para workspaces cancelados para garantir que os logs sejam entregues adequadamente e representem o último dia do workspace.

Requisitos

Para configurar a entrega da auditoria log, o senhor deve:

Fluxo de alto nível

Esta seção descreve o fluxo de alto nível da auditoria log delivery.

  • Passo 1: Configure o armazenamento: Na AWS, crie um novo bucket S3. Usando APIs do Databricks, chame a API account para criar um objeto de configuração de armazenamento que usa o nome do depósito.

  • Passo 2: Configurar credenciais: Na AWS, crie a IAM role apropriada da AWS. Usando APIs do Databricks, chame a API da account para criar um objeto de configuração de credenciais que usa o ARN da IAM role .

  • (Opcional) Passo 3: Suporte entre contas: para entregar logs a uma conta da AWS diferente da conta da IAM role que você criou para entrega de log, adicione uma política de bucket do S3. Esta política faz referência a IDs para aIAM role entre account que você criou na passo anterior.

  • Passo 4: Chame a API de entrega logs : Chame a API de contas para criar uma configuração de entrega logs que use os objetos de configuração de credencial e armazenamento das passos anteriores.

Depois de concluir essas passos, você pode acessar os arquivos JSON. O local de entrega segue o seguinte formato:

<bucket-name>/<delivery-path-prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json

Observação

Se o senhor configurar o fornecimento de auditoria log para todo o account, os eventos de auditoria de nível accountque não estiverem associados a um único workspace serão fornecidos à partição workspaceId=0.

Considerações com base no número de espaços de trabalho

Sua configuração de entrega pode variar dependendo de quantos espaços de trabalho o senhor tem e onde eles estão localizados:

  • Se o senhor tiver um workspace em seu Databricks account: Siga as instruções descritas no fluxo de alto nível, criando um único objeto de configuração para o seu workspace.

  • Se o senhor tiver vários espaços de trabalho no mesmo Databricks account: Execute uma das seguintes ações:

    • Compartilhe a mesma configuração (log delivery S3 bucket e IAM role) para todos os espaços de trabalho no account. Essa é a única opção de configuração que também oferece auditoria de nível account logs. Essa é a opção default.

    • Use configurações separadas para cada workspace da conta.

    • Use configurações separadas para diferentes grupos de workspaces, cada um compartilhando uma configuração.

  • Se o senhor tiver vários espaços de trabalho, cada um associado a um Databricks account: Crie objetos de configuração de credenciais e armazenamento exclusivos para cada account. O senhor pode reutilizar um bucket S3 ou IAM role entre esses objetos de configuração.

Observação

O senhor pode configurar a entrega do log com o account API mesmo que o workspace não tenha sido criado usando o account API.

Como autenticar na API da conta

Para se autenticar no site account API, o senhor pode usar Databricks OAuth para entidade de serviço, Databricks OAuth para usuários ou um Databricks account nome de usuário e senha de administrador. Databricks Recomendamos enfaticamente que o senhor use o site Databricks OAuth para usuários ou entidades de serviço. Uma entidade de serviço é uma identidade que o senhor cria em Databricks para uso com ferramentas, trabalhos e aplicativos automatizados. Consulte a autenticação OAuth máquina a máquina (M2M).

Use os exemplos a seguir para se autenticar em um site Databricks account. O senhor pode usar OAuth para entidade de serviço, OAuth para usuários ou o nome de usuário e a senha de um usuário (legado). Para saber mais, consulte:

Para exemplos de autenticação, escolha uma das seguintes opções:

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Complete os passos para configurar a autenticação OAuth M2M para a entidade de serviço no site account. Consulte a autenticação OAuth máquina a máquina (M2M).

  3. Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo .databrickscfg, com os campos do perfil definidos corretamente para os mapeamentos host, account_id, client_id e client_secret relacionados à entidade de serviço. Consulte a autenticação OAuth máquina a máquina (M2M).

  4. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p MY-AWS-ACCOUNT
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Complete os passos a seguir para configurar a autenticação OAuth U2M para os usuários no site account. Consulte a autenticação OAuth de usuário para máquina (U2M).

  3. Inicie o processo de autenticação do usuário executando o seguinte comando Databricks CLI:

    databricks auth login --host <account-console-url> --account-id <account-id>
    

    Por exemplo:

    databricks auth login --host https://accounts.cloud.databricks.com --account-id 00000000-0000-0000-0000-000000000000
    

    Observação

    Se o senhor tiver um perfil de configuração do Databricks existente com os campos host e account_id já definidos, poderá substituir --host <account-console-url> --account-id <account-id> por --profile <profile-name>.

  4. Siga as instruções na tela para que a CLI do Databricks crie automaticamente o perfil de configuração do Databricks relacionado em seu arquivo .databrickscfg.

  5. Continue seguindo as instruções que aparecem na tela para acessar a sua conta Databricks através do seu navegador da web.

  6. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p ACCOUNT-00000000-0000-0000-0000-000000000000
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

  1. Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.

  2. Identifique ou crie manualmente um perfil de configuração Databricks em seu arquivo .databrickscfg, com os campos do perfil definidos corretamente para o mapeamento host, account_id, username e password relacionados ao seu usuário Databricks account. Consulte Autenticação básica (legado).

  3. Execute o comando Databricks CLI de destino, onde <profile-name> representa o nome do perfil de configuração no arquivo .databrickscfg:

    databricks account <command-name> <subcommand-name> -p <profile-name>
    

    Por exemplo, para listar todos os usuários na conta:

    databricks account users list -p MY-AWS-ACCOUNT
    
    • Para obter uma lista de comandos de conta disponíveis, execute o comando databricks account -h.

    • Para obter uma lista de subcomandos disponíveis para um comando de conta, execute o comando databricks account <command-name> -h.

Detalhes da entrega da auditoria

Depois que o registro é ativado para o seu account, o Databricks envia automaticamente o registro de auditoria em formato legível por humanos para o seu local de entrega periodicamente.

  • Latência: Após a instalação inicial ou outras alterações de configuração, espere algum atraso até que as alterações tenham efeito. Para a configuração inicial da auditoria log delivery, leva até uma hora para que o log delivery seja iniciado. Após o início da entrega do log, os eventos auditáveis são normalmente registrados em 15 minutos. Alterações adicionais de configuração normalmente levam uma hora para entrar em vigor.

  • Criptografia: A Databricks criptografa os logs de auditoria usando a criptografia do lado do servidor do Amazon S3.

  • Formato: Databricks fornece o registro de auditoria no formato JSON.

  • Localização: O local de entrega é <bucket-name>/<delivery-path-prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json. Novos arquivos JSON são entregues a cada poucos minutos, podendo substituir os arquivos existentes. O caminho de entrega é definido como parte da configuração. accountOs eventos de auditoria de nível que não estão associados a um único workspace são entregues à partição workspaceId=0, se o senhor tiver configurado a entrega de auditoria logs para todo o account.

    • A Databricks pode substituir os arquivos de log entregues em seu bucket a qualquer momento. Se um arquivo for sobrescrito, o conteúdo existente permanecerá, mas poderá haver linhas adicionais para eventos mais auditáveis.

    • A substituição garante a semântica exactly-once sem exigir acesso de leitura ou exclusão ao seu site account.

Usar as APIs de fornecimento de registros

A entregalog APIstem o seguinte recurso adicional:

O status de configuração de entrega de log pode ser encontrado no objeto log_delivery_status da resposta da API. Com log_delivery_status, você pode verificar o status (sucesso ou fracasso) e a última vez de uma tentativa ou entrega bem-sucedida.

Limitações de entrega do registro de auditoria

Há um limite para o número de configurações de entrega log disponíveis por account (cada limite se aplica separadamente a cada tipo log, incluindo uso faturável e auditoria logs). O senhor pode criar no máximo duas configurações de entrega de nível accounthabilitadas (configurações sem um filtro workspace ) por tipo. Além disso, o senhor pode criar e ativar duas configurações de entrega de nível workspace por workspace para cada tipo log, o que significa que o mesmo ID workspace pode ocorrer no filtro workspace para não mais do que duas configurações de entrega por tipo log.

você não pode excluir uma configuração de fornecimento de log, mas pode desativá-la. Você pode reativar uma configuração desativada, mas a solicitação falhará se violar os limites descritos anteriormente.