Pular para o conteúdo principal

Gerenciamento de políticas de rede para controle de saída serverless

info

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:

  1. No consoleaccount, clique em Cloud recurso .
  2. Clique em Network tab.

Lista de políticas de rede.

Crie uma nova política de rede

  1. Clique em Criar nova política de rede .

  2. 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.

    Detalhes 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.

  1. Para conceder ao site serverless compute acesso a domínios adicionais, clique em Add destination acima da lista Allowed domains (Domínios permitidos ).

    Adicione o destino da Internet.

    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.

  2. 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 ).

    Adicione o destino de armazenamento.

nota

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:

  1. Databricks SQL : Os armazéns do Databricks SQL operam em modo de execução a seco.

  2. AI servindo modelo : o endpoint servindo modelo opera no modo de execução a seco.

  3. All product : Todos os Databricks serviços operam no modo de execução a seco, substituindo todas as outras seleções.

    Adicione o destino de armazenamento.

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:

  1. Selecione um workspace.
  2. Em Política de rede , clique em Atualizar política de rede .
  3. Selecione a política de rede desejada na lista.

Atualize a política de rede.

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.
nota

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

  1. Crie um Python Notebook. O senhor pode usar o exemplo de Notebook fornecido na wikipedia da DLT Python tutorial .

  2. Criar um pipeline de DLT:

    1. Clique em pipeline , em Data engenharia , na barra lateral workspace.

    2. Clique em Create pipeline (Criar pipeline ).

    3. 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.
    4. Clique em Criar .

  3. execução do DLT pipeline.

  4. Na página pipeline, clique em começar .

  5. Aguarde a conclusão do pipeline.

  6. 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

  1. Criar um armazém SQL. Para obter instruções, consulte Criar um SQL warehouse.
  2. executar uma consulta de teste no editor SQL que tenta acessar um recurso controlado pela sua política de rede.
  3. 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

  1. Crie um modelo de teste

    1. 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.
    2. 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")
  2. Criar um endpoint de serviço

    1. Na navegação workspace, selecione Machine Learning .

    2. Clique em Serving tab.

    3. Clique em Criar endpoint de serviço .

    4. 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.
    5. Clique em Confirmar .

    6. Aguarde até que o site endpoint atinja o estado Ready (Pronto ).

  3. Consultar o site endpoint.

    1. 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"}]}
  4. 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:

  1. 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.
  2. Clique em Atualizar .

  3. 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:

SQL

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.

nota

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 GB log_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.