6 6
7> Configure Claude Code para usar la API de Claude operada por Anthropic con autenticación de AWS, control de acceso IAM y facturación de AWS Marketplace.7> Configure Claude Code para usar la API de Claude operada por Anthropic con autenticación de AWS, control de acceso IAM y facturación de 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 es la API de Claude operada por Anthropic con autenticación de AWS, control de acceso IAM y facturación de AWS Marketplace. Las solicitudes llegan directamente a la API de Anthropic, por lo que obtiene los mismos modelos y características que la [Claude API](https://platform.claude.com/docs) en el mismo calendario de lanzamientos. Se autentica con credenciales de AWS o una clave API de espacio de trabajo, y paga a través de AWS Marketplace.9Claude Platform on AWS es la API de Claude operada por Anthropic con autenticación de AWS, control de acceso IAM y facturación de AWS Marketplace. Las solicitudes llegan directamente a la API de Anthropic, por lo que obtiene los mismos modelos y características que la [Claude API](https://platform.claude.com/docs) en el mismo calendario de lanzamientos. Se autentica con credenciales de AWS o una clave API de espacio de trabajo, y paga a través de AWS Marketplace.
192 10
193Utilice esta guía para dirigir Claude Code a un espacio de trabajo que ya haya aprovisionado a través de Claude Platform on AWS. Para la suscripción de AWS y la configuración del espacio de trabajo que viene antes, consulte la [documentación de Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).11Utilice esta guía para dirigir Claude Code a un espacio de trabajo que ya haya aprovisionado a través de Claude Platform on AWS. Para la suscripción de AWS y la configuración del espacio de trabajo que viene antes, consulte la [documentación de Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).
196 Suscribirse a través de AWS Marketplace aprovisiona una nueva organización de Anthropic vinculada a su cuenta de AWS. Esta organización es independiente de cualquier organización que ya tenga con Anthropic, y las credenciales no se transfieren entre ellas. Utilice el ID del espacio de trabajo y las claves API de la organización vinculada a AWS, no de una cuenta de Claude Console preexistente.14 Suscribirse a través de AWS Marketplace aprovisiona una nueva organización de Anthropic vinculada a su cuenta de AWS. Esta organización es independiente de cualquier organización que ya tenga con Anthropic, y las credenciales no se transfieren entre ellas. Utilice el ID del espacio de trabajo y las claves API de la organización vinculada a AWS, no de una cuenta de Claude Console preexistente.
197</Note>15</Note>
198 16
199## Requisitos previos17<h2 id="prerequisites">
18 Requisitos previos
19</h2>
200 20
201Antes de configurar Claude Code, necesita:21Antes de configurar Claude Code, necesita:
202 22
205* Un principal de IAM con permiso para invocar el servicio de Anthropic, o una clave API limitada al espacio de trabajo25* Un principal de IAM con permiso para invocar el servicio de Anthropic, o una clave API limitada al espacio de trabajo
206* Credenciales de AWS en su entorno, en `~/.aws/credentials`, o de un rol de IAM adjunto si desea autenticación SigV4. La CLI de AWS es necesaria solo para el flujo de inicio de sesión SSO.26* Credenciales de AWS en su entorno, en `~/.aws/credentials`, o de un rol de IAM adjunto si desea autenticación SigV4. La CLI de AWS es necesaria solo para el flujo de inicio de sesión SSO.
207 27
208## Configuración28<h2 id="setup">
29 Configuración
30</h2>
209 31
210### 1. Configurar credenciales de AWS32<h3 id="1-configure-aws-credentials">
33 1. Configurar credenciales de AWS
34</h3>
211 35
212Claude Code admite dos métodos de autenticación para Claude Platform on AWS. Elija el método que se ajuste a cómo su equipo gestiona el acceso.36Claude Code admite dos métodos de autenticación para Claude Platform on AWS. Elija el método que se ajuste a cómo su equipo gestiona el acceso.
213 37
248 Los comandos `/login` y `/logout` no cambian la autenticación de Claude Platform on AWS. La autenticación se ejecuta a través de sus credenciales de AWS o clave API del espacio de trabajo, no a través de una suscripción de Claude.ai.72 Los comandos `/login` y `/logout` no cambian la autenticación de Claude Platform on AWS. La autenticación se ejecuta a través de sus credenciales de AWS o clave API del espacio de trabajo, no a través de una suscripción de Claude.ai.
249</Note>73</Note>
250 74
251### 2. Configurar Claude Code75<h3 id="2-configure-claude-code">
76 2. Configurar Claude Code
77</h3>
252 78
253Establezca las variables de entorno que enrutan Claude Code a través de Claude Platform on AWS en lugar de la API de Anthropic predeterminada.79Establezca las variables de entorno que enrutan Claude Code a través de Claude Platform on AWS en lugar de la API de Anthropic predeterminada.
254 80
262 88
263Claude Platform on AWS es opcional incluso cuando hay credenciales de AWS presentes en su entorno. Bedrock y Foundry tienen prioridad en el enrutamiento de proveedores, por lo que desactive `CLAUDE_CODE_USE_BEDROCK` y `CLAUDE_CODE_USE_FOUNDRY` si están establecidos.89Claude Platform on AWS es opcional incluso cuando hay credenciales de AWS presentes en su entorno. Bedrock y Foundry tienen prioridad en el enrutamiento de proveedores, por lo que desactive `CLAUDE_CODE_USE_BEDROCK` y `CLAUDE_CODE_USE_FOUNDRY` si están establecidos.
264 90
265### 3. Fijar versiones de modelo91<h3 id="3-pin-model-versions">
92 3. Fijar versiones de modelo
93</h3>
266 94
267Claude Platform on AWS utiliza los mismos ID de modelo que la API de Claude directa. Los alias predeterminados `opus`, `sonnet` y `haiku` se resuelven a las versiones más recientes disponibles en su espacio de trabajo.95Claude Platform on AWS utiliza los mismos ID de modelo que la API de Claude directa. Los alias predeterminados `opus`, `sonnet` y `haiku` se resuelven a las versiones más recientes disponibles en su espacio de trabajo.
268 96
276 104
277Para la lista completa de ID de modelo y alias, consulte [Descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para otras variables relacionadas con modelos, consulte [Configuración de modelo](/es/model-config).105Para la lista completa de ID de modelo y alias, consulte [Descripción general de modelos](https://platform.claude.com/docs/en/about-claude/models/overview). Para otras variables relacionadas con modelos, consulte [Configuración de modelo](/es/model-config).
278 106
279[Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) está habilitado automáticamente. Las escrituras de caché de 1 hora se facturan a una tasa más alta que las escrituras de 5 minutos. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca `ENABLE_PROMPT_CACHING_1H=1`.107[Prompt caching](/es/prompt-caching) está habilitado automáticamente. Para solicitar un TTL de caché de 1 hora en lugar del predeterminado de 5 minutos, establezca `ENABLE_PROMPT_CACHING_1H=1`. Las escrituras de caché de 1 hora se facturan a una tasa más alta. Consulte [precios de prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) para conocer las tarifas.
280 108
281## Usar el Agent SDK109<h2 id="use-the-agent-sdk">
110 Usar el Agent SDK
111</h2>
282 112
283El [Agent SDK](/es/agent-sdk/overview) lee las mismas variables de entorno que la CLI, por lo que cualquier programa que genere el subproceso de Claude Code puede dirigirse a Claude Platform on AWS exportando `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` y `ANTHROPIC_AWS_API_KEY` o credenciales de AWS antes de la llamada.113El [Agent SDK](/es/agent-sdk/overview) lee las mismas variables de entorno que la CLI, por lo que cualquier programa que genere el subproceso de Claude Code puede dirigirse a Claude Platform on AWS exportando `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` y `ANTHROPIC_AWS_API_KEY` o credenciales de AWS antes de la llamada.
284 114
296 126
297Este ejemplo se basa en la cadena de credenciales de AWS ambiental para SigV4. Para autenticarse con una clave API del espacio de trabajo en su lugar, establezca `ANTHROPIC_AWS_API_KEY` de la misma manera. Para la superficie más amplia del Agent SDK, consulte [Descripción general del Agent SDK](/es/agent-sdk/overview).127Este ejemplo se basa en la cadena de credenciales de AWS ambiental para SigV4. Para autenticarse con una clave API del espacio de trabajo en su lugar, establezca `ANTHROPIC_AWS_API_KEY` de la misma manera. Para la superficie más amplia del Agent SDK, consulte [Descripción general del Agent SDK](/es/agent-sdk/overview).
298 128
299## Enrutar a través de un proxy corporativo129<h2 id="route-through-a-corporate-proxy">
130 Enrutar a través de un proxy corporativo
131</h2>
300 132
301Para enrutar el tráfico a través de un proxy o [puerta de enlace LLM](/es/llm-gateway), establezca `ANTHROPIC_AWS_BASE_URL` en la dirección del proxy. Claude Code envía solicitudes a esa URL con los mismos encabezados de espacio de trabajo y autenticación, por lo que cualquier puerta de enlace que los reenvíe sin cambios funciona.133Para enrutar el tráfico a través de un proxy o [puerta de enlace LLM](/es/llm-gateway), establezca `ANTHROPIC_AWS_BASE_URL` en la dirección del proxy. Claude Code envía solicitudes a esa URL con los mismos encabezados de espacio de trabajo y autenticación, por lo que cualquier puerta de enlace que los reenvíe sin cambios 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## Solución de problemas150<h2 id="troubleshooting">
151 Solución de problemas
152</h2>
319 153
320Ejecute `/status` para ver el proveedor resuelto y cualquier ID de espacio de trabajo configurado explícitamente, región, anulación de URL base y configuración de omisión de autenticación. Esta es la forma más rápida de confirmar que Claude Code se dirige a Claude Platform on AWS en absoluto.154Ejecute `/status` para ver el proveedor resuelto y cualquier ID de espacio de trabajo configurado explícitamente, región, anulación de URL base y configuración de omisión de autenticación. Esta es la forma más rápida de confirmar que Claude Code se dirige a Claude Platform on AWS en absoluto.
321 155
322### `403 Forbidden` o `AccessDenied` en cada solicitud156<h3 id="403-forbidden-or-accessdenied-on-every-request">
157 `403 Forbidden` o `AccessDenied` en cada solicitud
158</h3>
323 159
324El principal de IAM que Claude Code resolvió probablemente carece de permiso para invocar el servicio de Anthropic en su espacio de trabajo. Verifique el rol adjunto a su perfil de AWS o al ejecutor que inició Claude Code, y verifique que tenga las acciones `aws-external-anthropic` documentadas en la [referencia de acciones de IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).160El principal de IAM que Claude Code resolvió probablemente carece de permiso para invocar el servicio de Anthropic en su espacio de trabajo. Verifique el rol adjunto a su perfil de AWS o al ejecutor que inició Claude Code, y verifique que tenga las acciones `aws-external-anthropic` documentadas en la [referencia de acciones de IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).
325 161
326Si estableció `ANTHROPIC_AWS_API_KEY`, la clave tiene prioridad sobre SigV4 y una clave obsoleta produce el mismo error. Regenere la clave en la Consola de AWS en **Claude Platform on AWS → API keys** o desactive la variable para volver a sus credenciales de AWS.162Si estableció `ANTHROPIC_AWS_API_KEY`, la clave tiene prioridad sobre SigV4 y una clave obsoleta produce el mismo error. Regenere la clave en la Consola de AWS en **Claude Platform on AWS → API keys** o desactive la variable para volver a sus credenciales de AWS.
327 163
328### Las solicitudes fallan con un error de espacio de trabajo faltante164<h3 id="requests-fail-with-a-missing-workspace-error">
165 Las solicitudes fallan con un error de espacio de trabajo faltante
166</h3>
329 167
330`ANTHROPIC_AWS_WORKSPACE_ID` probablemente no esté establecido o esté vacío. Cada solicitud de Claude Platform on AWS debe incluir el ID del espacio de trabajo. No está implícito en sus credenciales de AWS. Encuentre el ID en **Workspaces** en la página del servicio de la Consola de AWS y expórtelo antes de iniciar Claude Code.168`ANTHROPIC_AWS_WORKSPACE_ID` probablemente no esté establecido o esté vacío. Cada solicitud de Claude Platform on AWS debe incluir el ID del espacio de trabajo. No está implícito en sus credenciales de AWS. Encuentre el ID en **Workspaces** en la página del servicio de la Consola de AWS y expórtelo antes de iniciar Claude Code.
331 169
332### Las solicitudes aún van a `api.anthropic.com`170<h3 id="requests-still-go-to-api-anthropic-com">
171 Las solicitudes aún van a `api.anthropic.com`
172</h3>
333 173
334`CLAUDE_CODE_USE_ANTHROPIC_AWS` probablemente no esté establecido o esté establecido en un valor que no se analice como verdadero. Establézcalo en `1` y ejecute `/status` para confirmar el proveedor resuelto. Si `CLAUDE_CODE_USE_BEDROCK` o `CLAUDE_CODE_USE_FOUNDRY` también está establecido, esos tienen prioridad sobre Claude Platform on AWS.174`CLAUDE_CODE_USE_ANTHROPIC_AWS` probablemente no esté establecido o esté establecido en un valor que no se analice como verdadero. Establézcalo en `1` y ejecute `/status` para confirmar el proveedor resuelto. Si `CLAUDE_CODE_USE_BEDROCK` o `CLAUDE_CODE_USE_FOUNDRY` también está establecido, esos tienen prioridad sobre Claude Platform on AWS.
335 175
336## Recursos adicionales176<h2 id="additional-resources">
177 Recursos adicionales
178</h2>
337 179
338La suscripción a Claude Platform on AWS, la configuración del espacio de trabajo e IAM que viene antes de configurar Claude Code se cubre en la documentación de la plataforma:180La suscripción a Claude Platform on AWS, la configuración del espacio de trabajo e IAM que viene antes de configurar Claude Code se cubre en la documentación de la plataforma:
339 181