Ingerir dados do Akamai
Beta
Esse recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o Lakeflow Connect for Akamai WAF na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Criar um pipeline de ingestão do Akamai WAF gerenciado no Lakeflow Connect para ingerir eventos de segurança do WAF no Databricks.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O serverless compute deve estar habilitado para o seu workspace. Consulte Requisitos de Serverless compute.
-
Para criar uma nova conexão, você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.If the connector supports UI-based pipeline authoring, an admin can create the connection and the pipeline at the same time by completing os passos on this page. However, if the users who create pipelines use API-based pipeline authoring or are non-admin users, an admin must first create the connection in Catalog Explorer. See Connect to managed ingestion sources.
-
Para usar uma conexão existente, você deve ter privilégios de
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou os privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para ingerir do Akamai, primeiro configure a autenticação no Databricks e crie uma conexão. Consulte Configurar a autenticação para o Akamai e Criar uma conexão WAF do Akamai.
Opções de conector
A opção de conector Akamai WAF é em nível de tabela. Defina-o em connector_options.akamai_options no objeto de tabela na definição do seu pipeline. Consulte Examples para ver o uso.
Opção | Obrigatório | Aplica-se a | Descrição |
|---|---|---|---|
| Sim |
| Os IDs de configuração de segurança da web cujos eventos SIEM devem ser ingeridos. Forneça de 1 a 1.000 IDs numéricos. Você pode obter esses valores em Fetch Web Security Configuration IDs. |
Criar um pipeline de ingestão
Para obter a lista de tabelas de origem compatíveis, consulte Tabelas de origem compatíveis.
- Declarative Automation Bundles
- Databricks notebook
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Akamai WAF como código. Os pacotes podem conter definições YAML de jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e executados em diferentes workspaces de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Crie um pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recurso ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/akamai_waf_pipeline.yml). Consulte pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/akamai_waf_job.yml). Programe o job para ser executado pelo menos a cada 12 horas.
- Um arquivo de definição de pipeline (por exemplo,
-
Implantar o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook para o seu workspace do Databricks:
-
Deixe as células um e dois como estão. Não modifique.
-
Modifique a terceira célula com os detalhes de configuração do seu pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Opcionalmente, configure as configurações avançadas do pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
O conector Akamai WAF disponibiliza 1 tabela de origem no esquema de origem default. Ingira essa tabela e defina config_ids no objeto da tabela.
Ingerir tabelas específicas
Use esta opção para personalizar a nomenclatura da tabela de destino.
- Declarative Automation Bundles
- Databricks notebook
O arquivo de definição de pipeline a seguir ingere a tabela do WAF da Akamai:
resources:
pipelines:
akamai_waf_pipeline:
name: akamai_waf_pipeline
catalog: 'main'
target: 'akamai_waf_data'
ingestion_definition:
connection_name: akamai_waf_connection
objects:
- table:
source_schema: 'default'
source_table: 'akamai_waf_events'
destination_catalog: 'main'
destination_schema: 'akamai_waf_data'
destination_table: 'akamai_waf_events'
connector_options:
akamai_options:
config_ids:
- 12345
- 67890
A seguinte especificação de pipeline ingere a tabela do WAF da Akamai:
pipeline_name = "akamai_waf_pipeline"
connection_name = "<akamai-waf-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "akamai_waf_events",
"destination_catalog": "main",
"destination_schema": "akamai_waf_data",
"destination_table": "akamai_waf_events",
"connector_options": {
"akamai_options": {
"config_ids": [12345, 67890]
}
}
}
}
]
},
"channel": "PREVIEW"
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job do Declarative Automation Bundles
O arquivo a seguir é um exemplo de definição de job para uso com os Declarative Automation Bundles. O job é executado a cada 12 horas.
- Declarative Automation Bundles
resources:
jobs:
akamai_waf_job:
name: akamai_waf_job
schedule:
quartz_cron_expression: '0 0 0/12 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: akamai_waf_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.akamai_waf_pipeline.id}
Padrões comuns
Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.
Próximos passos
Inicie, programe e defina alertas no seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.