claude-apps-gateway.md +353 −0 created
1> ## Documentation Index
2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.
4
5# Gateway de aplicativos Claude para Amazon Bedrock, Claude Platform on AWS, Google Cloud e Microsoft Foundry
6
7> Execute Claude Code através do Amazon Bedrock, Claude Platform on AWS, Google Cloud ou Microsoft Foundry atrás de um gateway auto-hospedado com sign-in SSO, acesso a modelos por grupo e telemetria OTLP.
8
9<Note>
10 O gateway de aplicativos Claude foi projetado para organizações que devem — ou preferem — rotear inferência através de seu próprio provedor de nuvem, por exemplo para atender aos requisitos de [residência de dados](/docs/pt/claude-apps-gateway-deploy#compliance-posture). Se você não tem esse requisito e deseja acesso a outros recursos como provisionamento SCIM ou Claude Code na web e mobile, Claude Enterprise pode ser uma opção melhor. Consulte a página de [disponibilidade de recursos](/docs/pt/feature-availability) para uma comparação completa de todos os métodos de implantação.
11</Note>
12
13Claude apps gateway é um serviço auto-hospedado que fica entre os clientes Claude Code dos seus desenvolvedores e seu provedor de modelo. Os desenvolvedores fazem login com seu provedor de identidade corporativo (IdP) em vez de manter chaves de API ou credenciais de nuvem. O gateway mantém a credencial upstream, aplica acesso a modelos e [configurações gerenciadas](/docs/pt/permissions#managed-settings) por grupo IdP, e retransmite telemetria de uso para sua própria pilha de observabilidade.
14
15Está incluído no binário `claude`, então o mesmo executável que executa Claude Code em um laptop executa o servidor gateway com `claude gateway --config gateway.yaml`.
16
17Esta página cobre:
18
19* [Por que Claude apps gateway](#why-claude-apps-gateway), o que adiciona em relação a executar o seu próprio, e quando algo mais se encaixa melhor
20* Um [guia de início rápido](#quickstart) com [pré-requisitos](#prerequisites) que leva um gateway de zero a um desenvolvedor conectado
21* [Conectando desenvolvedores](#connect-developers), incluindo definir a URL do gateway através de configurações gerenciadas
22* [Disponibilidade e limitações](#availability-and-limitations) cobrindo quais recursos do Claude Code funcionam através do gateway e o que o servidor suporta
23
24As páginas complementares vão mais fundo. A [referência de configuração](/docs/pt/claude-apps-gateway-config) cobre todas as opções no arquivo YAML que o guia de início rápido escreve, e o [guia de implantação](/docs/pt/claude-apps-gateway-deploy) cobre configuração por IdP, implantação em Kubernetes e Cloud Run, e operações.
25
26<h2 id="why-claude-apps-gateway">
27 Por que Claude apps gateway
28</h2>
29
30A [visão geral do gateway](/docs/pt/gateways) cobre o que um gateway faz e por que você executaria um. Claude apps gateway é o próprio gateway da Anthropic, integrado ao binário `claude` e testado junto com cada lançamento do Claude Code, então encaminha os cabeçalhos e campos de solicitação que Claude Code envia sem operadores mantendo uma lista de permissões separada. Uma vez implantado, ele oferece:
31
32* **Credenciais**: a chave de API upstream ou credencial de nuvem vive apenas em sua infraestrutura. Os desenvolvedores se autenticam com SSO corporativo e recebem tokens de portador de curta duração, então o offboarding acontece em seu IdP. Desprovisione um usuário e seu acesso ao gateway expira dentro do tempo de vida da sessão, uma hora por padrão.
33* **Controle de acesso**: seus grupos IdP mapeiam para listas de permissões de modelos e políticas de [configurações gerenciadas](/docs/pt/permissions#managed-settings). O gateway aplica acesso a modelos no lado do servidor, rejeitando solicitações para modelos não concedidos, e seleciona a política de configurações gerenciadas de cada grupo, que a CLI aplica no [nível de configurações gerenciadas](/docs/pt/settings#settings-precedence). Diferentes equipes obtêm diferentes modelos, ferramentas e permissões, e um desenvolvedor não pode substituir o que sua política bloqueia.
34* **Entrega de configurações**: o gateway entrega configurações gerenciadas para clientes conectados, assumindo o lugar das [configurações gerenciadas pelo servidor](/docs/pt/server-managed-settings) do console administrativo claude.ai.
35* **Telemetria**: cada destino configurado, como Datadog, Splunk ou ClickHouse, recebe [métricas do OpenTelemetry Protocol (OTLP)](/docs/pt/monitoring-usage) com contagens de tokens, modelo, identidade do usuário e latência por padrão, com logs e rastreamentos como opt-ins por destino.
36* **Roteamento upstream**: os clientes falam a API de Mensagens Anthropic para o gateway, e o gateway traduz para cada upstream, seja Amazon Bedrock, [Claude Platform on AWS](/docs/pt/claude-platform-on-aws), Agent Platform do Google Cloud, Microsoft Foundry ou a API Anthropic, com failover entre eles. Você pode alterar regiões, provedores ou ordem de failover sem que os desenvolvedores notem ou reconfiguram.
37
38<Frame>
39 <img src="https://mintcdn.com/claude-code/st9_ZQOFsZa3cKFl/images/claude-gateway-architecture.svg?fit=max&auto=format&n=st9_ZQOFsZa3cKFl&q=85&s=560770d8f49bbd6f1ca7090ed1f13c03" alt="Diagrama mostrando clientes Claude Code conectando via HTTPS com tokens de portador a um gateway de aplicativos Claude auto-hospedado dentro de sua infraestrutura, que faz login dos usuários contra seu IdP, armazena estado de autenticação em PostgreSQL, retransmite telemetria para seu coletor OTLP, e encaminha inferência para Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry ou a API Anthropic" width="760" height="320" data-path="images/claude-gateway-architecture.svg" />
40</Frame>
41
42<Note>
43 O plano de dados do próprio gateway não envia nada para a infraestrutura Anthropic a menos que a API Anthropic seja um upstream configurado. Você controla para onde a telemetria, logs de auditoria, configurações gerenciadas e a identidade IdP dos seus desenvolvedores vão, e o gateway não envia nenhum deles para Anthropic. Para o tráfego restante que o processo CLI pode enviar e como fechá-lo, consulte [Postura de conformidade](/docs/pt/claude-apps-gateway-deploy#compliance-posture).
44</Note>
45
46Para quais recursos do Claude Code funcionam através do gateway e o que o próprio servidor suporta, consulte [Disponibilidade e limitações](#availability-and-limitations) abaixo. Para decisões como custo, bypass, executar múltiplos gateways e plataformas sem servidor, consulte o [guia de implantação](/docs/pt/claude-apps-gateway-deploy#deployment).
47
48<h3 id="other-gateway-implementations">
49 Outras implementações de gateway
50</h3>
51
52Se você já executa um gateway LLM ou gateway de API que atende às suas necessidades, continue usando-o; [Outros gateways LLM](/docs/pt/llm-gateway) cobre a configuração do Claude Code contra ele.
53
54A [referência do protocolo de gateway](/docs/pt/llm-gateway-protocol) documenta o contrato que Claude Code espera de qualquer gateway: os endpoints que chama, os cabeçalhos e campos de corpo para encaminhar, e o que para de funcionar quando são removidos. Um gateway de aplicativos Claude em execução serve um superconjunto desse contrato em `GET /protocol`, adicionando os endpoints específicos do gateway de aplicativos Claude para sign-in SSO, entrega de configurações gerenciadas e telemetria. Busque-o com `curl https://claude-gateway.internal.example.com/protocol` de qualquer gateway implantado, como o que o [guia de início rápido](#quickstart) abaixo produz.
55
56Mudanças significativas no protocolo são anunciadas com antecedência, mas compatibilidade retroativa indefinida não é garantida.
57
58<h2 id="quickstart">
59 Guia de início rápido
60</h2>
61
62Este guia de início rápido percorre o caminho mínimo: registre um cliente OAuth em seu IdP, escreva um `gateway.yaml`, execute o gateway junto com Postgres usando Docker Compose, e verifique o sign-in de ponta a ponta. Usa um upstream Amazon Bedrock; Claude Platform on AWS, Agent Platform do Google Cloud, Microsoft Foundry e a API Anthropic são igualmente suportados trocando o bloco `upstreams` conforme mostrado na [referência de configuração](/docs/pt/claude-apps-gateway-config#upstreams). No final você tem um gateway que um desenvolvedor pode fazer `/login`.
63
64<Note>
65 **Implante em sua rede privada.** Claude Code só se conecta a um gateway cujo endereço é privado. Esta é uma proteção de segurança, porque um gateway confiável pode enviar configurações que executam comandos em máquinas de desenvolvedores. Coloque o gateway atrás de um balanceador de carga interno ou VPN e dê a ele um nome de host que resolve apenas para IPs privados.
66
67 Os endpoints de gateway público operados pela Anthropic são a exceção: `/login` os aceita via `https://`. Estes são um pequeno conjunto fixo de gateways que a própria Anthropic opera; não são uma opção de implantação que você pode selecionar ou configurar. A lista é compilada no Claude Code, portanto nenhuma configuração pode adicionar um nome de host a ela e nenhum gateway que você hospeda se qualifica para a isenção. {/* min-version: 2.1.206 */}Antes da v2.1.206, `/login` rejeitava esses endpoints como qualquer outro endereço público.
68</Note>
69
70<h3 id="prerequisites">
71 Pré-requisitos
72</h3>
73
74Tenha estes em vigor antes de começar:
75
76| Você precisa | Detalhes |
77| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
78| Claude Code v2.1.195 ou posterior | O subcomando `claude gateway` e o fluxo de sign-in do gateway são enviados na v2.1.195. Compilações públicas anteriores não as incluem. Tanto a máquina executando o servidor gateway quanto a máquina de cada desenvolvedor devem estar na v2.1.195 ou posterior; execute `claude update` para obter a versão mais recente. {/* min-version: 2.1.198 */}O [upstream Claude Platform on AWS](/docs/pt/claude-apps-gateway-config#claude-platform-on-aws) requer Claude Code v2.1.198 ou posterior no servidor gateway. |
79| Provedor de identidade OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak ou Dex, ou qualquer outro IdP compatível com OIDC, como PingFederate. O gateway executa descoberta OIDC padrão e o fluxo de código de autorização contra ele. SAML e LDAP não são suportados. |
80| PostgreSQL 14 ou posterior | Faz backup do fluxo de sign-in do dispositivo, onde o callback do navegador escreve e a CLI de polling lê, além de contadores de limite de taxa. Qualquer Postgres gerenciado funciona, incluindo o menor nível. Sem limites de gastos configurados, o gateway armazena alguns KB de estado de autenticação de curta duração; com [limites de gastos](/docs/pt/claude-apps-gateway-spend-limits), também mantém tabelas de gastos, auditoria e identidade duráveis que devem ser feitas backup. TLS via `?sslmode=require` é recomendado. |
81| Upstream de modelo | Credenciais do Amazon Bedrock, credenciais do Claude Platform on AWS, credenciais do Google Cloud, um recurso Microsoft Foundry ou uma chave de API Anthropic. Múltiplos upstreams são suportados com failover. |
82| HTTPS | O gateway deve ser acessível via `https://` de laptops de desenvolvedores e de qualquer navegador usado para sign-in; o gateway serve a página de verificação do dispositivo no mesmo listener. Forneça um certificado TLS via `listen.tls` ou execute atrás de um ingress que termina TLS e defina `listen.public_url`. Uma origem `http://` simples é aceita apenas em loopback, para desenvolvimento local. |
83| Endereço de rede privada | Em `/login`, Claude Code requer que o nome de host ou endereço IP do gateway resolva apenas para endereços privados: RFC 1918, CGNAT `100.64.0.0/10`, ULA IPv6 `fc00::/7` ou loopback para desenvolvimento local. A verificação é executada em cada IP resolvido, então se qualquer endereço para o qual o nome resolve for público, `/login` rejeita a URL. Se máquinas de desenvolvedores rotear HTTPS através de um proxy corporativo, o sign-in também requer que o host proxy resolva para endereços privados; se não resolver, adicione o host do gateway a `NO_PROXY` para que a CLI se conecte diretamente. {/* min-version: 2.1.206 */}Os endpoints de gateway público operados pela Anthropic estão isentos das verificações de endereço privado e proxy: `/login` os aceita via `https://` por correspondência exata de nome de host, portanto o requisito de rede privada se aplica apenas a um gateway que você hospeda. Antes da v2.1.206, `/login` rejeitava um endpoint operado pela Anthropic como qualquer outro endereço público. |
84| Runtime Linux | O servidor gateway é executado apenas no binário Linux nativo. macOS funciona para desenvolvimento local. Windows não é suportado como plataforma de servidor. |
85
86O servidor gateway requer o binário `claude` nativo; baixe uma versão fixada conforme descrito em [Instalar Claude Code](/docs/pt/setup). O servidor usa recursos de runtime que não estão disponíveis quando Claude Code é executado sob Node. Se você vir `requires the native binary` na inicialização, mude para um dos métodos de instalação autônomos.
87
88<h3 id="steps">
89 Etapas
90</h3>
91
92<Steps>
93 <Step title="Registre um cliente OAuth em seu IdP">
94 Decida o nome de host do gateway primeiro, porque o URI de redirecionamento deve corresponder a ele. Crie um novo aplicativo web OIDC e defina o URI de redirecionamento para `https://claude-gateway.<seu-domínio>/oauth/callback`, onde o host é o mesmo valor que você define como [`listen.public_url`](/docs/pt/claude-apps-gateway-config#listen) na etapa 3. Anote o `client_id` e `client_secret`. As instruções por IdP estão em [Configuração do provedor de identidade](/docs/pt/claude-apps-gateway-deploy#identity-provider-setup).
95 </Step>
96
97 <Step title="Provisione um banco de dados PostgreSQL">
98 Qualquer Postgres 14 ou posterior funciona, incluindo o menor nível gerenciado. O gateway executa suas próprias migrações de esquema na inicialização, então o usuário do banco de dados precisa de permissão `CREATE TABLE`. Se sua política de segurança proíbe DDL de funções de aplicação, pré-crie o esquema em vez disso; consulte [`store`](/docs/pt/claude-apps-gateway-config#store).
99 </Step>
100
101 <Step title="Escreva gateway.yaml">
102 Os segredos são lidos via expansão `${ENV_VAR}` para que o arquivo em si possa viver no controle de versão. Use um nome de host `public_url` que resolva para um IP privado em sua rede, porque `/login` rejeita endereços públicos. A configuração mínima tem cinco seções, e todos os outros campos têm um padrão:
103
104 ```yaml gateway.yaml theme={null}
105 listen:
106 host: 0.0.0.0
107 port: 8080
108 # Obrigatório atrás de qualquer proxy que termina TLS. Usado para o IdP
109 # redirect_uri e o documento de descoberta.
110 public_url: https://claude-gateway.internal.example.com
111
112 oidc:
113 issuer: https://login.example.com # deve servir /.well-known/openid-configuration
114 client_id: 0oa1example2
115 client_secret: ${OIDC_CLIENT_SECRET}
116 allowed_email_domains: [example.com] # rejeitar id_tokens fora de sua organização
117 userinfo_fallback: true # para IdPs cujo id_token omite email/grupos; inofensivo caso contrário
118
119 session:
120 jwt_secret: ${GATEWAY_JWT_SECRET} # openssl rand -base64 32
121 ttl_hours: 1 # também limita a latência de revogação no desprovisionamento de IdP
122
123 store:
124 postgres_url: ${GATEWAY_POSTGRES_URL} # adicione ?sslmode=require para Postgres gerenciado
125
126 upstreams:
127 - provider: bedrock
128 region: us-east-1
129 auth: {} # vazio: cadeia de credencial padrão da AWS
130 # (IRSA, função de tarefa EC2/ECS, variáveis de ambiente, ~/.aws)
131
132 # Os modelos são traduzidos por upstream automaticamente. O catálogo integrado
133 # mapeia claude-opus-4-8 para us.anthropic.claude-opus-4-8 e assim por diante para cada
134 # modelo Claude suportado pelo Bedrock. Defina como false e adicione uma lista `models:` para
135 # expor apenas modelos específicos.
136 auto_include_builtin_models: true
137 ```
138
139 Esta configuração é suficiente para um loop de sign-in funcionando com o catálogo de modelos Bedrock padrão. Uma vez em execução, adicione RBAC por grupo e configurações gerenciadas via [`managed.policies`](/docs/pt/claude-apps-gateway-config#managed), fan-out de telemetria via [`telemetry`](/docs/pt/claude-apps-gateway-config#telemetry), e failover multi-upstream, ARNs de throughput provisionado ou regiões não-US via [`models`](/docs/pt/claude-apps-gateway-config#models).
140
141 <Note>
142 O upstream Bedrock precisa de um principal AWS com `bedrock:InvokeModel` e `bedrock:InvokeModelWithResponseStream` nos ARNs `inference-profile/us.anthropic.*` e nos ARNs `foundation-model/anthropic.*` subjacentes, e acesso a modelos habilitado no console Bedrock para os modelos Claude que você deseja. Forneça a credencial com IRSA no EKS, uma função de tarefa ECS ou um perfil de instância EC2 em vez de chaves estáticas. A [referência `upstreams`](/docs/pt/claude-apps-gateway-config#upstreams) tem os detalhes completos do IAM, a matriz de credencial entre nuvens e os blocos `auth` para os outros provedores.
143 </Note>
144 </Step>
145
146 <Step title="Execute-o">
147 Construa uma imagem de contêiner em torno do binário `claude` que atenda aos [requisitos de imagem](/docs/pt/claude-apps-gateway-deploy#container-image), então execute-a junto com Postgres:
148
149 ```yaml docker-compose.yaml theme={null}
150 services:
151 gateway:
152 image: <seu-registro>/claude-gateway:<versão>
153 ports: ["8080:8080"]
154 volumes: ["./gateway.yaml:/etc/claude/gateway.yaml:ro"]
155 environment:
156 OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET}
157 GATEWAY_JWT_SECRET: ${GATEWAY_JWT_SECRET}
158 GATEWAY_POSTGRES_URL: postgres://gw:pw@postgres/gateway
159 # Credenciais AWS: em produção, omita estas e use uma função de instância.
160 # Para teste local do Compose, passe as suas próprias:
161 AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
162 AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
163 AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
164 depends_on:
165 postgres:
166 condition: service_healthy
167 postgres:
168 image: postgres:16-alpine
169 environment: { POSTGRES_USER: gw, POSTGRES_PASSWORD: pw, POSTGRES_DB: gateway }
170 healthcheck:
171 test: ["CMD-SHELL", "pg_isready -U gw"]
172 interval: 5s
173 volumes: ["pgdata:/var/lib/postgresql/data"]
174 volumes: { pgdata: }
175 ```
176
177 O gateway é um único binário Linux que lê a configuração, executa descoberta OIDC contra seu IdP, aplica suas migrações de esquema Postgres, constrói clientes upstream e começa a escutar. A inicialização é fail-closed para a configuração, a conexão Postgres com um tempo limite de 5 segundos, descoberta OIDC e construção de cliente upstream. Se qualquer um desses for inacessível ou mal configurado, o gateway sai com um erro em vez de servir tráfego em um estado degradado.
178
179 Uma inicialização bem-sucedida não valida o caminho de inferência, porque credenciais de instância Bedrock e Agent Platform resolvem na primeira solicitação, não na inicialização.
180
181 Observe stderr para a sequência de inicialização. As linhas de log usam o formato `[gateway] <timestamp> <level> <message>`, eventos de auditoria são JSON de linha única com um campo `evt`, e um banner de inicialização, omitido abaixo, é impresso entre as linhas de migração e escuta. Você deve ver, em ordem:
182
183 ```text theme={null}
184 {"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}
185 [gateway] 2026-06-10T17:03:21.408Z info migration 1 applied
186 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080
187 ```
188
189 Se a inicialização sair antes da linha `claude gateway listening on`, a última linha de stderr nomeia o problema:
190
191 * um Postgres inacessível
192 * uma função Postgres sem permissão DDL
193 * um documento de descoberta OIDC inacessível ou inválido
194 * uma violação de esquema de configuração com o caminho de campo ofensivo
195
196 Corrija-o e reinicie.
197
198 Se você já tem um ingress que termina TLS, pule o Compose e execute o binário diretamente com `claude gateway --config gateway.yaml`. Defina `public_url` para a origem do ingress e vincule `listen` a um endereço loopback ou interno do cluster.
199 </Step>
200
201 <Step title="Verifique a superfície de autenticação">
202 Três verificações confirmam que o gateway pode autenticar um usuário real antes de entregá-lo a um desenvolvedor.
203
204 Os exemplos usam a URL pública do gateway; para a configuração local do Compose sem um ingress, substitua `http://localhost:8080` nas duas primeiras verificações. A terceira verificação abre `verification_uri_complete`, que é construída a partir de `public_url`, então para Compose local defina `public_url: http://localhost:8080` em `gateway.yaml` e adicione `http://localhost:8080/oauth/callback` como um segundo URI de redirecionamento no cliente OAuth da etapa 1, porque o gateway constrói o `redirect_uri` do IdP a partir de `public_url`. O link de verificação então abre em seu navegador local.
205
206 No Windows PowerShell, execute `curl.exe`; o `curl` simples é um alias para `Invoke-WebRequest` e rejeita esses sinalizadores.
207
208 Primeiro, busque o documento de descoberta, que confirma que o gateway está ativo, a configuração é válida e todas as verificações de inicialização passaram:
209
210 ```bash theme={null}
211 curl -s https://claude-gateway.internal.example.com/.well-known/oauth-authorization-server | jq
212 ```
213
214 ```json theme={null}
215 {
216 "issuer": "https://claude-gateway.internal.example.com",
217 "device_authorization_endpoint": "…/oauth/device_authorization",
218 "token_endpoint": "…/oauth/token",
219 "grant_types_supported": ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"]
220 }
221 ```
222
223 A resposta inclui campos adicionais, como `response_types_supported` e `scopes_supported`.
224
225 Segundo, solicite uma autorização de dispositivo, que confirma que o fluxo de sign-in do dispositivo funciona e Postgres é acessível e gravável:
226
227 ```bash theme={null}
228 curl -s -X POST https://claude-gateway.internal.example.com/oauth/device_authorization | jq
229 ```
230
231 ```json theme={null}
232 {
233 "device_code": "…",
234 "user_code": "WDJB-MJHT",
235 "verification_uri": "https://claude-gateway.internal.example.com/device",
236 "verification_uri_complete": "https://claude-gateway.internal.example.com/device?user_code=WDJB-MJHT",
237 "expires_in": 600,
238 "interval": 5
239 }
240 ```
241
242 Terceiro, teste a perna do navegador abrindo `verification_uri_complete` em um navegador e confirmando o código. Você deve ser redirecionado para a página de sign-in do seu IdP e, após fazer login, voltar ao gateway com uma confirmação de sign-in.
243
244 Use a primeira verificação que falha para localizar o problema:
245
246 * **Primeira verificação falha**: a inicialização não foi concluída; verifique stderr
247 * **Segunda verificação falha**: Postgres não é acessível do gateway ou a função não pode escrever; verifique a string de conexão e as concessões
248 * **Terceira verificação não alcança o IdP**: verifique que o URI de redirecionamento do IdP corresponde exatamente a `https://<gateway>/oauth/callback`
249 * **Terceira verificação alcança o IdP mas volta com um erro**: leia o log de auditoria do gateway, que registra cada rejeição de autenticação com o motivo, como `email domain not allowed`
250 </Step>
251
252 <Step title="Faça login de um desenvolvedor">
253 Esta última etapa acontece em uma máquina de desenvolvedor, não no servidor. Defina `forceLoginMethod` como `"gateway"` e `forceLoginGatewayUrl` como a `public_url` do seu gateway no [arquivo de configurações gerenciadas](/docs/pt/settings#settings-files) dessa máquina, então execute `/login`, pressione Enter na tela **Cloud gateway** e conclua o sign-in do navegador. [Defina a URL do gateway](#set-the-gateway-url) abaixo cobre a distribuição de ambas as chaves em escala.
254 </Step>
255</Steps>
256
257<h2 id="connect-developers">
258 Conectar desenvolvedores
259</h2>
260
261Os desenvolvedores se conectam de seus próprios laptops com um sign-in de navegador, usando sua conta de trabalho corporativa. Eles não precisam de uma conta claude.ai, uma chave de API ou uma assinatura, porque as solicitações para o modelo passam pelo gateway usando a credencial upstream da organização. A conexão é orientada pelas [configurações gerenciadas no lado do cliente](/docs/pt/claude-apps-gateway-config#client-side-managed-settings) que você envia via MDM, então não há configuração manual no lado do desenvolvedor; esta seção cobre o que o administrador configura.
262
263A CLI coloca a impressão digital do certificado TLS folha do gateway na primeira conexão e a fixa por nome de host. Publique a impressão digital SHA-256 esperada junto com a URL do gateway para que os desenvolvedores tenham algo para comparar. Obtenha a impressão digital do arquivo de certificado com `openssl x509 -noout -fingerprint -sha256 -in cert.pem`; o prompt `/login` mostra os primeiros 16 caracteres do resumo como hexadecimal minúsculo sem separadores.
264
265Quando o certificado é rotacionado, cada desenvolvedor vê o prompt de confiança novamente, então trate rotações como um evento planejado e republique a impressão digital.
266
267Uma vez conectado, o [seletor de modelo](/docs/pt/model-config) mostra os modelos na lista de permissões `availableModels` do desenvolvedor, as configurações gerenciadas se aplicam na inicialização e atualizam a cada hora, e a telemetria é roteada para seu coletor. As sessões são atualizadas silenciosamente antes da expiração de `ttl_hours`, e uma atualização falhada após desprovisionamento de IdP solicita um novo login.
268
269<h3 id="set-the-gateway-url">
270 Defina a URL do gateway
271</h3>
272
273Defina ambas as chaves no arquivo de [configurações gerenciadas](/docs/pt/settings#settings-files) por SO que você implanta via MDM ou diretamente no disco, e `/login` abre diretamente na tela **Cloud gateway** com a URL preenchida:
274
275```json theme={null}
276{
277 "forceLoginMethod": "gateway",
278 "forceLoginGatewayUrl": "https://claude-gateway.internal.example.com"
279}
280```
281
282O desenvolvedor pressiona Enter para se conectar. O prompt de impressão digital TLS de primeira conexão ainda aparece.
283
284Não há opção de gateway no seletor de login para um desenvolvedor selecionar manualmente, e `forceLoginGatewayUrl` é ignorado nos arquivos de configurações próprias de um desenvolvedor. `forceLoginMethod` sozinho, sem uma URL, deixa o desenvolvedor em uma mensagem "Entre em contato com seu administrador de TI". Ambas as chaves pertencem ao arquivo que você envia para máquinas, não ao bloco `managed.policies[].cli` do gateway, que só alcança clientes que já estão conectados.
285
286<h3 id="ci-pipelines-and-remote-machines">
287 Pipelines de CI e máquinas remotas
288</h3>
289
290Não há fluxo de token de serviço para pipelines não supervisionados. O sign-in do gateway sempre executa o fluxo de dispositivo do navegador, então um trabalho de CI sem um desenvolvedor para aprovar o sign-in não pode se autenticar; configure aqueles contra seu provedor diretamente.
291
292Uma vez que um desenvolvedor tenha feito login, cada invocação do Claude Code nessa máquina usa a sessão do gateway, incluindo execuções não interativas `claude -p` e sessões iniciadas pelo Agent SDK, e a [política do gateway se aplica a todas elas](/docs/pt/claude-apps-gateway-config#managed).
293
294O fluxo de dispositivo separa a CLI de polling do navegador aprovador, então uma caixa de desenvolvimento remota sem exibição ainda funciona: o desenvolvedor executa `/login` via SSH na máquina remota e abre o link de verificação no navegador em seu laptop.
295
296<h3 id="what’s-enforced-on-developers">
297 O que é aplicado aos desenvolvedores
298</h3>
299
300Estas garantias se aplicam a cada sessão de gateway conectada.
301
302* **Acesso a modelos**: solicitações para modelos que a política não concede retornam 400, e o seletor `/model` é filtrado para a lista de permissões `availableModels` da política. Defina [`enforceAvailableModels: true`](/docs/pt/model-config#default-model-behavior) na política para que a opção Padrão resolva para um modelo dentro de `availableModels` em vez de para o padrão integrado do Claude Code; sem isso, Padrão permanece selecionável e é rejeitado no tempo de solicitação se esse modelo não for concedido.
303* **Destino de telemetria**: quando [encaminhamento de telemetria](/docs/pt/claude-apps-gateway-config#telemetry) é configurado, o endpoint de exportação OTLP é fixado ao gateway, e a configuração enviada pelo gateway substitui variáveis `OTEL_*` definidas localmente.
304* **Credenciais**: o token do gateway é a única credencial da sessão. `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_API_KEY`, `apiKeyHelper` e qualquer login anterior de claude.ai são ignorados enquanto conectado, então os desenvolvedores não precisam fazer logout de claude.ai primeiro.
305* **Configurações gerenciadas**: chaves bloqueadas não podem ser substituídas localmente. A CLI aplica a política na inicialização e em cada sondagem horária.
306* **Inicialização**: sessões conectadas saem na inicialização com um erro após cerca de 10 segundos quando o gateway é inacessível, em vez de iniciar sem suas configurações.
307* **Desprovisionamento**: uma sessão cujo usuário é desabilitado no IdP expira dentro de `ttl_hours` quando a próxima atualização falha.
308
309<h3 id="what-the-organization-can-see">
310 O que a organização pode ver
311</h3>
312
313A telemetria de uso carrega a identidade do desenvolvedor, contagens de tokens, modelo e latência para o coletor da organização. O gateway não registra ou armazena conteúdo de prompt ou conclusão. Se telemetria mais rica, como logs e rastreamentos, é coletada, que pode incluir comandos e caminhos de arquivo, é a [escolha por destino](/docs/pt/claude-apps-gateway-config#telemetry) da organização.
314
315<h2 id="availability-and-limitations">
316 Disponibilidade e limitações
317</h2>
318
319A tabela cobre quais recursos do Claude Code funcionam quando os desenvolvedores se conectam através do gateway e o que o próprio servidor gateway suporta. Onde algo não é suportado, a coluna Notas fornece a alternativa.
320
321O gateway entrega os valores [`anthropic-beta`](https://platform.claude.com/docs/en/api/beta-headers) que a CLI envia para cada upstream, então operadores não mantêm uma lista de permissões beta. Para Amazon Bedrock, que ignora o cabeçalho, o gateway move os valores para o campo `anthropic_beta` do corpo da solicitação; os outros upstreams recebem o cabeçalho conforme enviado.
322
323O conjunto beta de sessão de gateway da CLI omite betas apenas de primeira parte e a beta de ttl de cache estendido, é por isso que essas linhas abaixo mostram como não disponíveis.
324
325| Recurso | Status | Notas |
326| ----------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
327| Encaminhamento de inferência (Amazon Bedrock, Claude Platform on AWS, Agent Platform do Google Cloud, Microsoft Foundry, Anthropic) | Disponível | Com tradução de modelo por upstream e failover. O upstream Amazon Bedrock usa o endpoint `bedrock-runtime` e a cadeia de credencial padrão da AWS; o [endpoint Mantle](/docs/pt/amazon-bedrock#use-the-mantle-endpoint) do Amazon Bedrock não é um upstream suportado. O [upstream Claude Platform on AWS](/docs/pt/claude-apps-gateway-config#claude-platform-on-aws) requer Claude Code v2.1.198 ou posterior no servidor gateway. |
328| Acesso a modelos e configurações gerenciadas por grupo IdP | Disponível | O acesso a modelos é aplicado no lado do servidor; as configurações gerenciadas são entregues por grupo IdP e aplicadas pela CLI no [nível de configurações gerenciadas](/docs/pt/settings#settings-precedence) |
329| Fan-out de telemetria (OTLP/HTTP) | Disponível | Identidade-marcada por exportação; ambas as codificações protobuf e JSON |
330| Provedores de identidade OIDC | Disponível | Qualquer IdP compatível com OIDC; o gateway executa descoberta OIDC padrão e o fluxo de código de autorização. Consulte [Configuração do provedor de identidade](/docs/pt/claude-apps-gateway-deploy#identity-provider-setup) para configuração por IdP |
331| Limites de gastos por usuário e por grupo | Disponível | Consulte [Limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) |
332| Busca na web no lado do servidor | Não disponível | A CLI não pode ver qual provedor upstream o gateway roteia, então não pode verificar o suporte de busca na web e desabilita WebSearch em sessões de gateway |
333| Cache de prompt padrão | Disponível | Os pontos de interrupção `cache_control` são encaminhados para cada upstream |
334| TTL de cache de 1 hora | Não disponível | A CLI omite a beta de ttl de cache estendido em sessões de gateway, porque nem todo upstream que o gateway pode rotear suporta o TTL de 1 hora, então o cache de prompt através do gateway usa o TTL de 5 minutos; consulte a nota de cabeçalho beta acima |
335| Modo automático | Disponível | Segue as [regras do provedor de terceiros](/docs/pt/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry): apenas os modelos elegíveis em provedores de terceiros podem usá-lo. {/* min-version: 2.1.207 */}Antes da v2.1.207, o modo automático em sessões de gateway exigia a definição de `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, entregável através do bloco `env` da política gerenciada |
336| Otimizações apenas de primeira parte, como escopo de cache global e ferramentas eficientes em tokens | Não disponível | A CLI não as habilita em sessões de gateway; consulte a nota de cabeçalho beta acima |
337| OTLP/gRPC | Não suportado | OTLP sobre HTTP apenas |
338| SAML, LDAP e outras autenticações não-OIDC | Não suportado | OIDC apenas. Coloque na frente com uma ponte OIDC se necessário |
339| Multi-tenant (múltiplos emissores OIDC) | Não suportado | Um emissor por gateway. Execute instâncias separadas |
340| Servidor Windows | Não suportado | Implante no Linux. macOS apenas para desenvolvimento local |
341| Gráfico Helm | Não disponível | O gateway é executado como um Deployment sem estado padrão; consulte o [guia de implantação](/docs/pt/claude-apps-gateway-deploy#kubernetes) |
342| Interface do usuário de administração | Não disponível | A configuração é o arquivo YAML; reimplante para alterá-la |
343
344<h2 id="next-steps">
345 Próximas etapas
346</h2>
347
348O guia de início rápido deixa você com uma configuração mínima em execução sob Docker Compose. Para ir além:
349
350* Expanda `gateway.yaml` além da configuração mínima, por exemplo para adicionar RBAC por grupo, failover multi-upstream ou destinos de telemetria. A [referência de configuração](/docs/pt/claude-apps-gateway-config) cobre todas as opções.
351* Mude do Compose para uma implantação de produção em Kubernetes ou Cloud Run, configure seu IdP adequadamente e revise o modelo de segurança. O [guia de implantação e operações](/docs/pt/claude-apps-gateway-deploy) cobre configuração por IdP, requisitos de imagem de contêiner, sondas de saúde e solução de problemas.
352* Coloque limites de gastos em desenvolvedores individuais ou grupos para que uma carga de trabalho descontrolada não possa consumir todo o seu compromisso. [Limites de gastos](/docs/pt/claude-apps-gateway-spend-limits) cobre a API de administração e como a aplicação funciona.
353* Para um exemplo completo trabalhado no Google Cloud, com Cloud Run, Cloud SQL e Secret Manager, consulte [Implante no Google Cloud](/docs/pt/claude-apps-gateway-on-gcp).