6 6
7> Configurez Claude Code pour utiliser l'API Claude exploitée par Anthropic avec l'authentification AWS, le contrôle d'accès IAM et la facturation AWS Marketplace.7> Configurez Claude Code pour utiliser l'API Claude exploitée par Anthropic avec l'authentification AWS, le contrôle d'accès IAM et la facturation 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 est l'API Claude exploitée par Anthropic avec l'authentification AWS, le contrôle d'accès IAM et la facturation AWS Marketplace. Les requêtes atteignent directement l'API d'Anthropic, vous bénéficiez donc des mêmes modèles et fonctionnalités que l'[API Claude](https://platform.claude.com/docs) selon le même calendrier de publication. Vous vous authentifiez avec les identifiants AWS ou une clé API d'espace de travail, et vous payez via AWS Marketplace.9Claude Platform on AWS est l'API Claude exploitée par Anthropic avec l'authentification AWS, le contrôle d'accès IAM et la facturation AWS Marketplace. Les requêtes atteignent directement l'API d'Anthropic, vous bénéficiez donc des mêmes modèles et fonctionnalités que l'[API Claude](https://platform.claude.com/docs) selon le même calendrier de publication. Vous vous authentifiez avec les identifiants AWS ou une clé API d'espace de travail, et vous payez via AWS Marketplace.
192 10
193Utilisez ce guide pour pointer Claude Code vers un espace de travail que vous avez déjà provisionné via Claude Platform on AWS. Pour l'abonnement AWS et la configuration de l'espace de travail qui précèdent cela, consultez la [documentation Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).11Utilisez ce guide pour pointer Claude Code vers un espace de travail que vous avez déjà provisionné via Claude Platform on AWS. Pour l'abonnement AWS et la configuration de l'espace de travail qui précèdent cela, consultez la [documentation Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).
196 L'abonnement via AWS Marketplace provisionne une nouvelle organisation Anthropic liée à votre compte AWS. Cette organisation est distincte de toute organisation que vous avez déjà avec Anthropic, et les identifiants ne se transfèrent pas entre elles. Utilisez l'ID d'espace de travail et les clés API de l'organisation liée à AWS, et non d'un compte Claude Console préexistant.14 L'abonnement via AWS Marketplace provisionne une nouvelle organisation Anthropic liée à votre compte AWS. Cette organisation est distincte de toute organisation que vous avez déjà avec Anthropic, et les identifiants ne se transfèrent pas entre elles. Utilisez l'ID d'espace de travail et les clés API de l'organisation liée à AWS, et non d'un compte Claude Console préexistant.
197</Note>15</Note>
198 16
199## Prérequis17<h2 id="prerequisites">
18 Prérequis
19</h2>
200 20
201Avant de configurer Claude Code, vous avez besoin de :21Avant de configurer Claude Code, vous avez besoin de :
202 22
205* Un principal IAM avec la permission d'invoquer le service Anthropic, ou une clé API limitée à l'espace de travail25* Un principal IAM avec la permission d'invoquer le service Anthropic, ou une clé API limitée à l'espace de travail
206* Des identifiants AWS dans votre environnement, dans `~/.aws/credentials`, ou à partir d'un rôle IAM attaché si vous souhaitez l'authentification SigV4. L'AWS CLI n'est requis que pour le flux de connexion SSO.26* Des identifiants AWS dans votre environnement, dans `~/.aws/credentials`, ou à partir d'un rôle IAM attaché si vous souhaitez l'authentification SigV4. L'AWS CLI n'est requis que pour le flux de connexion SSO.
207 27
208## Configuration28<h2 id="setup">
29 Configuration
30</h2>
209 31
210### 1. Configurez les identifiants AWS32<h3 id="1-configure-aws-credentials">
33 1. Configurez les identifiants AWS
34</h3>
211 35
212Claude Code prend en charge deux méthodes d'authentification pour Claude Platform on AWS. Choisissez la méthode qui correspond à la façon dont votre équipe gère l'accès.36Claude Code prend en charge deux méthodes d'authentification pour Claude Platform on AWS. Choisissez la méthode qui correspond à la façon dont votre équipe gère l'accès.
213 37
248 Les commandes `/login` et `/logout` ne modifient pas l'authentification Claude Platform on AWS. L'authentification s'effectue via vos identifiants AWS ou votre clé API d'espace de travail, et non via un abonnement Claude.ai.72 Les commandes `/login` et `/logout` ne modifient pas l'authentification Claude Platform on AWS. L'authentification s'effectue via vos identifiants AWS ou votre clé API d'espace de travail, et non via un abonnement Claude.ai.
249</Note>73</Note>
250 74
251### 2. Configurez Claude Code75<h3 id="2-configure-claude-code">
76 2. Configurez Claude Code
77</h3>
252 78
253Définissez les variables d'environnement qui acheminent Claude Code via Claude Platform on AWS au lieu de l'API Anthropic par défaut.79Définissez les variables d'environnement qui acheminent Claude Code via Claude Platform on AWS au lieu de l'API Anthropic par défaut.
254 80
262 88
263Claude Platform on AWS est optionnel même lorsque des identifiants AWS sont présents dans votre environnement. Bedrock et Foundry prennent la priorité dans l'acheminement des fournisseurs, donc désactivez `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_FOUNDRY` s'ils sont définis.89Claude Platform on AWS est optionnel même lorsque des identifiants AWS sont présents dans votre environnement. Bedrock et Foundry prennent la priorité dans l'acheminement des fournisseurs, donc désactivez `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_FOUNDRY` s'ils sont définis.
264 90
265### 3. Épinglez les versions de modèle91<h3 id="3-pin-model-versions">
92 3. Épinglez les versions de modèle
93</h3>
266 94
267Claude Platform on AWS utilise les mêmes ID de modèle que l'API Claude directe. Les alias par défaut `opus`, `sonnet` et `haiku` se résolvent aux dernières versions disponibles dans votre espace de travail.95Claude Platform on AWS utilise les mêmes ID de modèle que l'API Claude directe. Les alias par défaut `opus`, `sonnet` et `haiku` se résolvent aux dernières versions disponibles dans votre espace de travail.
268 96
276 104
277Pour la liste complète des ID de modèle et des alias, consultez [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour d'autres variables liées aux modèles, consultez [Configuration du modèle](/fr/model-config).105Pour la liste complète des ID de modèle et des alias, consultez [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour d'autres variables liées aux modèles, consultez [Configuration du modèle](/fr/model-config).
278 106
279[La mise en cache des invites](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) est activée automatiquement. Les écritures en cache d'1 heure sont facturées à un taux plus élevé que les écritures de 5 minutes. Pour demander un TTL de cache d'1 heure au lieu de la valeur par défaut de 5 minutes, définissez `ENABLE_PROMPT_CACHING_1H=1`.107[La mise en cache des invites](/fr/prompt-caching) est activée automatiquement. Pour demander un TTL de cache d'1 heure au lieu de la valeur par défaut de 5 minutes, définissez `ENABLE_PROMPT_CACHING_1H=1`. L'API facture les écritures en cache d'1 heure à un taux plus élevé. Consultez [tarification de la mise en cache des invites](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) pour connaître les tarifs.
280 108
281## Utilisez le SDK Agent109<h2 id="use-the-agent-sdk">
110 Utilisez le SDK Agent
111</h2>
282 112
283Le [SDK Agent](/fr/agent-sdk/overview) lit les mêmes variables d'environnement que l'interface de ligne de commande, donc tout programme qui lance le sous-processus Claude Code peut cibler Claude Platform on AWS en exportant `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` et soit `ANTHROPIC_AWS_API_KEY` soit les identifiants AWS avant l'appel.113Le [SDK Agent](/fr/agent-sdk/overview) lit les mêmes variables d'environnement que l'interface de ligne de commande, donc tout programme qui lance le sous-processus Claude Code peut cibler Claude Platform on AWS en exportant `CLAUDE_CODE_USE_ANTHROPIC_AWS`, `ANTHROPIC_AWS_WORKSPACE_ID` et soit `ANTHROPIC_AWS_API_KEY` soit les identifiants AWS avant l'appel.
284 114
296 126
297Cet exemple s'appuie sur la chaîne d'identifiants AWS ambiante pour SigV4. Pour vous authentifier avec une clé API d'espace de travail à la place, définissez `ANTHROPIC_AWS_API_KEY` de la même manière. Pour la surface plus large du SDK Agent, consultez [Aperçu du SDK Agent](/fr/agent-sdk/overview).127Cet exemple s'appuie sur la chaîne d'identifiants AWS ambiante pour SigV4. Pour vous authentifier avec une clé API d'espace de travail à la place, définissez `ANTHROPIC_AWS_API_KEY` de la même manière. Pour la surface plus large du SDK Agent, consultez [Aperçu du SDK Agent](/fr/agent-sdk/overview).
298 128
299## Acheminez via un proxy d'entreprise129<h2 id="route-through-a-corporate-proxy">
130 Acheminez via un proxy d'entreprise
131</h2>
300 132
301Pour acheminer le trafic via un proxy ou une [passerelle LLM](/fr/llm-gateway), définissez `ANTHROPIC_AWS_BASE_URL` sur l'adresse du proxy. Claude Code envoie les requêtes à cette URL avec les mêmes en-têtes d'espace de travail et d'authentification, donc toute passerelle qui les transfère inchangés fonctionne.133Pour acheminer le trafic via un proxy ou une [passerelle LLM](/fr/llm-gateway), définissez `ANTHROPIC_AWS_BASE_URL` sur l'adresse du proxy. Claude Code envoie les requêtes à cette URL avec les mêmes en-têtes d'espace de travail et d'authentification, donc toute passerelle qui les transfère inchangés fonctionne.
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## Dépannage150<h2 id="troubleshooting">
151 Dépannage
152</h2>
319 153
320Exécutez `/status` pour voir le fournisseur résolu et tout ID d'espace de travail explicitement configuré, région, remplacement d'URL de base et paramètre d'authentification ignorée. C'est le moyen le plus rapide de confirmer que Claude Code cible Claude Platform on AWS.154Exécutez `/status` pour voir le fournisseur résolu et tout ID d'espace de travail explicitement configuré, région, remplacement d'URL de base et paramètre d'authentification ignorée. C'est le moyen le plus rapide de confirmer que Claude Code cible Claude Platform on AWS.
321 155
322### `403 Forbidden` ou `AccessDenied` à chaque requête156<h3 id="403-forbidden-or-accessdenied-on-every-request">
157 `403 Forbidden` ou `AccessDenied` à chaque requête
158</h3>
323 159
324Le principal IAM que Claude Code a résolu manque probablement de la permission d'invoquer le service Anthropic dans votre espace de travail. Vérifiez le rôle attaché à votre profil AWS ou au runner qui a démarré Claude Code, et vérifiez qu'il dispose des actions `aws-external-anthropic` documentées dans la [référence des actions IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).160Le principal IAM que Claude Code a résolu manque probablement de la permission d'invoquer le service Anthropic dans votre espace de travail. Vérifiez le rôle attaché à votre profil AWS ou au runner qui a démarré Claude Code, et vérifiez qu'il dispose des actions `aws-external-anthropic` documentées dans la [référence des actions IAM](https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions).
325 161
326Si vous avez défini `ANTHROPIC_AWS_API_KEY`, la clé prend la priorité sur SigV4 et une clé obsolète produit la même erreur. Régénérez la clé dans la console AWS sous **Claude Platform on AWS → API keys** ou désactivez la variable pour revenir à vos identifiants AWS.162Si vous avez défini `ANTHROPIC_AWS_API_KEY`, la clé prend la priorité sur SigV4 et une clé obsolète produit la même erreur. Régénérez la clé dans la console AWS sous **Claude Platform on AWS → API keys** ou désactivez la variable pour revenir à vos identifiants AWS.
327 163
328### Les requêtes échouent avec une erreur d'espace de travail manquant164<h3 id="requests-fail-with-a-missing-workspace-error">
165 Les requêtes échouent avec une erreur d'espace de travail manquant
166</h3>
329 167
330`ANTHROPIC_AWS_WORKSPACE_ID` est probablement non défini ou vide. Chaque requête Claude Platform on AWS doit inclure l'ID d'espace de travail. Il n'est pas implicite par vos identifiants AWS. Trouvez l'ID sous **Workspaces** sur la page du service de la console AWS et exportez-le avant de démarrer Claude Code.168`ANTHROPIC_AWS_WORKSPACE_ID` est probablement non défini ou vide. Chaque requête Claude Platform on AWS doit inclure l'ID d'espace de travail. Il n'est pas implicite par vos identifiants AWS. Trouvez l'ID sous **Workspaces** sur la page du service de la console AWS et exportez-le avant de démarrer Claude Code.
331 169
332### Les requêtes vont toujours à `api.anthropic.com`170<h3 id="requests-still-go-to-api-anthropic-com">
171 Les requêtes vont toujours à `api.anthropic.com`
172</h3>
333 173
334`CLAUDE_CODE_USE_ANTHROPIC_AWS` est probablement non défini ou défini sur une valeur qui ne s'analyse pas comme vraie. Définissez-le sur `1` et exécutez `/status` pour confirmer le fournisseur résolu. Si `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_FOUNDRY` est également défini, ceux-ci prennent la priorité sur Claude Platform on AWS.174`CLAUDE_CODE_USE_ANTHROPIC_AWS` est probablement non défini ou défini sur une valeur qui ne s'analyse pas comme vraie. Définissez-le sur `1` et exécutez `/status` pour confirmer le fournisseur résolu. Si `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_FOUNDRY` est également défini, ceux-ci prennent la priorité sur Claude Platform on AWS.
335 175
336## Ressources supplémentaires176<h2 id="additional-resources">
177 Ressources supplémentaires
178</h2>
337 179
338L'abonnement Claude Platform on AWS, la configuration de l'espace de travail et d'IAM qui précèdent la configuration de Claude Code sont couverts dans la documentation de la plateforme :180L'abonnement Claude Platform on AWS, la configuration de l'espace de travail et d'IAM qui précèdent la configuration de Claude Code sont couverts dans la documentation de la plateforme :
339 181