O Model Armor ajuda a garantir que seus agentes de IA sigam seus padrões de segurança e governança sem que você precise implementar a lógica de filtragem diretamente nos agentes. Ao configurar o Model Armor com o Gateway de Agente, ele aplica as proteções de segurança de conteúdo da sua organização inspecionando todos os comandos e respostas que passam pelo gateway. Esse recurso permite aplicar proteções de segurança de conteúdo de forma consistente em todos os agentes controlados pelo gateway. O Model Armor ajuda a reduzir riscos como injeção de comandos, tentativas de jailbreak, vazamento de informações sensíveis e geração de conteúdo nocivo. Para mais informações, consulte Filtros do Model Armor.
Modelos do Model Armor
Para configurar o Model Armor em um gateway, crie modelos que especifiquem como analisar os comandos e as respostas que seus agentes de IA recebem e retornam. Os modelos fornecem filtros e limites personalizados para várias categorias de segurança. Para mais informações, consulte Modelos do Model Armor.
O Model Armor incorpora recursos de triagem diretamente nos caminhos de comunicação regidos pelo Gateway de Agente. Ao transmitir o conteúdo pelo Model Armor, o gateway aplica seus modelos de segurança de conteúdo. No modelo, é possível configurar o Model Armor para encobrir ou bloquear conteúdo que viole os modelos.
Tráfego de entrada e saída
Por meio do Gateway de Agente, o Model Armor pode ajudar a proteger os seguintes fluxos de tráfego.
Cliente para agente (entrada do agente)
Você define modelos que o Model Armor usa para avaliar as solicitações e respostas no tráfego entre cliente e agente. É possível aplicar um único modelo a ambas as direções ou configurar modelos diferentes para cada uma.
O Model Armor segue os modelos ao analisar o seguinte:
- Solicitações recebidas do cliente (usuários finais ou aplicativos de chamada) para seu agente de IA
- Respostas do agente de IA para o cliente
Quando um cliente envia um comando para o agente, o Gateway de Agente intercepta o
tráfego e envia o payload para o
Model Armor para sanitização. Se o Model Armor
emitir um veredito ALLOW, o Gateway de Agente enviará o comando para o agente
de IA. Se o Model Armor emitir um veredito BLOCK, o cliente
receberá um erro, e o fluxo será encerrado antes de chegar ao agente de IA.
Depois que o agente de IA processa a solicitação e gera uma resposta, o Gateway de Agente intercepta o stream de saída antes que ele chegue ao cliente. O Model Armor avalia a resposta e emite um veredito. Com base no veredito, o Gateway de Agente permite ou bloqueia totalmente a resposta.
Do agente para qualquer lugar (saída do agente)
Você define modelos que o Model Armor usa para avaliar solicitações e respostas no tráfego do Agent-to-Anywhere. É possível aplicar um único modelo a ambas as direções ou configurar modelos diferentes para cada uma.
O Model Armor segue os modelos ao analisar as comunicações entre seu agente de IA e sistemas externos, incluindo:
- Modelos de linguagem grandes (LLMs) externos
- Agentes de IA de terceiros
- Servidores do Protocolo de Contexto de Modelo (MCP, na sigla em inglês)
Quando um agente de IA se comunica com um sistema externo, o Gateway de Agente intercepta o tráfego de saída e chama o Model Armor. O Model Armor avalia o payload de acordo com os modelos de saída que você definiu.
Se os dados de saída violarem suas políticas de segurança, o Model Armor
vai emitir um veredito BLOCK. Em seguida, o Gateway de Agente encerra a conexão
para evitar que dados nocivos ou sensíveis cheguem ao LLM, à ferramenta ou
ao agente de IA externo.
Antes de começar
Ative a API Model Armor, se ainda não estiver ativada.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você
criou o projeto, provavelmente já tem essa permissão pelo
papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo
papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin).
Saiba como conceder papéis.
Funções exigidas
Para receber as permissões necessárias
para criar modelos do Model Armor,
peça ao administrador para conceder a você o
papel do IAM de Administrador do Model Armor (roles/modelarmor.admin) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Para saber quais papéis são necessários para trabalhar com o Gateway de Agente, consulte Papéis necessários na documentação do Gateway de Agente.
Para informações sobre payloads compatíveis e incompatíveis que passam pelo gateway, consulte Payloads compatíveis e incompatíveis neste documento.
Configurar o Model Armor em um gateway
Para configurar o Model Armor em um gateway, siga estas etapas:
- Ative a API Model Armor no projeto em que você quer criar os modelos do Model Armor.
Crie um ou mais modelos do Model Armor na mesma região em que você planeja adicionar o gateway. É possível usar o mesmo modelo para o tráfego de entrada e saída.
Anote os nomes dos modelos. Para copiar o nome de um modelo no console doGoogle Cloud , acesse os detalhes do modelo e clique em Copiar para a área de transferência ao lado do nome do modelo.
Se você criar os modelos do Model Armor em um projeto diferente daquele que contém o agente de IA ou o Gateway de Agente e usar o VPC Service Controls, os dois projetos precisam estar no mesmo perímetro de serviço do VPC Service Controls.
Configure o Gateway de Agente na mesma região em que os modelos do Model Armor estão armazenados. Para o gateway de cliente para agente (entrada), especifique os modelos do Model Armor que você criou para o tráfego de entrada. Para o gateway de agente para qualquer lugar (saída), especifique os modelos do Model Armor que você criou para o tráfego de saída. É possível usar o mesmo modelo para os dois fluxos de tráfego.
Conceda os papéis do IAM necessários aos agentes de serviço apropriados:
Cliente para agente (entrada): conceda ao agente de serviço do mecanismo de raciocínio da plataforma de IA os seguintes papéis:
O papel de Usuário do Model Armor Callout (
roles/modelarmor.calloutUser) no projeto que contém o agente de IA.O papel de Usuário do Model Armor (
roles/modelarmor.user) no projeto que contém o modelo do Model Armor.
gcloud projects add-iam-policy-binding AGENT_RUNTIME_PROJECT_ID \ --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.iam.gserviceaccount.com \ --role=roles/modelarmor.calloutUser gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \ --member=serviceAccount:service-AGENT_RUNTIME_PROJECT_NUMBER@gcp-sa-aiplatform-re.iam.gserviceaccount.com \ --role=roles/modelarmor.userSubstitua:
AGENT_RUNTIME_PROJECT_ID: o ID do projeto em que você criou o agente.AGENT_RUNTIME_PROJECT_NUMBER: o número do projeto em que você criou o agente.MODEL_ARMOR_PROJECT_ID: o ID do projeto que contém o modelo do Model Armor.
Agente para qualquer lugar (saída): conceda ao agente de serviço das extensões de serviço os seguintes papéis:
- Os papéis de Usuário do Model Armor Callout (
roles/modelarmor.calloutUser) e Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer) no projeto que contém o gateway. - O papel de Usuário do Model Armor (
roles/modelarmor.user) no projeto que contém o modelo do Model Armor.
gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \ --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \ --role=roles/modelarmor.calloutUser gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \ --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \ --role=roles/serviceusage.serviceUsageConsumer gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \ --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \ --role=roles/modelarmor.userSubstitua:
GATEWAY_PROJECT_ID: o ID do projeto em que você criou o gateway.GATEWAY_PROJECT_NUMBER: o número do projeto em que você criou o gateway.MODEL_ARMOR_PROJECT_ID: o ID do projeto que contém o modelo do Model Armor.
Para instruções, consulte Delegar autorização ao Model Armor.
- Os papéis de Usuário do Model Armor Callout (
Para informações gerais sobre como conceder um papel, consulte Conceder um único papel do IAM.
Opcional: verificação de validação do modelo pré-implantação
Antes de implantar os modelos em um gateway, é possível executar uma verificação pré-implantação para confirmar se a configuração do modelo está aplicando as políticas de segurança corretamente.
Para validar o modelo, consulte o método sanitizeUserPrompt diretamente usando um conjunto de comandos de teste. Para mais
informações sobre como executar essa verificação pré-implantação e uma lista de comandos de teste
verificados, consulte Testar um modelo do Model
Armor.
Encobrir dados sensíveis de solicitações e respostas
É possível instruir o Model Armor a ocultar dados sensíveis, como números ID nacional e de telefone, de payloads. Para usar esse recurso, siga estas etapas:
Defina as configurações avançadas da Proteção de Dados Sensíveis no modelo do Model Armor e inclua um modelo de desidentificação.
Defina o tipo de aplicação no modelo do Model Armor como
INSPECT_AND_BLOCK.
Se você usar o tipo de restrição INSPECT_AND_BLOCK, uma das seguintes situações vai ocorrer:
Se um payload violar apenas o detector da Proteção de Dados Sensíveis, o Model Armor vai encobrir o payload de acordo com as configurações avançadas da Proteção de Dados Sensíveis e o modelo de desidentificação.
Se um payload violar vários detectores, o Model Armor não vai realizar a ocultação, mas bloqueará todo o payload.
Se você usar o tipo de aplicação INSPECT_ONLY em vez de INSPECT_AND_BLOCK,
o Model Armor não vai encobrir o payload.
Independentemente do tipo de restrição (INSPECT_ONLY ou INSPECT_AND_BLOCK),
os registros do Model Armor são encobertos de acordo com as configurações avançadas
da Proteção de Dados Sensíveis e o modelo de desidentificação.
Para uma lista completa de detectores do Model Armor (também chamados de filtros), consulte Filtros do Model Armor.
Payloads compatíveis e incompatíveis
Nesta seção, listamos os tipos de payloads que o Model Armor limpa.
Tráfego do cliente para o agente (entrada)
Para o tráfego de cliente para agente (entrada) usando o protocolo ADK,
o Model Armor limpa apenas
as solicitações e respostas
reasoningEngines.streamQuery
para agentes que foram criados usando o
Kit de Desenvolvimento de Agente (ADK) e estão em execução no Vertex AI Agent Engine.
Todos os outros payloads ReasoningEngine e respostas de erro ReasoningEngine não são enviados ao Model Armor. Os payloads que não são do ADK (como os do Langchain) também não são enviados ao Model Armor.
Tráfego do agente para qualquer lugar (saída)
Para o tráfego de agente para qualquer lugar (saída), os payloads a seguir são compatíveis.
Payloads A2A
O Model Armor limpa apenas os seguintes payloads do protocolo A2A v1:
- Operações SendMessage
- Card do agente
- Receber operações do cartão de agente estendido
- Vinculações de protocolo JSON-RPC
- Vinculações de protocolo HTTP+JSON/REST
O Model Armor permite os seguintes payloads de A2A sem limpeza:
- Payloads de versões do A2A anteriores à v1
SendStreamingMessageGetTaskListTasksCancelTaskSubscribeToTask- Métodos
CRUD
em
TaskPushNotificationConfig - Payloads que usam a vinculação de protocolo gRPC do A2A (protobuf na transmissão)
- Payloads de erro A2A
Payloads do MCP
O Model Armor higieniza apenas os seguintes payloads do MCP:
- Solicitação e resposta de
tools/call - Solicitação e resposta de
prompts/get - Erros de execução da ferramenta MCP (alvo de injeção de comandos por autores de ferramentas MCP mal-intencionadas)
O Model Armor permite os seguintes payloads sem sanitização:
tools/listresources/*notifications/*- HTTP/SSE transmissível para MCP
- Erros de protocolo MCP (por exemplo, todos os erros que não são de execução de ferramenta)
Payloads de LLM externos
O Model Armor limpa apenas os seguintes payloads do
protocolo da API OpenAI (saída), que inclui modelos GPT no openai.com, bem
como qualquer outro modelo por meio de servidores LLM compatíveis com a API OpenAI (como
vLLM).
Os payloads que não estão listados aqui são permitidos sem limpeza.
- Preenchimentos de chat: criar, excluir, receber, listar e atualizar (somente variantes que não são de streaming)
- Receber mensagens de chat
- Respostas: criar, receber e excluir (somente variantes sem streaming)
- Erros da API OpenAI (incluindo a variante do vLLM)
- Conclusões legadas
- Assistentes legados: criar, excluir, listar, modificar e recuperar
- Mensagens legadas: criar, excluir, listar, modificar e recuperar
- Conversas legadas: criar, excluir, modificar e recuperar
- Embeddings: criar
Triagem de documentos
A limpeza de comandos e respostas que contêm documentos ou uploads de arquivos (como PDFs) não é compatível com essa integração. Para analisar documentos, chame a API REST do Model Armor diretamente. Para mais informações, consulte Análise de documentos na documentação do Model Armor.
Cotas e limites do sistema
A cota é consumida no projeto em que os modelos do Model Armor
estão. Se o gateway estiver em um projeto diferente, a cota de ExternalProcessor
também será consumida no projeto do gateway.
Para mais informações sobre as cotas que se aplicam quando você usa o Model Armor com outros serviços, consulte Gerenciar cotas.
Para informações gerais sobre as cotas e os limites do sistema do Model Armor, incluindo o tamanho de entrada e os limites de tokens, consulte Cotas e limites do sistema na documentação do Model Armor.