6 6
7> Configure Claude Code para usar a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace.7> Configure Claude Code para usar a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace.
8 8
9export const ContactSalesCard = ({surface}) => {
10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;
11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
12 <line x1="5" y1="12" x2="19" y2="12" />
13 <polyline points="12 5 19 12 12 19" />
14 </svg>;
15 const STYLES = `
16.cc-cs {
17 --cs-slate: #141413;
18 --cs-clay: #d97757;
19 --cs-clay-deep: #c6613f;
20 --cs-gray-000: #ffffff;
21 --cs-gray-700: #3d3d3a;
22 --cs-border-default: rgba(31, 30, 29, 0.15);
23 font-family: inherit;
24}
25.dark .cc-cs {
26 --cs-slate: #f0eee6;
27 --cs-gray-000: #262624;
28 --cs-gray-700: #bfbdb4;
29 --cs-border-default: rgba(240, 238, 230, 0.14);
30}
31.cc-cs-card {
32 display: flex; align-items: center; justify-content: space-between;
33 gap: 16px; padding: 14px 16px; margin: 0;
34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);
35 border-radius: 8px; flex-wrap: wrap;
36}
37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }
38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }
39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
40.cc-cs-btn-clay {
41 display: inline-flex; align-items: center; gap: 8px;
42 background: var(--cs-clay-deep); color: #fff; border: none;
43 border-radius: 8px; padding: 8px 14px;
44 font-size: 13px; font-weight: 500;
45 transition: background-color 0.15s; white-space: nowrap;
46}
47.cc-cs-btn-clay:hover { background: var(--cs-clay); }
48.cc-cs-btn-ghost {
49 display: inline-flex; align-items: center; gap: 8px;
50 background: transparent; color: var(--cs-gray-700);
51 border: 0.5px solid var(--cs-border-default);
52 border-radius: 8px; padding: 8px 14px;
53 font-size: 13px; font-weight: 500;
54}
55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }
57@media (max-width: 720px) {
58 .cc-cs-actions { width: 100%; }
59}
60`;
61 return <div className="cc-cs not-prose">
62 <style>{STYLES}</style>
63 <div className="cc-cs-card">
64 <div className="cc-cs-text">
65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.
66 </div>
67 <div className="cc-cs-actions">
68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">
69 View plans
70 </a>
71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">
72 Contact sales {iconArrowRight()}
73 </a>
74 </div>
75 </div>
76 </div>;
77};
78
79export const Experiment = ({flag, treatment, children}) => {
80 const VID_KEY = 'exp_vid';
81 const CONSENT_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'RE', 'GP', 'MQ', 'GF', 'YT', 'BL', 'MF', 'PM', 'WF', 'PF', 'NC', 'AW', 'CW', 'SX', 'FO', 'GL', 'AX', 'GB', 'UK', 'AI', 'BM', 'IO', 'VG', 'KY', 'FK', 'GI', 'MS', 'PN', 'SH', 'TC', 'GG', 'JE', 'IM', 'CA', 'BR', 'IN']);
82 const fnv1a = s => {
83 let h = 0x811c9dc5;
84 for (let i = 0; i < s.length; i++) {
85 h ^= s.charCodeAt(i);
86 h += (h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24);
87 }
88 return h >>> 0;
89 };
90 const bucket = (seed, vid) => fnv1a(fnv1a(seed + vid) + '') % 10000 < 5000 ? 'control' : 'treatment';
91 const [decision] = useState(() => {
92 const params = new URLSearchParams(location.search);
93 const preBucketed = document.documentElement.dataset['gb_' + flag.replace(/-/g, '_')];
94 const force = params.get('gb-force');
95 if (force) {
96 for (const p of force.split(',')) {
97 const [k, v] = p.split(':');
98 if (k === flag) return {
99 variant: v || 'treatment',
100 track: false
101 };
102 }
103 }
104 if (navigator.globalPrivacyControl) {
105 return {
106 variant: 'control',
107 track: false
108 };
109 }
110 const prefsMatch = document.cookie.match(/(?:^|; )anthropic-consent-preferences=([^;]+)/);
111 if (prefsMatch) {
112 try {
113 if (JSON.parse(decodeURIComponent(prefsMatch[1])).analytics !== true) {
114 return {
115 variant: 'control',
116 track: false
117 };
118 }
119 } catch {
120 return {
121 variant: 'control',
122 track: false
123 };
124 }
125 } else {
126 const country = params.get('country')?.toUpperCase() || (document.cookie.match(/(?:^|; )cf_geo=([A-Z]{2})/) || [])[1];
127 if (!country || CONSENT_COUNTRIES.has(country)) {
128 return {
129 variant: 'control',
130 track: false
131 };
132 }
133 }
134 let vid;
135 try {
136 const ajsMatch = document.cookie.match(/(?:^|; )ajs_anonymous_id=([^;]+)/);
137 if (ajsMatch) {
138 vid = decodeURIComponent(ajsMatch[1]).replace(/^"|"$/g, '');
139 } else {
140 vid = localStorage.getItem(VID_KEY);
141 if (!vid) {
142 vid = crypto.randomUUID();
143 }
144 document.cookie = `ajs_anonymous_id=${vid}; domain=.claude.com; path=/; Secure; SameSite=Lax; max-age=31536000`;
145 }
146 try {
147 localStorage.setItem(VID_KEY, vid);
148 } catch {}
149 } catch {
150 return {
151 variant: 'control',
152 track: false
153 };
154 }
155 const variant = preBucketed === '1' ? 'treatment' : preBucketed === '0' ? 'control' : bucket(flag, vid);
156 return {
157 variant,
158 track: true,
159 vid
160 };
161 });
162 useEffect(() => {
163 if (!decision.track) return;
164 fetch('https://api.anthropic.com/api/event_logging/v2/batch', {
165 method: 'POST',
166 headers: {
167 'Content-Type': 'application/json',
168 'x-service-name': 'claude_code_docs'
169 },
170 body: JSON.stringify({
171 events: [{
172 event_type: 'GrowthbookExperimentEvent',
173 event_data: {
174 device_id: decision.vid,
175 anonymous_id: decision.vid,
176 timestamp: new Date().toISOString(),
177 experiment_id: flag,
178 variation_id: decision.variant === 'treatment' ? 1 : 0,
179 environment: 'production'
180 }
181 }]
182 }),
183 keepalive: true
184 }).catch(() => {});
185 }, []);
186 return decision.variant === 'treatment' ? treatment : children;
187};
188
189<Experiment flag="docs-contact-sales-cta" treatment={<ContactSalesCard surface="claude_platform_on_aws" />} />
190
191Claude Platform on AWS é a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace. As solicitações chegam diretamente à API da Anthropic, portanto você obtém os mesmos modelos e recursos que a [Claude API](https://platform.claude.com/docs) no mesmo cronograma de lançamento. Você se autentica com credenciais AWS ou uma chave de API do workspace, e paga através do AWS Marketplace.9Claude Platform on AWS é a API Claude operada pela Anthropic com autenticação AWS, controle de acesso IAM e faturamento do AWS Marketplace. As solicitações chegam diretamente à API da Anthropic, portanto você obtém os mesmos modelos e recursos que a [Claude API](https://platform.claude.com/docs) no mesmo cronograma de lançamento. Você se autentica com credenciais AWS ou uma chave de API do workspace, e paga através do AWS Marketplace.
192 10
193Use este guia para apontar Claude Code para um workspace que você já provisionou através do Claude Platform on AWS. Para a assinatura AWS e configuração do workspace que vem antes disso, consulte a [documentação do Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).11Use este guia para apontar Claude Code para um workspace que você já provisionou através do Claude Platform on AWS. Para a assinatura AWS e configuração do workspace que vem antes disso, consulte a [documentação do Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).
196 Assinar através do AWS Marketplace provisiona uma nova organização Anthropic vinculada à sua conta AWS. Esta organização é separada de qualquer organização que você já tenha com a Anthropic, e as credenciais não são transferidas entre elas. Use o ID do workspace e as chaves de API da organização vinculada ao AWS, não de uma conta Claude Console pré-existente.14 Assinar através do AWS Marketplace provisiona uma nova organização Anthropic vinculada à sua conta AWS. Esta organização é separada de qualquer organização que você já tenha com a Anthropic, e as credenciais não são transferidas entre elas. Use o ID do workspace e as chaves de API da organização vinculada ao AWS, não de uma conta Claude Console pré-existente.
197</Note>15</Note>
198 16
199## Pré-requisitos17<h2 id="prerequisites">
18 Pré-requisitos
19</h2>
200 20
201Antes de configurar Claude Code, você precisa de:21Antes de configurar Claude Code, você precisa de:
202 22
205* Um principal IAM com permissão para invocar o serviço Anthropic, ou uma chave de API com escopo para o workspace25* Um principal IAM com permissão para invocar o serviço Anthropic, ou uma chave de API com escopo para o workspace
206* Credenciais AWS em seu ambiente, em `~/.aws/credentials`, ou de uma função IAM anexada se você quiser autenticação SigV4. A AWS CLI é necessária apenas para o fluxo de login SSO.26* Credenciais AWS em seu ambiente, em `~/.aws/credentials`, ou de uma função IAM anexada se você quiser autenticação SigV4. A AWS CLI é necessária apenas para o fluxo de login SSO.
207 27
208## Configuração28<h2 id="setup">
29 Configuração
30</h2>
209 31
210### 1. Configure credenciais AWS32<h3 id="1-configure-aws-credentials">
33 1. Configure credenciais AWS
34</h3>
211 35
212Claude Code suporta dois métodos de autenticação para Claude Platform on AWS. Escolha o método que se adequa à forma como sua equipe gerencia o acesso.36Claude Code suporta dois métodos de autenticação para Claude Platform on AWS. Escolha o método que se adequa à forma como sua equipe gerencia o acesso.
213 37
248 Os comandos `/login` e `/logout` não alteram a autenticação do Claude Platform on AWS. A autenticação é executada através de suas credenciais AWS ou chave de API do workspace, não através de uma assinatura Claude.ai.72 Os comandos `/login` e `/logout` não alteram a autenticação do Claude Platform on AWS. A autenticação é executada através de suas credenciais AWS ou chave de API do workspace, não através de uma assinatura Claude.ai.
249</Note>73</Note>
250 74
251### 2. Configure Claude Code75<h3 id="2-configure-claude-code">
76 2. Configure Claude Code
77</h3>
252 78
253Defina as variáveis de ambiente que rotearão Claude Code através do Claude Platform on AWS em vez da API Anthropic padrão.79Defina as variáveis de ambiente que rotearão Claude Code através do Claude Platform on AWS em vez da API Anthropic padrão.
254 80
262 88
263Claude Platform on AWS é opt-in mesmo quando credenciais AWS estão presentes em seu ambiente. Bedrock e Foundry têm precedência no roteamento de provedores, portanto desdefina `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_FOUNDRY` se estiverem definidas.89Claude Platform on AWS é opt-in mesmo quando credenciais AWS estão presentes em seu ambiente. Bedrock e Foundry têm precedência no roteamento de provedores, portanto desdefina `CLAUDE_CODE_USE_BEDROCK` e `CLAUDE_CODE_USE_FOUNDRY` se estiverem definidas.
264 90
265### 3. Fixe versões de modelo91<h3 id="3-pin-model-versions">
92 3. Fixe versões de modelo
93</h3>
266 94
267Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta. Os aliases padrão `opus`, `sonnet` e `haiku` resolvem para as versões mais recentes disponíveis em seu workspace.95Claude Platform on AWS usa os mesmos IDs de modelo que a API Claude direta. Os aliases padrão `opus`, `sonnet` e `haiku` resolvem para as versões mais recentes disponíveis em seu workspace.
268 96
276 104
277Para a lista completa de IDs de modelo e aliases, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para outras variáveis relacionadas a modelos, consulte [Configuração de modelo](/pt/model-config).105Para a lista completa de IDs de modelo e aliases, consulte [Visão geral de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para outras variáveis relacionadas a modelos, consulte [Configuração de modelo](/pt/model-config).
278 106
279[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) é ativado automaticamente. Gravações de cache de 1 hora são faturadas a uma taxa mais alta do que gravações de 5 minutos. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`.107[Prompt caching](/pt/prompt-caching) é ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina `ENABLE_PROMPT_CACHING_1H=1`. A API cobra gravações de cache de 1 hora a uma taxa mais alta. Consulte [preços de prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para as taxas.
280 108
281## Use o Agent SDK109<h2 id="use-the-agent-sdk">
110 Use o Agent SDK
111</h2>
282 112
283O [Agent SDK](/pt/agent-sdk/overview) lê as mesmas variáveis de ambiente que a CLI, portanto qualquer programa que gere o subprocesso Claude Code pode direcionar Claude Platform on AWS exportando `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` e `ANTHROPIC_AWS_API_KEY` ou credenciais AWS antes da chamada.113O [Agent SDK](/pt/agent-sdk/overview) lê as mesmas variáveis de ambiente que a CLI, portanto qualquer programa que gere o subprocesso Claude Code pode direcionar Claude Platform on AWS exportando `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` e `ANTHROPIC_AWS_API_KEY` ou credenciais AWS antes da chamada.
284 114
296 126
297Este exemplo depende da cadeia de credenciais AWS ambiente para SigV4. Para autenticar com uma chave de API do workspace em vez disso, defina `ANTHROPIC_AWS_API_KEY` da mesma forma. Para a superfície mais ampla do Agent SDK, consulte [Visão geral do Agent SDK](/pt/agent-sdk/overview).127Este exemplo depende da cadeia de credenciais AWS ambiente para SigV4. Para autenticar com uma chave de API do workspace em vez disso, defina `ANTHROPIC_AWS_API_KEY` da mesma forma. Para a superfície mais ampla do Agent SDK, consulte [Visão geral do Agent SDK](/pt/agent-sdk/overview).
298 128
299## Rotear através de um proxy corporativo129<h2 id="route-through-a-corporate-proxy">
130 Rotear através de um proxy corporativo
131</h2>
300 132
301Para rotear tráfego através de um proxy ou [gateway LLM](/pt/llm-gateway), defina `ANTHROPIC_AWS_BASE_URL` para o endereço do proxy. Claude Code envia solicitações para essa URL com os mesmos cabeçalhos de workspace e autenticação, portanto qualquer gateway que os encaminhe inalterados funciona.133Para rotear tráfego através de um proxy ou [gateway LLM](/pt/llm-gateway), defina `ANTHROPIC_AWS_BASE_URL` para o endereço do proxy. Claude Code envia solicitações para essa URL com os mesmos cabeçalhos de workspace e autenticação, portanto qualquer gateway que os encaminhe inalterados funciona.
302 134
315export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com147export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com
316```148```
317 149
318## Troubleshooting150<h2 id="troubleshooting">
151 Troubleshooting
152</h2>
319 153
320Execute `/status` para ver o provedor resolvido e qualquer ID de workspace, região, substituição de URL base e configuração de salto de autenticação explicitamente configurados. Esta é a maneira mais rápida de confirmar que Claude Code está direcionando Claude Platform on AWS.154Execute `/status` para ver o provedor resolvido e qualquer ID de workspace, região, substituição de URL base e configuração de salto de autenticação explicitamente configurados. Esta é a maneira mais rápida de confirmar que Claude Code está direcionando Claude Platform on AWS.
321 155
322### `403 Forbidden` ou `AccessDenied` em cada solicitação156<h3 id="403-forbidden-or-accessdenied-on-every-request">
157 `403 Forbidden` ou `AccessDenied` em cada solicitação
158</h3>
323 159
324O principal IAM que Claude Code resolveu provavelmente não tem permissão para invocar o serviço Anthropic em seu workspace. Verifique a função anexada ao seu perfil AWS ou ao executor que iniciou Claude Code, e verifique se ela tem as ações `aws-external-anthropic` documentadas na [referência de ação IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).160O principal IAM que Claude Code resolveu provavelmente não tem permissão para invocar o serviço Anthropic em seu workspace. Verifique a função anexada ao seu perfil AWS ou ao executor que iniciou Claude Code, e verifique se ela tem as ações `aws-external-anthropic` documentadas na [referência de ação IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).
325 161
326Se você definir `ANTHROPIC_AWS_API_KEY`, a chave tem precedência sobre SigV4 e uma chave obsoleta produz o mesmo erro. Regenere a chave no Console AWS em **Claude Platform on AWS → API keys** ou desdefina a variável para voltar às suas credenciais AWS.162Se você definir `ANTHROPIC_AWS_API_KEY`, a chave tem precedência sobre SigV4 e uma chave obsoleta produz o mesmo erro. Regenere a chave no Console AWS em **Claude Platform on AWS → API keys** ou desdefina a variável para voltar às suas credenciais AWS.
327 163
328### Solicitações falham com um erro de workspace ausente164<h3 id="requests-fail-with-a-missing-workspace-error">
165 Solicitações falham com um erro de workspace ausente
166</h3>
329 167
330`ANTHROPIC_AWS_WORKSPACE_ID` provavelmente está desdefido ou vazio. Cada solicitação do Claude Platform on AWS deve incluir o ID do workspace. Não é implícito por suas credenciais AWS. Encontre o ID em **Workspaces** na página de serviço do Console AWS e exporte-o antes de iniciar Claude Code.168`ANTHROPIC_AWS_WORKSPACE_ID` provavelmente está desdefido ou vazio. Cada solicitação do Claude Platform on AWS deve incluir o ID do workspace. Não é implícito por suas credenciais AWS. Encontre o ID em **Workspaces** na página de serviço do Console AWS e exporte-o antes de iniciar Claude Code.
331 169
332### Solicitações ainda vão para `api.anthropic.com`170<h3 id="requests-still-go-to-api-anthropic-com">
171 Solicitações ainda vão para `api.anthropic.com`
172</h3>
333 173
334`CLAUDE_CODE_USE_ANTHROPIC_AWS` provavelmente está desdefido ou definido para um valor que não é analisado como verdadeiro. Defina-o como `1` e execute `/status` para confirmar o provedor resolvido. Se `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_FOUNDRY` também estiver definido, esses têm precedência sobre Claude Platform on AWS.174`CLAUDE_CODE_USE_ANTHROPIC_AWS` provavelmente está desdefido ou definido para um valor que não é analisado como verdadeiro. Defina-o como `1` e execute `/status` para confirmar o provedor resolvido. Se `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_FOUNDRY` também estiver definido, esses têm precedência sobre Claude Platform on AWS.
335 175
336## Recursos adicionais176<h2 id="additional-resources">
177 Recursos adicionais
178</h2>
337 179
338A assinatura do Claude Platform on AWS, configuração de workspace e IAM que vem antes de configurar Claude Code é coberta na documentação da plataforma:180A assinatura do Claude Platform on AWS, configuração de workspace e IAM que vem antes de configurar Claude Code é coberta na documentação da plataforma:
339 181