Configurar o controle de acesso do Lakewatch
Visualização
O Lakewatch está na Pré-visualização privada. Para solicitar acesso, entre em contato com sua account Databricks.
A configuração de grupos, um service principal de execução e concessões do Unity Catalog é a forma recomendada de configurar o controle de acesso do Lakewatch para uma equipe de segurança. Este guia configura um único catálogo Lakewatch com quatro grupos que separam as tarefas de ingestão, autoria de detecção e analista sob privilégio mínimo. Um único usuário que já tem acesso aos dados subjacentes pode usar o Lakewatch sem essa configuração. Para escolher entre os modelos de usuário único e baseados em equipe, consulte Modelos de implantação.
As concessões usam lakewatch como catálogo e lakewatch.prod como esquema. Substitua-os pelos seus próprios nomes e substitua <sp> pelo applicationId da Service Principal de execução.
Configurações
A configuração provisiona quatro grupos, um por função em uma equipe de segurança típica. Grupos são recomendados, mas opcionais. Você pode conceder os mesmos privilégios a qualquer principal do Unity Catalog.
Grupo | Função |
|---|---|
| Administrar o Lakewatch: gerenciar recursos, configurações e acesso para outros. |
| Integre e mantenha fontes de dados e carregue dados em tabelas. |
| Autore e ajuste as regras de detecção e revise o que elas produzem. |
| Gerencie a fila de alertas: leia os alertas, atualize o status e query os dados. |
Pré-requisitos
- Administrador account para o passo 1. Criar grupos, a Service Principal e a delegação de execução como é uma tarefa no nível account.
- Administrador do metastore, ou
CREATE CATALOGno metastore, para o passo 2. O administrador da account não concede isso. - Um SQL warehouse e
CAN_MANAGEnele para o passo 4. O warehouse é o compute no qual o Lakewatch é executado. - Direitos de proprietário em qualquer local externo, conexão ou tabela de origem que você conceder na etapa 6.
Execute os passos 2, 3, 5 e 6 como SQL em um notebook ou no editor SQL. Os passos 1 e 4 são ações únicas no console da account e na IU do Workspace.
1. Criar grupos, o Service Principal e a delegação de execução
As fontes de dados agendadas e as regras de detecção fazem execução como um Service Principal . Portanto, crie um e dê aos grupos que operam o Lakewatch o direito de execução de recursos como ele. No console da account:
- Vá para Gerenciamento de usuários > Grupos e crie os quatro grupos:
lakewatch-admins,lakewatch-data-engineers,lakewatch-detection-engineerselakewatch-analysts. - Vá para Gestão de utilizadores > Service Principal e crie a entidade de serviço de execução como Lakewatch. Copie o seu
applicationId(um UUID) para usar como<sp>nos passos seguintes. - Na tab Permissões da Service Principal, atribua Gerente de Service Principal a
lakewatch-admins. - Na mesma tab, atribua Usuário do Service Principal a
lakewatch-data-engineerselakewatch-detection-engineers. Isso permite que os membros desses grupos criem recursos que estão em execução como Service Principal.
2. Criar o catálogo e o esquema
Crie o catálogo e o esquema que detêm os seus recursos Lakewatch. Execute o seguinte:
CREATE CATALOG IF NOT EXISTS lakewatch;
CREATE SCHEMA IF NOT EXISTS lakewatch.prod;
3. Conceder acesso aos dados da service principal
O service principal de execução precisa de leitura e gravação de dados no esquema. Para conceder seu acesso de linha de base, execução o seguinte:
GRANT USE CATALOG ON CATALOG lakewatch TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT CREATE TABLE ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT MODIFY ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT SELECT ON SCHEMA lakewatch.prod TO `<sp>`;
4. Conceda ao service principal o Can use em um SQL warehouse
A Service Principal executa SQL em um warehouse. Conceder a ela o uso de um warehouse é uma permissão de workspace, não uma concessão do Unity Catalog:
- Vá para SQL Warehouses e abra o warehouse que você deseja que o Lakewatch use.
- Nas suas Permissões , conceda Pode usar à Service Principal. Isso requer
CAN_MANAGEno warehouse.
5. Conceder privilégios a cada grupo
Conceda a cada grupo seus privilégios no catálogo. Como os privilégios são herdados na hierarquia do Unity Catalog, uma concessão no catálogo se aplica a todos os recursos do Lakewatch abaixo dele. Para saber o que cada privilégio permite, consulte Funções e capacidades.
Para conceder os privilégios de administrador, execução o seguinte:
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MANAGE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
Para conceder privilégios ao engenheiro de dados, execução o seguinte:
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE TABLE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
Para conceder privilégios ao engenheiro de detecção, execução o seguinte:
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
Para conceder privilégios ao analista, execute o seguinte:
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-analysts`;
6. Conceder acesso às fontes (opcional)
Conceda essas permissões apenas para as fontes que você usa. Cada uma delas exige que você seja proprietário do item protegido ao qual você concede permissão.
Para permitir que o service principal faça a leitura de um local externo, execute o seguinte:
GRANT READ FILES ON EXTERNAL LOCATION <external_location> TO `<sp>`;
Para permitir que o Service Principal use todas as conexões no metastore, execução o seguinte:
GRANT USE CONNECTION ON METASTORE TO `<sp>`;
Para permitir que o service principal leia uma tabela de origem existente, execute o seguinte:
GRANT USE CATALOG ON CATALOG <src_catalog> TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA <src_catalog>.<src_schema> TO `<sp>`;
GRANT SELECT ON TABLE <src_catalog>.<src_schema>.<src_table> TO `<sp>`;
7. Verificar
Confirme se as concessões foram aplicadas. Para listar as concessões no catálogo e esquema, faça a execução do seguinte:
SHOW GRANTS ON CATALOG lakewatch;
SHOW GRANTS ON SCHEMA lakewatch.prod;
Limitações
- A concessão de
USE CONNECTION ON METASTOREpermite que o service principal use todas as conexões no metastore, o que é mais amplo do que o privilégio mínimo. Use-o apenas em um metastore dedicado ao Lakewatch.