llm-integration.eu

Claude Code Bedrock : configuration UE et RGPD 2026

Configurer Claude Code avec Amazon Bedrock pour garder les prompts dans l'UE : variables d'environnement, profils eu., politique IAM, SSO, settings.json, coûts.

Mis à jour 11 min de lectureFaits vérifiés le 19 septembre 2026

TL;DR

Pour faire tourner Claude Code sur Bedrock avec un hébergement des données dans l’UE, définissez CLAUDE_CODE_USE_BEDROCK=1, une région d’un État membre comme eu-west-3 (Paris), et épinglez chaque alias de modèle sur un profil d’inférence eu.. Bloquez ensuite le routage global dans IAM. Sans cela, Claude Code peut basculer en silence vers us-east-1 ou un profil global..

De quoi Claude Code a-t-il besoin pour parler à Amazon Bedrock ?

Trois éléments : l’interrupteur CLAUDE_CODE_USE_BEDROCK=1, des identifiants AWS valides issus de la chaîne standard du SDK, et une région. Aucune clé API Claude n’est nécessaire sur cette voie. D’après la documentation Bedrock de Claude Code, l’outil lit AWS_REGION, puis AWS_DEFAULT_REGION, puis le profil AWS. Si rien n’est défini, il prend us-east-1. Si Bedrock est nouveau pour votre équipe, notre guide Amazon Bedrock présente la plateforme et ses profils UE.

Ce repli est le premier piège pour une équipe soumise au RGPD. Un développeur sans région dans son shell ni dans son profil envoie chaque prompt en Virginie, sans le moindre avertissement. Lancez /status dans Claude Code : la commande affiche la région réellement utilisée et précise si elle vient d’un fichier de configuration ou de la valeur par défaut.

Le minimum pour un poste individuel :

export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=eu-west-3
export AWS_PROFILE=claude-code-eu
aws sso login --profile claude-code-eu
claude

Vous pouvez aussi vous passer des exports. Lancez claude, choisissez 3rd-party platform puis Amazon Bedrock à l’écran de connexion, ou exécutez /setup-bedrock plus tard. L’assistant détecte les profils dans ~/.aws, demande la région, vérifie quels modèles Claude votre compte peut appeler et écrit le tout dans le bloc env de ~/.claude/settings.json. Pour un seul poste, c’est le chemin le plus court. Pour une équipe, imposez la configuration vous-même : les choix faits dans l’assistant restent individuels et personne ne les relit.

Avant le premier appel, quelqu’un doit remplir une fois par compte AWS le formulaire de cas d’usage Anthropic dans la console Bedrock. Avec AWS Organizations, le compte de gestion peut le faire une seule fois via l’API PutUseCaseForModelAccess, et les comptes enfants héritent de l’autorisation.

Quelles variables d’environnement fixent Claude Code sur les profils UE ?

Épinglez les trois alias avec ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL et ANTHROPIC_DEFAULT_HAIKU_MODEL, chacun sur un identifiant de profil eu.. La documentation d’Anthropic prévient que les alias non épinglés pointent vers des valeurs par défaut qui changent avec les versions de Claude Code. Pour la résidence des données, l’épinglage n’a rien d’optionnel.

Claude Code déduit bien le préfixe eu. de toute région eu-*, et ANTHROPIC_BEDROCK_REGION_PREFIX=eu (version 2.1.224 ou ultérieure) le force explicitement. Mais la documentation est claire : ce préfixe est “a preference, not a guarantee”. Si Claude Code ne trouve aucun profil avec votre préfixe pour un modèle, il prend n’importe quel profil correspondant, y compris un profil global. qui route dans le monde entier.

Deux autres valeurs par défaut comptent. Sans épinglage, le modèle principal sur Bedrock est Opus 5 et les tâches de fond, comme les titres de session, tournent sur Sonnet 4.5. Nous n’avons pas pu confirmer l’existence d’un profil UE pour ce Sonnet 4.5 : épinglez autre chose.

Variable Valeur UE recommandée Effet
CLAUDE_CODE_USE_BEDROCK 1 Envoie Claude Code vers Bedrock au lieu de l’API Anthropic
AWS_REGION eu-west-3 (ou eu-central-1, eu-north-1) Région source ; évitez eu-west-2 Londres et eu-central-2 Zurich
ANTHROPIC_BEDROCK_REGION_PREFIX eu Préfixe préféré pour les modèles non épinglés
ANTHROPIC_DEFAULT_OPUS_MODEL eu.anthropic.claude-opus-5 Cible de l’alias opus
ANTHROPIC_DEFAULT_SONNET_MODEL eu.anthropic.claude-sonnet-5 Cible de l’alias sonnet
ANTHROPIC_DEFAULT_HAIKU_MODEL eu.anthropic.claude-haiku-4-5-20251001-v1:0 Tâches de fond et alias haiku
ANTHROPIC_MODEL eu.anthropic.claude-sonnet-5 Modèle principal de la session
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 Coupe les enquêtes et autres appels non essentiels

