Gerenciamento de políticas de rede para controle de saída serverless
prévia
Esse recurso está em Public Preview.
Este documento explica como configurar e gerenciar políticas de rede para controlar as conexões de rede de saída de suas cargas de trabalho serverless em Databricks.
As permissões para gerenciar políticas de rede são restritas a account admin. Consulte a introdução à administração do Databricks.
Acessando políticas de rede
Para criar, view, e atualizar políticas de rede em seu account:
- No consoleaccount, clique em Cloud recurso .
- Clique em Network tab.
Crie uma nova política de rede
-
Clique em Criar nova política de rede .
-
Escolha um modo de acesso à rede:
- Acesso total: acesso irrestrito à Internet de saída. Se você escolher Acesso total, o acesso externo à Internet permanecerá irrestrito.
- Acesso restrito : o acesso externo é limitado a destinos específicos. Para obter mais informações, consulte Visão geral da política de rede.
Configurar políticas de rede
As etapas a seguir descrevem as configurações opcionais para o modo de acesso restrito.
Regras de saída
Os destinos configurados por meio de locais ou conexões do Unity Catalog são automaticamente permitidos pela política.
-
Para conceder ao site serverless compute acesso a domínios adicionais, clique em Add destination acima da lista Allowed domains (Domínios permitidos ).
O filtro FQDN permite acesso a todos os domínios que compartilham o mesmo endereço IP. servindo modelo provisionamento em todo o endpoint impede o acesso à Internet quando o acesso à rede está definido como restrito. No entanto, o controle granular com filtragem FQDN não é suportado.
-
Para permitir que o site workspace acesse outros buckets S3, clique no botão Add destination (Adicionar destino ) acima da lista Allowed storage account (Conta de armazenamento permitida ).
O número máximo de destinos suportados é 2000. Isso inclui todos os locais e conexões do site Unity Catalog acessíveis a partir do site workspace, bem como os destinos explicitamente adicionados na política.
Aplicação de políticas
O modo de execução a seco permite que o senhor teste a configuração da política e monitore as conexões de saída sem interromper o acesso ao recurso. Quando o modo de execução seca está ativado, as solicitações que violam a política são registradas, mas não bloqueadas. Você pode selecionar entre as seguintes opções:
-
Databricks SQL : Os armazéns do Databricks SQL operam em modo de execução a seco.
-
AI servindo modelo : o endpoint servindo modelo opera no modo de execução a seco.
-
All product : Todos os Databricks serviços operam no modo de execução a seco, substituindo todas as outras seleções.
Atualize a política do site default
Cada Databricks account inclui uma políticadefault . A políticadefault está associada a todos os espaços de trabalho sem atribuição explícita de política de rede, incluindo espaços de trabalho recém-criados. Você pode modificar essa política, mas ela não pode ser excluída. As políticas padrão são aplicadas somente ao espaço de trabalho com pelo menos a camada Enterprise.
Associar uma política de rede ao espaço de trabalho
Se o senhor tiver atualizado a política default com configurações adicionais, elas serão aplicadas automaticamente ao espaço de trabalho que não tiver uma política de rede existente. Seu workspace precisará estar no nível Enterprise.
Para associar o site workspace a uma política diferente, faça o seguinte:
- Selecione um workspace.
- Em Política de rede , clique em Atualizar política de rede .
- Selecione a política de rede desejada na lista.
Aplique alterações na política de rede
A maioria das atualizações de configuração de rede é propagada automaticamente para o site serverless compute em dez minutos. Isso inclui:
- Adição de um novo local ou conexão externa do Unity Catalog.
- Anexar o site workspace a um metastore diferente.
- Alterar o armazenamento permitido ou os destinos da Internet.
O senhor deve reiniciar o site compute se modificar a configuração do acesso à Internet ou do modo de execução a seco.
Reinicie ou reimplante as cargas de trabalho do serverless
O senhor só precisa atualizar quando mudar o modo de acesso à Internet ou quando atualizar o modo de execução a seco.
Para determinar o procedimento de reinicialização adequado, consulte a lista a seguir por produto:
- Databricks ML Serving : Reimplante seu endpoint de serviço de ML. Consulte Criar endpoint de modelo de serviço personalizado
- DLT : pare e reinicie o pipeline DLT em execução. Veja a execução de uma atualização em um DLT pipeline.
- sem servidor SQL warehouse : Pare e reinicie o SQL warehouse. Consulte gerenciar a SQL warehouse.
- fluxo de trabalho : as alterações na política de rede são aplicadas automaticamente quando uma nova execução de trabalho é acionada ou quando uma execução de trabalho existente é reiniciada.
- Notebook :
- Se o Notebook não interagir com Spark, o senhor pode encerrar e anexar um novo serverless clustering à refresh configuração de rede aplicada ao Notebook.
- Se o Notebook interagir com Spark, o recurso serverless será atualizado e detectará automaticamente a alteração. A alteração do modo de acesso e do modo de execução a seco pode levar até 24 horas para ser aplicada, e outras alterações podem levar até 10 minutos para serem aplicadas.
Verificar a aplicação da política de rede
O senhor pode validar se a sua política de rede está sendo aplicada corretamente tentando acessar recursos restritos de diferentes cargas de trabalho do serverless. O processo de validação varia de acordo com o produto serverless.
Validar com DLT
-
Crie um Python Notebook. O senhor pode usar o exemplo de Notebook fornecido na wikipedia da DLT Python tutorial .
-
Criar um pipeline de DLT:
-
Clique em pipeline , em Data engenharia , na barra lateral workspace.
-
Clique em Create pipeline (Criar pipeline ).
-
Configure o pipeline com as seguintes definições:
- pipeline Mode : sem servidor
- Código-fonte : Selecione o Notebook que o senhor criou.
- Opções de armazenamento : Unity Catalog. Selecione o catálogo e o esquema desejados.
-
Clique em Criar .
-
-
execução do DLT pipeline.
-
Na página pipeline, clique em começar .
-
Aguarde a conclusão do pipeline.
-
Verifique os resultados
- Destino confiável : O site pipeline deve ser executado com êxito e gravar dados no destino.
- Destino não confiável : O pipeline deve falhar com erros indicando que o acesso à rede está bloqueado.
Validar com Databricks SQL
- Criar um armazém SQL. Para obter instruções, consulte Criar um SQL warehouse.
- executar uma consulta de teste no editor SQL que tenta acessar um recurso controlado pela sua política de rede.
- Verifique os resultados:
- Destino confiável : a consulta deve ser bem-sucedida.
- Destino não confiável : a consulta deve falhar com um erro de acesso à rede.
Validar com o modelo servindo
-
Crie um modelo de teste
- Em um notebook Python, crie um modelo que tente acessar um recurso público da Internet, como baixar um arquivo ou fazer uma solicitação API.
- Execute este Notebook para gerar um modelo no teste workspace. Por exemplo:
Python
import mlflow
import mlflow.pyfunc
import mlflow.sklearn
import requests
class DummyModel(mlflow.pyfunc.PythonModel):
def load_context(self, context):
pass
def predict(self, _, model_input):
first_row = model_input.iloc[0]
try:
response = requests.get(first_row['host'])
except requests.exceptions.RequestException as e:
# Return the error details as text
return f"Error: An error occurred - {e}"
return [response.status_code]
with mlflow.start_run(run_name='internet-access-model'):
wrappedModel = DummyModel()
mlflow.pyfunc.log_model(artifact_path="internet_access_ml_model", python_model=wrappedModel, registered_model_name="internet-http-access") -
Criar um endpoint de serviço
-
Na navegação workspace, selecione Machine Learning .
-
Clique em Serving tab.
-
Clique em Criar endpoint de serviço .
-
Configure o endpoint com as seguintes definições:
- Nome do endpoint de atendimento : Forneça um nome descritivo.
- Detalhes da entidade : Selecione o modelo de registro do modelo .
- Modelo : escolha o modelo que você criou na etapa anterior.
-
Clique em Confirmar .
-
Aguarde até que o site endpoint atinja o estado Ready (Pronto ).
-
-
Consultar o site endpoint.
- Use a opção Query endpoint (Ponto de extremidade de consulta) na página endpoint para enviar uma solicitação de teste.
{"dataframe_records": [{"host": "https://www.google.com"}]}
-
Verifique o resultado:
- Acesso à Internet ativado : a consulta deve ser bem-sucedida.
- Acesso restrito à Internet : a consulta deve falhar com um erro de acesso à rede.
Atualizar uma política de rede
Você pode atualizar uma política de rede a qualquer momento após sua criação. Para atualizar uma política de rede:
-
Na página de detalhes da política de rede no console da conta, modifique a política:
- Altere o modo de acesso à rede.
- Ativar ou desativar o modo de execução a seco para um serviço específico.
- Adicione ou remova destinos de armazenamento ou FQDN.
-
Clique em Atualizar .
-
Consulte Aplicar alterações na política de rede para verificar se as atualizações são aplicadas às cargas de trabalho existentes.
Verificar a recusa logs
A negação logs é armazenada na tabela system.access.outbound_network
em Unity Catalog. Esses logs rastreiam quando as solicitações de saída da rede são negadas. Para acessar a negação logs, verifique se o esquema de acesso está ativado no metastore Unity Catalog. Consulte Habilitar esquemas de tabela do sistema.
Use uma consulta SQL como a que está abaixo para view eventos de negação. Se os logs de execução a seco estiverem ativados, a consulta retornará logs de negação e logs de execução a seco, que o senhor pode distinguir usando a coluna access_type
. Denial logs tem um valor DROP , enquanto dry-execução logs mostra DRY_RUN_DENIAL .
O exemplo a seguir recupera o site logs das últimas 2 horas:
select * from system.access.outbound_network
where event_time >= current_timestamp() - interval 2 hour
sort by event_time desc
As negações não são registradas na tabela do sistema de saída da rede ao se conectar a modelos geradores externos AI usando o Mosaic AI Gateway. Consulte a introdução do Mosaic AI Gateway.
Pode haver alguma latência entre o momento do acesso e a exibição da negação logs.
Limitações
- Configuração : Esse recurso só pode ser configurado por meio do console account. O suporte à API ainda não está disponível.
- upload Tamanho do artefato: Ao usar o MLflowinterno do com Databricks Filesystem o
dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<artifactPath>
formato, o upload do artefato é limitado a 5 GBlog_artifact
para,log_artifacts
log_model
APIse. - Conexões compatíveis com o site Unity Catalog: Os seguintes tipos de conexão são compatíveis: MySQL, PostgreSQL, Snowflake, Redshift, Azure Synapse, SQL Server, Salesforce, BigQuery, Netsuite, Workday RaaS, Hive metastore, e Salesforce Data Cloud.
- servindo modelo : O controle de saída não se aplica ao criar imagens para o servindo modelo.