- Avancé
- Multi Provider
Pourquoi utiliser un provider alternatif ?
Par défaut, Claude Code se connecte directement à l'API Anthropic. Dans un contexte enterprise, vous pouvez avoir besoin de :
- Conformité des données : garder les requêtes dans votre région AWS ou GCP
- Facturation centralisée : consolider les coûts sur votre compte cloud
- Contrôle réseau : passer par votre VPC sans trafic public
- Conformité RGPD/SOC2 : utiliser des endpoints certifiés de votre fournisseur cloud
Claude Code supporte nativement AWS Bedrock et Google Vertex AI, et tout proxy compatible avec l'API OpenAI.
AWS Bedrock
Prérequis
- Un compte AWS avec accès à Amazon Bedrock
- Le modèle Claude activé dans votre région (us-east-1, us-west-2, eu-west-1...)
- Les credentials AWS configurés (
aws configureou variables d'environnement)
Activer les modèles Claude dans Bedrock
Avant de configurer Claude Code, activez l'accès aux modèles Claude dans la console AWS :
- Console AWS > Amazon Bedrock > Model access
- Cliquer "Manage model access"
- Activer "Claude 3.5 Sonnet" (ou votre modèle cible)
- Accepter les conditions d'utilisation Anthropic
Configuration dans settings.json
{"apiProvider": "bedrock","awsRegion": "us-east-1"}
Claude Code utilise automatiquement vos credentials AWS standard (dans l'ordre de priorité) :
- Variables d'environnement
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY - Fichier
~/.aws/credentials - IAM Role attaché à l'instance EC2 ou ECS task
Credentials AWS par variable d'environnement
# Configuration temporaire (session courante)export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"export AWS_DEFAULT_REGION="us-east-1"claude
Pour une configuration permanente, ajoutez dans ~/.zshrc ou ~/.bashrc :
export AWS_PROFILE="mon-profil-bedrock"export AWS_DEFAULT_REGION="eu-west-1"
Et dans settings.json :
{"apiProvider": "bedrock","awsRegion": "eu-west-1"}
Avec un rôle IAM assumé (STS)
Pour les organisations utilisant des rôles IAM croisés :
# Assumer un rôle IAM avec accès BedrockCREDS=$(aws sts assume-role \--role-arn "arn:aws:iam::123456789:role/ClaudeCodeBedrock" \--role-session-name "claude-code-session" \--output json)export AWS_ACCESS_KEY_ID=$(echo "$CREDS" | jq -r '.Credentials.AccessKeyId')export AWS_SECRET_ACCESS_KEY=$(echo "$CREDS" | jq -r '.Credentials.SecretAccessKey')export AWS_SESSION_TOKEN=$(echo "$CREDS" | jq -r '.Credentials.SessionToken')claude
Politique IAM minimale requise
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["bedrock:InvokeModel","bedrock:InvokeModelWithResponseStream"],"Resource": ["arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0","arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0"]}]}
Google Vertex AI
Prérequis
- Un projet Google Cloud avec la facturation activée
- L'API Vertex AI activée dans votre projet
- Un compte de service avec le rôle
Vertex AI User gcloudCLI installé et authentifié
Activer l'API Vertex AI
# Via gcloud CLIgcloud services enable aiplatform.googleapis.com --project=MON_PROJET_ID
Configuration dans settings.json
{"apiProvider": "vertex","gcpProjectId": "mon-projet-gcp-12345","gcpRegion": "us-east5"}
Les régions supportant Claude sur Vertex AI incluent us-east5, europe-west4, et d'autres. Consultez la documentation Vertex AI pour la liste à jour.
Authentification Vertex AI
Claude Code utilise l'Application Default Credentials (ADC) de Google Cloud :
# Option 1 : Authentification utilisateur (développement local)gcloud auth application-default login# Option 2 : Compte de service (CI/CD, production)export GOOGLE_APPLICATION_CREDENTIALS="/chemin/vers/service-account.json"# Option 3 : Workload Identity (GKE, Cloud Run)# Configuré automatiquement par la plateforme GCP
Créer un compte de service dédié
# Créer le compte de servicegcloud iam service-accounts create claude-code-sa \--display-name="Claude Code Service Account" \--project=MON_PROJET_ID# Attribuer le rôle minimalgcloud projects add-iam-policy-binding MON_PROJET_ID \--member="serviceAccount:claude-code-sa@MON_PROJET_ID.iam.gserviceaccount.com" \--role="roles/aiplatform.user"# Créer et télécharger la clégcloud iam service-accounts keys create claude-code-key.json \--iam-account=claude-code-sa@MON_PROJET_ID.iam.gserviceaccount.com
Proxy OpenAI-compatible
Claude Code peut se connecter à n'importe quel proxy respectant l'API OpenAI, ce qui permet d'utiliser :
- Un proxy interne d'entreprise qui route vers Anthropic
- Des solutions LLM on-premise qui émulent l'API OpenAI
Configuration dans settings.json :
{"apiProvider": "openai-compatible","customApiUrl": "https://mon-proxy.interne.entreprise.com/v1"}
Avec variable d'environnement pour la clé :
export ANTHROPIC_API_KEY="ma-cle-proxy"export ANTHROPIC_BASE_URL="https://mon-proxy.interne.entreprise.com/v1"
Changer de modèle selon la tâche
L'un des avantages du multi-provider est de pouvoir choisir le modèle selon la complexité de la tâche, pour optimiser coût et performance.
Stratégie de sélection par modèle
| Modèle | Usage recommandé | Avantage |
|---|---|---|
| Claude Haiku | Tâches légères, fréquentes | 3x moins cher, très rapide |
| Claude Sonnet | Développement principal | Meilleur équilibre coût/qualité |
| Claude Opus | Décisions architecturales | Qualité de raisonnement maximale |
Via le flag --model en CLI
# Haiku pour des tâches simples en CI/CDclaude --print --model claude-haiku-4-5 "Génère un commentaire JSDoc pour cette fonction"# Sonnet pour le développement courant (défaut)claude --print --model claude-sonnet-4-6 "Implémente cette feature avec des tests"# Opus pour des décisions complexesclaude --print --model claude-opus-4-6 "Conçois l'architecture de ce système distribué"
Via settings.json (configuration permanente)
{"model": "claude-sonnet-4-6"}
Configuration multi-environnement
Pour les équipes qui veulent utiliser Haiku en CI/CD (économies) et Sonnet en dev :
{"model": "claude-sonnet-4-6","apiProvider": "anthropic"}
Dans GitHub Actions, override le modèle via la variable d'environnement :
- name: Claude Code quick checkenv:ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}CLAUDE_MODEL: "claude-haiku-4-5"run: |claude --print --max-turns 1 "Vérifie rapidement la syntaxe de ce fichier"
Gestion des credentials par provider
Organisation des configurations
Recommandation pour les équipes enterprise :
Configuration personnelle dans ~/.claude/settings.json :
{"apiProvider": "anthropic"}
Configuration projet dans .claude/settings.json (commitable) :
{"model": "claude-sonnet-4-6","apiProvider": "bedrock","awsRegion": "eu-west-1"}
Rotation des credentials
Pour les pipelines CI/CD longue durée, implémentez une rotation régulière :
#!/bin/bash# Script de rotation de clé API (exemple avec AWS Secrets Manager)# Récupérer la nouvelle clé depuis AWS Secrets ManagerNEW_KEY=$(aws secretsmanager get-secret-value \--secret-id "prod/claude-code/api-key" \--query SecretString \--output text | jq -r '.ANTHROPIC_API_KEY')export ANTHROPIC_API_KEY="$NEW_KEY"# Vérifier que la clé est valideif claude --print --max-turns 1 "Dis juste OK" | grep -q "OK"; thenecho "Credential rotation successful"elseecho "ERROR: New credential invalid" >&2exit 1fi
Comparatif des providers
| Provider | Avantages | Contraintes |
|---|---|---|
| Anthropic direct | Simple, dernières fonctionnalités | Trafic hors infrastructure |
| AWS Bedrock | Conformité AWS, facturation AWS | Latence variable |
| Google Vertex AI | Conformité GCP, logs centralisés | Configuration plus complexe |
| Proxy custom | Contrôle total, données internes | Maintenance du proxy |
Prochaines étapes
Vous maîtrisez maintenant les fonctionnalités avancées de Claude Code. Explorez les agents pour orchestrer des workflows complexes, ou consultez la référence technique pour les options de configuration exhaustives.