Les identifiants viennent des fiches modèles AWS. La fiche de Sonnet 5 indique que le profil géographique EU “keeps data within EU regions”. Pourquoi éviter Londres et Zurich comme régions sources ? Pour Haiku 4.5, AWS documente qu’un appel du profil EU depuis ces régions ajoute Londres ou Zurich aux destinations, deux pays hors UE. Le détail du routage figure dans notre guide Claude sur AWS Bedrock en Europe.

Un dernier modèle à surveiller : Fable 5.1. L’alias fable pointe vers Fable 5.1 tant que vous ne définissez pas ANTHROPIC_DEFAULT_FABLE_MODEL, et Fable 5.1 n’a pas de profil UE sur Bedrock. Laissez-le hors de la liste autorisée de la section suivante.

Comment déployer un settings.json unique pour toute l’équipe ?

Placez la configuration dans un fichier de paramètres gérés plutôt que dans le shell de chaque développeur. Claude Code lit managed-settings.json dans /Library/Application Support/ClaudeCode/ sur macOS, /etc/claude-code/ sur Linux et WSL, et C:\Program Files\ClaudeCode\ sur Windows. Aucun utilisateur ne peut écraser ces clés, ce qu’exige un engagement de résidence envers votre DPO.

Les paramètres gérés côté serveur depuis la console d’administration claude.ai n’atteignent pas les sessions Bedrock ou Google Cloud. Sur Bedrock, distribuez donc ce fichier par MDM ou par votre outil de gestion de configuration. Exemple fonctionnel :

{
  "awsAuthRefresh": "aws sso login --profile claude-code-eu",
  "model": "sonnet",
  "availableModels": ["sonnet", "opus", "haiku"],
  "enforceAvailableModels": true,
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_REGION": "eu-west-3",
    "AWS_PROFILE": "claude-code-eu",
    "ANTHROPIC_BEDROCK_REGION_PREFIX": "eu",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "eu.anthropic.claude-opus-5",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "eu.anthropic.claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "eu.anthropic.claude-haiku-4-5-20251001-v1:0",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

Le rôle de chaque bloc :

  1. awsAuthRefresh relance aws sso login dès que Claude Code détecte des identifiants expirés, ce qui évite aux utilisateurs d’IAM Identity Center des erreurs d’identifiants obscures à l’expiration de leur session SSO. Derrière un proxy à inspection TLS qui casse le flux navigateur, supprimez cette clé et faites lancer aws sso login à la main.
  2. model démarre chaque session sur Sonnet 5 au lieu d’Opus 5, le défaut. C’est le principal levier de coût.
  3. availableModels avec enforceAvailableModels: true (version 2.1.175 ou ultérieure) limite /model aux trois alias épinglés. fable n’y figure pas : personne ne peut choisir un modèle sans profil UE.
  4. Le bloc env porte l’épinglage de la section précédente. Un nom de profil commun ne fonctionne que si votre configuration SSO utilise le même nom sur chaque poste, distribuez donc aussi ~/.aws/config.

Sur Bedrock, les métriques, rapports d’erreur et envois /feedback sont désactivés par défaut, selon la page sur l’usage des données de Claude Code. Deux éléments tournent malgré tout : les enquêtes de satisfaction, que coupe la variable sur le trafic non essentiel, et la vérification de domaine de WebFetch, qui envoie uniquement le nom d’hôte à api.anthropic.com. Ajoutez skipWebFetchPreflight: true si même les noms d’hôte ne doivent pas sortir. Côté poste de travail, Claude Code conserve les transcriptions en clair sous ~/.claude/projects/ pendant 30 jours.

Quelle politique IAM garde Claude Code sur les profils UE ?

Donnez au rôle développeur le droit d’appel uniquement sur les profils d’inférence eu., n’autorisez les modèles de fondation sous-jacents qu’à travers ces profils, et ajoutez un refus explicite du routage global. Ce refus s’appuie sur la condition aws:RequestedRegion égale à unspecified, que la documentation AWS sur les profils d’inférence décrit précisément pour bloquer l’inférence globale.

La documentation de Claude Code propose une politique large, avec des jokers sur toutes les régions. Elle fonctionne, mais autorise aussi les profils global. et us.. Cette version resserrée garde les quatre actions dont Claude Code a besoin et ferme les portes dérobées :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "InvokeEuProfilesOnly",
      "Effect": "Allow",
      "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
      "Resource": "arn:aws:bedrock:eu-west-3:*:inference-profile/eu.anthropic.*"
    },
    {
      "Sid": "FoundationModelsBehindEuProfiles",
      "Effect": "Allow",
      "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
      "Resource": "arn:aws:bedrock:*::foundation-model/anthropic.claude-*",
      "Condition": {
        "StringLike": {
          "bedrock:InferenceProfileArn": "arn:aws:bedrock:eu-west-3:*:inference-profile/eu.anthropic.*"
        }
      }
    },
    {
      "Sid": "ProfileDiscovery",
      "Effect": "Allow",
      "Action": ["bedrock:ListInferenceProfiles", "bedrock:GetInferenceProfile"],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*"
      ]
    },
    {
      "Sid": "MarketplaceViaBedrock",
      "Effect": "Allow",
      "Action": ["aws-marketplace:ViewSubscriptions", "aws-marketplace:Subscribe"],
      "Resource": "*",
      "Condition": { "StringEquals": { "aws:CalledViaLast": "bedrock.amazonaws.com" } }
    },
    {
      "Sid": "DenyGlobalRouting",
      "Effect": "Deny",
      "Action": "bedrock:InvokeModel*",
      "Resource": "*",
      "Condition": { "StringEquals": { "aws:RequestedRegion": "unspecified" } }
    }
  ]
}

