Pular para o conteúdo principal

Crie e anexe uma política de serviço

info

Beta

Este recurso está em Beta. Administradores da account podem controlar o acesso a este recurso na página Previews do console da account. Consulte Gerenciar prévias do Databricks.

Para uma visão geral das políticas de serviço, consulte Políticas de serviço para recursos protegíveis de AI.

Para criar uma política de serviço, você escreve uma função de política SQL e a anexa a um Serviço MCP ou Serviço de Modelo através da UI do Unity AI Gateway . A política governa cada interação em dois pontos de avaliação: ON CALL (antes que a Databricks invoque o serviço) e ON RESULT (depois que o serviço responde).

Pré-requisitos

  • Um administrador de account deve habilitar a versão beta para sua account na página Prévias no console da account.
  • Para criar a função de política: privilégio CREATE FUNCTION no esquema de destino.
  • Para anexar uma política a um serviço: MANAGE no ativo protegível do serviço de destino **e** EXECUTE na função de política.

O passo 1: escrever a função de política

Uma função de política de serviço é uma UDF SQL registrada no Unity Catalog. Ele recebe um único parâmetro VARIANT, event (os dados e o contexto de interação), e retorna um resultado VARIANT:

SQL
CREATE OR REPLACE FUNCTION <catalog>.<schema>.<function_name>(
event VARIANT
)
RETURNS VARIANT
LANGUAGE SQL
RETURN <expression>;

A função é realizada em execução em ambos os pontos de avaliação; ramifique em event:type::string ('request' para ON CALL, 'response' para ON RESULT) para atuar em uma única fase. Para ver todos os campos event, o valor de retorno e o subconjunto SQL compatível, consulte a referência da função de política de serviço.

Escrever uma política de decisão

Uma Política de Decisão retorna um VARIANT com um campo result de ALLOW, DENY ou ASK e um reason opcional. Crie o resultado com named_struct e envolva-o em to_variant_object para que a função retorne um VARIANT, mantendo result e reason como campos de nível superior.

Exemplo: negar um push do GitHub de um serviço MCP.

Esta política bloqueia qualquer chamada para a ferramenta push_files e permite todas as outras interações. Como a política está anexada a um serviço MCP específico, a função só precisa verificar o nome da ferramenta:

SQL
CREATE OR REPLACE FUNCTION main.governance.block_github_push(
event VARIANT
)
RETURNS VARIANT
LANGUAGE SQL
RETURN
CASE
WHEN event:type::string = 'request'
AND event:context.tool.name::string = 'push_files'
THEN to_variant_object(named_struct('result', 'DENY', 'reason', 'GitHub push operations are not permitted by policy.'))
ELSE to_variant_object(named_struct('result', 'ALLOW', 'reason', ''))
END;

O valor result determina o que acontece (não diferencia maiúsculas de minúsculas):

  • ALLOW: a interação prossegue.
  • DENY: Databricks bloqueia a interação. O chamador recebe um erro estruturado com o reason.
  • ASK: a interação faz uma pausa para aprovação humana antes de continuar.

Para o subconjunto SQL compatível e as regras para retornar um VARIANT, consulte Referência da Função de Política de Serviço.

O passo 2: Anexar a política a um serviço

Durante o Beta, você anexa uma política de serviço através da interface do usuário do Unity AI Gateway , em um Serviço MCP individual ou Serviço de Modelo. Você pode anexar mais de uma política a um serviço: cada anexo tem uma prioridade (classificação) e a cadeia para no primeiro DENY. Em ON CALL, as políticas são avaliadas em ordem crescente de classificação (o mais baixo primeiro); em ON RESULT, na ordem inversa.

