O Identity-Aware Proxy (IAP) permite proteger servidores do Protocolo de Contexto de Modelo (MCP) implantados no Cloud Run com verificação de identidade centralizada. Em seguida, é possível configurar clientes, como a CLI do Gemini ou agentes de IA, para autenticar pelo IAP e executar ferramentas com segurança no servidor remoto.
Antes de começar
Ative o Cloud Run no seu projeto.
Ative o IAP no seu projeto.
Funções exigidas
Para receber as permissões necessárias para configurar a autenticação do IAP para servidores MCP do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Administrador do Cloud Run (
roles/run.admin) no projeto - Administrador do IAP (
roles/iap.admin) no projeto -
Implante um novo serviço ou uma nova revisão de um serviço atual:
- Usuário da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço de execução - Leitor do Artifact Registry (
roles/artifactregistry.reader) no repositório de imagens de contêiner
- Usuário da conta de serviço (
-
Crie e configure um cliente OAuth:
Editor de configuração OAuth (
roles/oauthconfig.editor) no projeto -
Conecte-se ou chame o servidor MCP protegido pelo IAP:
Usuário de app da Web protegido pelo IAP (
roles/iap.httpsResourceAccessor) no projeto ou serviço do Cloud Run
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 com papéis personalizados ou outros papéis predefinidos.
Configurar o IAP em um serviço do Cloud Run
Para configurar o IAP no servidor MCP do Cloud Run, faça o seguinte:
Conceda o papel de invocador do Cloud Run (
roles/run.invoker) ao agente de serviço do IAP:gcloud beta run services add-iam-policy-binding SERVICE_NAME \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-iap.s3ns-system.iam.gserviceaccount.com' \ --role='roles/run.invoker'Substitua:
SERVICE_NAME: o nome do serviçoPROJECT_NUMBER: o número do seu Cloud de Confiance by S3NS projeto
Ative o IAP ao implantar um novo serviço ou uma nova revisão de um serviço atual:
Novo serviço
Para implantar um novo serviço com o IAP ativado, execute o
gcloud beta run deploycomando:gcloud beta run deploy SERVICE_NAME \ --image=CONTAINER_IMAGE \ --region=REGION \ --project=PROJECT_ID \ --allow-unauthenticated \ --iap \ --functional-type=mcp-server
Substitua:
SERVICE_NAME: o nome do serviçoCONTAINER_IMAGE: sua imagem do contêinerREGION: a região em que você implanta o serviçoPROJECT_ID: o ID do projeto em que o Cloud Run está ativado
Serviço atual
Para implantar uma nova revisão de um serviço atual com o IAP ativado, execute o
gcloud beta run services updatecomando:gcloud beta run services update SERVICE_NAME \ --region=REGION \ --iap \ --functional-type=mcp-server
Substitua:
SERVICE_NAME: o nome do serviçoREGION: a região em que você implanta o serviço
Crie e configure um cliente OAuth:
Para registrar o ID do cliente universal do OAuth para uso com o IAP, consulte Compartilhamento de clientes OAuth para acesso programático.
Anote os seguintes valores:
- ID do cliente OAuth
- Chave secreta do cliente OAuth
- URI de redirecionamento
Para conectar um cliente, como a CLI do Gemini ou seu agente, ao servidor MCP implantado, edite o arquivo
~/.gemini/settings.json.Adicione a seguinte configuração ao arquivo
settings.json:{ "mcpServers": { "my_mcp_server": { "httpUrl": "https://SERVICE_URL", "oauth": { "enabled": "true", "clientId": "OAUTH_CLIENT_ID", "clientSecret": "OAUTH_CLIENT_SECRET", "scopes": [ "email", "openid" ], "redirectUri": "REDIRECT_URI" } } } }Substitua:
SERVICE_URL: o URL do serviço do Cloud RunOAUTH_CLIENT_ID: o ID do cliente da configuração do cliente OAuthOAUTH_CLIENT_SECRET: a chave secreta do cliente da configuração do cliente OAuthREDIRECT_URI: o URI de redirecionamento da configuração do cliente OAuth
Verifique a conexão
Para verificar se o cliente pode autenticar pelo IAP e se conectar ao servidor MCP, faça o seguinte:
No terminal, inicie a CLI do Gemini:
gemini
Quando solicitado no navegador, conclua o fluxo de autenticação do IAP.
Verifique se a CLI do Gemini descobre e lista as ferramentas fornecidas pelo servidor MCP.