Remplacez eu-west-3 par votre région source. L’instruction sur les modèles de fondation utilise volontairement un joker de région : un profil EU répartit les requêtes sur plusieurs régions de l’UE, et AWS exige que le modèle soit autorisé dans chaque région de destination. La condition sur InferenceProfileArn rend ce joker inoffensif. Si vous utilisez des SCP, elles doivent autoriser toutes les régions de destination UE, sinon les requêtes échouent. Pour prouver où les requêtes ont été traitées, consultez CloudTrail : chaque appel porte le champ additionalEventData.inferenceRegion, journalisé dans la région source.

Combien coûte Claude Code sur Bedrock, et comment plafonner la dépense ?

Anthropic indique qu’en entreprise, Claude Code coûte en moyenne environ 13 USD par développeur et par jour actif, soit 150 à 250 USD par mois, 90 % des utilisateurs restant sous 30 USD par jour actif. Sur Bedrock, vous payez au token et le profil UE coûte 10 % de plus que le profil global. Notre comparatif du prix de l’API Claude en Europe détaille ces tarifs par plateforme, et notre page tarifs Claude 2026 couvre Claude Code dans les abonnements. Le vrai levier : le modèle par défaut.

Modèle Profil géographique EU (entrée / sortie par million de tokens) Profil global (entrée / sortie par million de tokens)
Claude Opus 5 5,50 / 27,50 USD 5 / 25 USD
Claude Sonnet 5 2,20 / 11 USD 2 / 10 USD
Claude Haiku 4.5 1,10 / 5,50 USD 1 / 5 USD

Tarifs issus de la page de prix Amazon Bedrock, sélecteur Francfort, relevés le 18 septembre 2026. Au token, Opus 5 coûte 2,5 fois Sonnet 5. La documentation de Claude Code prévient qu’un déploiement sans modèle principal épinglé est facturé au tarif Opus à partir de la version 2.1.207. Cela peut dépasser à lui seul tous les surcoûts UE réunis.

Les leviers qui fonctionnent sur Bedrock :

  1. Sonnet 5 par défaut via model dans les paramètres gérés ; opus reste un choix délibéré.
  2. Un compte AWS dédié à Claude Code, comme le recommande la documentation, pour que Cost Explorer et vos alertes budgétaires ne montrent que la dépense de développement.
  3. Une attribution par utilisateur via un export OpenTelemetry ou une passerelle. Les tableaux de bord d’Anthropic ne voient pas du tout le trafic Bedrock.
  4. Le cache de prompts activé. Il l’est par défaut ; DISABLE_PROMPT_CACHING=1 existe mais alourdit la facture.
  5. Les niveaux de service à tester. ANTHROPIC_BEDROCK_SERVICE_TIER accepte default, flex ou priority, mais la disponibilité varie selon le modèle et la région.

Google Cloud ou Claude Enterprise : quand Bedrock est-il le mauvais choix ?

Bedrock convient aux équipes déjà sur AWS. Sur Google Cloud, l’équivalent est CLAUDE_CODE_USE_VERTEX=1 avec CLOUD_ML_REGION=eu, qui cible le point de terminaison multirégional UE. La formule Claude Entreprise, plus simple à exploiter, n’offre pas de traitement limité à l’UE dans les options publiées par Anthropic. Choisissez selon l’endroit où se trouvent déjà votre contrat cloud et vos exigences RGPD.

La configuration Google, avec la même logique d’épinglage :

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=eu
export ANTHROPIC_VERTEX_PROJECT_ID=votre-projet
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