Para anexar uma política:

  1. Na barra lateral do workspace, clique em AI Gateway .

  2. Selecione o serviço a ser governado: um serviço de modelo na tab Modelos , ou um serviço MCP na tab MCPs .

  3. Abra a tab Políticas , então clique em Nova política .

  4. Insira um Nome para a política.

  5. Em Aplicado a , selecione a quais entidades de segurança a política se aplica. O default, Todos os usuários da conta , aplica-o a todos.

  6. Em Tipo de barreira de segurança , selecione a execução da política:

    • Um guard-rail integrado, como Bloqueio de PII ou Conteúdo Inseguro . O serviço de modelo Avaliador que realiza a execução da verificação (o juiz LLM) é pré-selecionado; para usar um diferente, expanda Opções avançadas e selecione-o (você precisa de CAN_QUERY no modelo que escolher).
    • Personalizado : clique em Função personalizada , em seguida, em Selecionar função e selecione a função SQL que você escreveu no o passo 1.
  7. Em Fase , selecione onde a política tem execução: Barreiras de segurança de entrada (NA CHAMADA, antes que o serviço seja invocado), Barreiras de segurança de saída (NO RESULTADO, depois que ele responde) ou ambos. Uma função personalizada pode ser objeto de execução em ambas as fases e ramificar em event:type para restringir-se a uma. Algumas barreiras de segurança integradas são executadas em apenas uma fase, como detecção de jailbreak na entrada e detecção de alucinação na saída.

  8. Defina a **Classificação** para controlar a ordem de avaliação. A menor classificação tem a execução primeiro na solicitação e por último na resposta.

  9. Clique em Criar política .

A política aparece na tab Políticas do serviço. Durante a versão Beta, aguarde um curto período para que ela seja propagada antes de testar.

nota

Durante a fase Beta, a IU da política pode mudar. Se um rótulo diferir destes os passos, siga os rótulos no produto.

Usar uma política integrada

O Databricks fornece políticas de serviço integradas no catálogo system.ai, como system.ai.block_pii para bloquear informações de identificação pessoal. Para usar um, siga o Passo 2, mas escolha a barreira de segurança integrada em **Tipo de barreira de segurança** em vez de **Personalizada**. Verificadores de integridade integrados não aceitam nenhuma configuração específica de política: você define os mesmos campos de Phase , Rank , serviço de modelo do Avaliador e Mode que para qualquer política.

Para a lista completa de políticas integradas, consulte Políticas de serviço integradas.

É necessário ter o privilégio EXECUTE na função de política integrada e MANAGE no serviço de destino.

Verificar a política

Depois de anexar uma política, verifique se ela está ativa e produzindo os resultados esperados.

nota

Depois de anexar ou alterar uma política, aguarde um curto período para que a alteração entre em vigor antes de testar. Durante o beta, as alterações de política podem levar um ou dois minutos para serem propagadas.

Confirmar anexo

No Unity AI Gateway, abra o serviço de destino e view suas políticas anexadas. A política criada é exibida na lista.

Observar resultados de política

É possível confirmar que uma política está entrando em vigor:

  • Do chamador: quando a política DENY retorna, o chamador recebe um erro estruturado que inclui o que reason você especificou. ASK pausa a chamada para aprovação humana.
  • Em tabelas do sistema : a atividade do modelo e do MCP é registrada nas tabelas de uso, e cargas úteis de solicitação e resposta completas nas tabelas de inferência.

Limitações

As seguintes limitações se aplicam durante a versão beta:

  • Transformação : As políticas de serviço retornam uma decisão (PERMITIR, DENY ou PERGUNTAR); elas não transformam o conteúdo da solicitação ou da resposta durante a versão beta.
  • Linguagem de política : as funções de política personalizada oferecem suporte apenas a LANGUAGE SQL.
  • Escopo do anexo : A anexação da política é somente pela IU e restrita a um serviço individual, e a política se aplica a todos os usuários da account. A anexação de políticas em nível de catálogo ou esquema, condições de controle de acesso baseado em atributos (ABAC) e entidades de segurança personalizadas não estão disponíveis.