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:
Seja um administrador do account.
Autentique-se no site APIs para que o senhor possa configurar a entrega com o site account API. Consulte Como se autenticar no site account API .
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 na conta API, o senhor pode usar Databricks OAuth para entidade de serviço ou Databricks OAuth para usuários. 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 Autenticar o acesso ao Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Use os exemplos a seguir para se autenticar em um site Databricks account. O senhor pode usar OAuth para entidade de serviço ou OAuth para usuários. Para saber mais, consulte:
Para OAuth para entidade de serviço, consulte Autenticar o acesso a Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Para OAuth para usuários, consulte Autenticar o acesso a Databricks com um usuário account usando OAuth (OAuth U2M).
Observação
A autenticação básica usando um nome de usuário e senha da Databricks chegou ao fim da vida útil em 10 de julho de 2024. Consulte End of life para Databricks-gerenciar senhas.
Para exemplos de autenticação, escolha uma das seguintes opções:
Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.
Complete os passos para configurar a autenticação OAuth M2M para a entidade de serviço no site account. Consulte Autenticar o acesso ao Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Identifique ou crie manualmente um perfil de configuração do Databricks em seu arquivo
.databrickscfg
, com os campos do perfil definidos corretamente para os mapeamentoshost
,account_id
,client_id
eclient_secret
relacionados à entidade de serviço. Consulte a autenticação OAuth máquina a máquina (M2M).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
.
Instale o site Databricks CLI versão 0.205 ou acima. Consulte Instalar ou atualizar a CLI da Databricks.
Complete os passos a seguir para configurar a autenticação OAuth U2M para os usuários no site account. Consulte Autenticar o acesso a Databricks com um usuário account usando OAuth (OAuth U2M).
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
eaccount_id
já definidos, poderá substituir--host <account-console-url> --account-id <account-id>
por--profile <profile-name>
.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
.Continue seguindo as instruções que aparecem na tela para acessar a sua conta Databricks através do seu navegador da web.
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
.
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çãoworkspaceId=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.