Même piège de repli ici : si CLOUD_ML_REGION manque ou est mal formée, Claude Code utilise us-east5. Le rôle développeur a besoin de roles/aiplatform.user. La contrainte d’organisation constraints/gcp.restrictEndpointUsage peut bloquer entièrement le point de terminaison global. La multirégion UE de Google couvre uniquement les États membres et facture Sonnet 5 au même tarif de 2,20 / 11 USD que le profil EU de Bedrock. Tous les détails dans notre guide Claude sur Vertex AI en Europe.

Option Traitement limité à l’UE Facturation Pour qui
Claude Code sur Bedrock (profils eu.) Oui, profil géographique EU Au token via AWS Équipes AWS avec clause de résidence
Claude Code sur Google Cloud (eu) Oui, multirégion UE Au token via GCP Équipes GCP
Claude Enterprise Non proposé dans les options publiées 20 USD par siège et par mois plus tarifs API, annuel Équipes qui veulent aussi Claude sur le web

Claude Enterprise apporte SSO, capture de domaine, politiques gérées et Claude sur le web, ce que Bedrock ne fournit pas. Les contrôles de résidence de l’API Anthropic ne proposent aujourd’hui que global et us pour l’inférence. Le volet contractuel, sous-traitant compris, est traité dans notre comparatif d’hébergement RGPD pour Claude. La même voie Bedrock vaut pour l’agent de bureau, comme le montre notre guide Claude Cowork en entreprise.

FAQ

Quelles variables d’environnement Claude Code exige-t-il pour Bedrock ?

Au minimum CLAUDE_CODE_USE_BEDROCK=1 et des identifiants AWS, par exemple via AWS_PROFILE. Définissez AWS_REGION sur une région d’un État membre, sinon Claude Code se rabat sur us-east-1. Pour la résidence UE, épinglez aussi ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL et ANTHROPIC_DEFAULT_HAIKU_MODEL sur des profils eu..

Combien coûte Claude Code sur Bedrock par développeur ?

Anthropic annonce une moyenne en entreprise d’environ 13 USD par jour actif et 150 à 250 USD par mois. Sur le profil EU de Bedrock, Sonnet 5 coûte 2,20 USD en entrée et 11 USD en sortie par million de tokens, Opus 5 5,50 et 27,50 USD. Passer Sonnet 5 par défaut pèse plus que le surcoût UE de 10 %.

Claude Code sur Bedrock ou Claude Enterprise : lequel pour des données UE ?

Pour un traitement limité à l’UE, Bedrock avec les profils eu. ou Google Cloud avec la multirégion eu. Claude Enterprise coûte 20 USD par siège et par mois plus les tarifs API et inclut Claude sur le web, mais les zones d’inférence publiées par Anthropic se limitent à global et us.

Anthropic voit-il mon code quand Claude Code passe par Bedrock ?

Les prompts partent vers AWS, pas vers Anthropic. AWS précise que les fournisseurs de modèles n’ont pas accès aux journaux, prompts ou réponses Bedrock, et Claude Code désactive par défaut métriques, rapports d’erreur et envois /feedback sur Bedrock. La vérification WebFetch envoie toutefois les noms d’hôte à api.anthropic.com, sauf avec skipWebFetchPreflight: true.

Claude Code fonctionne-t-il avec AWS SSO ?

Oui. Lancez aws sso login --profile votre-profil, définissez AWS_PROFILE et ajoutez awsAuthRefresh aux paramètres pour que Claude Code relance la connexion quand les identifiants expirent. Derrière un proxy à inspection TLS, cela peut tourner en boucle : supprimez alors awsAuthRefresh et connectez-vous à la main.

Peut-on utiliser Claude Fable 5.1 dans Claude Code avec résidence UE sur Bedrock ?

Non. Fable 5.1 n’a pas de profil d’inférence UE sur Bedrock ; en Europe, il n’est accessible que par le point de terminaison global. Retirez fable de availableModels pour que personne ne puisse le sélectionner.

Sources

  1. Documentation Claude Code : Claude Code on Amazon Bedrock (19 septembre 2026)
  2. Documentation Claude Code : Claude Code on Google Cloud's Agent Platform (19 septembre 2026)
  3. Documentation Claude Code : Enterprise deployment overview (19 septembre 2026)
  4. Documentation Claude Code : Data usage (19 septembre 2026)
  5. Documentation Claude Code : Model configuration (19 septembre 2026)
  6. Documentation Claude Code : Managed settings (19 septembre 2026)
  7. Documentation Claude Code : Manage costs effectively (19 septembre 2026)
  8. Documentation AWS Bedrock : prérequis des profils d'inférence (IAM) (19 septembre 2026)
  9. Documentation AWS Bedrock : fiche modèle Claude Sonnet 5 (18 septembre 2026)
  10. Documentation AWS Bedrock : inférence interrégionale (18 septembre 2026)
  11. Tarifs Amazon Bedrock (18 septembre 2026)
  12. Tarifs Claude (offres Team et Enterprise) (19 septembre 2026)

Guides associés