llm-integration.eu

Claude Code Bedrock: EU-Setup DSGVO-konform 2026

Claude Code mit Amazon Bedrock so einrichten, dass Prompts in der EU bleiben: Umgebungsvariablen, eu.-Profile, IAM-Policy, SSO, Team-settings.json, Kosten.

Aktualisiert 10 Min. LesezeitFakten geprüft am 19. September 2026

TL;DR

Damit Claude Code über Bedrock DSGVO-tauglich in der EU läuft, setzen Sie CLAUDE_CODE_USE_BEDROCK=1, eine Region in einem EU-Mitgliedstaat wie eu-central-1 (Frankfurt) und pinnen jedes Modell-Alias auf ein eu.-Inference-Profile. Zusätzlich sperren Sie globales Routing per IAM. Ohne diese Schritte landet Claude Code im Zweifel stillschweigend in us-east-1 oder auf einem global.-Profil.

Was braucht Claude Code, um mit Amazon Bedrock zu sprechen?

Drei Dinge: den Schalter CLAUDE_CODE_USE_BEDROCK=1, gültige AWS-Credentials aus der Standard-Credential-Chain des AWS SDK und eine Region. Laut Bedrock-Doku von Claude Code liest das Tool zuerst AWS_REGION, dann AWS_DEFAULT_REGION, dann das AWS-Profil. Ist nirgends etwas gesetzt, gilt us-east-1, also eine US-Region. Die Region entscheidet damit direkt über den Ort der Verarbeitung. Ist Bedrock für Ihr Team neu, erklärt unser Artikel Amazon Bedrock erklärt die Plattform und ihre EU-Profile. Einen Anthropic-Schlüssel brauchen Sie auf diesem Weg nicht; wann sich ein direkter Zugang trotzdem lohnt, zeigt unsere Anleitung Claude API Key erstellen.

Genau dieser Fallback ist die erste Falle für deutsche Teams. Wer weder in der Shell noch im Profil eine Region hinterlegt hat, schickt jeden Prompt nach Virginia, und keine Meldung weist darauf hin. Prüfen Sie deshalb in Claude Code mit /status, welche Region tatsächlich greift. Stammt sie aus einer Konfigurationsdatei oder dem Default, zeigt /status das mit an.

Das Minimum für einen einzelnen Entwickler:

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

Alternativ starten Sie claude, wählen im Login-Dialog 3rd-party platform und dann Amazon Bedrock, oder rufen später /setup-bedrock auf. Der Assistent erkennt Profile in ~/.aws, fragt die Region ab, prüft, welche Claude-Modelle Ihr Konto aufrufen darf, und schreibt alles in den env-Block von ~/.claude/settings.json. Für einen einzelnen Laptop ist das der schnellste Weg. Im Team sollten Sie die Konfiguration selbst vorgeben, denn die Entscheidungen im Assistenten trifft jeder Nutzer für sich, und niemand prüft sie.

Vor dem ersten Aufruf muss jemand einmal pro AWS-Konto das Use-Case-Formular für Anthropic in der Bedrock-Konsole ausfüllen. Mit AWS Organizations geht das zentral über die API PutUseCaseForModelAccess im Management-Konto, die Freigabe gilt dann für alle Unterkonten.

Welche Umgebungsvariablen binden Claude Code an EU-Profile?

Pinnen Sie alle drei Aliase mit ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL und ANTHROPIC_DEFAULT_HAIKU_MODEL auf je eine eu.-Profil-ID. Anthropic warnt selbst, dass ungepinnte Aliase auf eingebaute Defaults zeigen, die sich mit jedem Claude-Code-Release ändern können. Für EU-Datenresidenz ist Pinning Pflicht: Nur so steht das Profil verbindlich fest.

Zwar leitet Claude Code aus jeder eu-*-Region das Präfix eu. ab, und ANTHROPIC_BEDROCK_REGION_PREFIX=eu (ab Version 2.1.224) setzt es ausdrücklich. Die Doku formuliert aber unmissverständlich, das Präfix sei “a preference, not a guarantee”. Findet Claude Code für ein Modell kein Profil mit Ihrem Präfix, nimmt es irgendein passendes Profil, im Zweifel ein global.-Profil mit weltweitem Routing.

Zwei weitere Defaults sind relevant: Ohne Pinning ist das Hauptmodell auf Bedrock Opus 5, Hintergrundaufgaben wie Sitzungstitel laufen auf Sonnet 4.5. Ein EU-Profil für diesen Sonnet-4.5-Default konnten wir nicht verifizieren, also pinnen Sie ihn weg.

Variable Empfohlener EU-Wert Wirkung
CLAUDE_CODE_USE_BEDROCK 1 Leitet Claude Code auf Bedrock statt auf die Anthropic-API
AWS_REGION eu-central-1 (oder eu-west-3, eu-north-1) Quellregion, nicht eu-west-2 London oder eu-central-2 Zürich
ANTHROPIC_BEDROCK_REGION_PREFIX eu Bevorzugtes Präfix für nicht gepinnte Modelle
ANTHROPIC_DEFAULT_OPUS_MODEL eu.anthropic.claude-opus-5 Ziel des Alias opus
ANTHROPIC_DEFAULT_SONNET_MODEL eu.anthropic.claude-sonnet-5 Ziel des Alias sonnet
ANTHROPIC_DEFAULT_HAIKU_MODEL eu.anthropic.claude-haiku-4-5-20251001-v1:0 Hintergrundaufgaben und Alias haiku
ANTHROPIC_MODEL eu.anthropic.claude-sonnet-5 Hauptmodell der Sitzung
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 1 Schaltet Umfragen und weitere nicht nötige Verbindungen ab

Die Profil-IDs stammen aus den AWS-Model-Cards. Die Model Card für Sonnet 5 sagt zum EU-Geo-Profil wörtlich: “Keeps data within EU regions.” Warum nicht London oder Zürich als Quellregion? Für Haiku 4.5 dokumentiert AWS, dass das EU-Profil von dort aufgerufen London beziehungsweise Zürich als Ziel ergänzt, und beide liegen außerhalb der EU. Die Details zum Routing aus dem Rechenzentrum Frankfurt stehen in unserem Leitfaden zu Claude auf AWS Bedrock Frankfurt.

Ein weiteres Modell verdient Aufmerksamkeit: Fable 5.1. Der Alias fable zeigt auf Fable 5.1, solange Sie ANTHROPIC_DEFAULT_FABLE_MODEL nicht setzen, und für Fable 5.1 gibt es auf Bedrock kein EU-Profil. Lassen Sie das Modell deshalb in der Allowlist im nächsten Abschnitt weg.

Wie verteilen Sie eine settings.json an das ganze Team?

Legen Sie die Konfiguration in eine Managed-Settings-Datei statt in die Shell jedes Entwicklers. Claude Code liest managed-settings.json unter macOS aus /Library/Application Support/ClaudeCode/, unter Linux und WSL aus /etc/claude-code/ und unter Windows aus C:\Program Files\ClaudeCode\. Nutzer können diese Werte nicht überschreiben, und genau das braucht eine Zusage zur Datenresidenz im AVV-Umfeld.

Server-Managed-Settings aus der claude.ai-Admin-Konsole erreichen Sitzungen auf Bedrock oder Google Cloud nicht. Auf Bedrock verteilen Sie die Datei also per MDM oder Konfigurationsmanagement. Ein funktionierendes Beispiel:

{
  "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-central-1",
    "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"
  }
}

Was die einzelnen Blöcke bewirken:

  1. awsAuthRefresh startet aws sso login, sobald Claude Code abgelaufene Credentials erkennt. Nutzer von IAM Identity Center sehen so nach Ablauf der SSO-Sitzung keine rätselhaften Credential-Fehler. Hinter einem TLS-inspizierenden Proxy, der den Browser-Flow bricht, entfernen Sie den Eintrag und lassen aws sso login manuell laufen.
  2. model startet jede Sitzung auf Sonnet 5 statt auf dem Default Opus 5. Das ist der größte einzelne Kostenhebel.
  3. availableModels mit enforceAvailableModels: true (ab Version 2.1.175) beschränkt /model auf die drei gepinnten Aliase. fable fehlt in der Liste, also kann niemand ein Modell ohne EU-Profil wählen.
  4. Der env-Block enthält das Pinning aus dem vorigen Abschnitt. Ein gemeinsamer Profilname funktioniert nur, wenn Ihre SSO-Konfiguration auf jedem Rechner denselben Namen verwendet. Verteilen Sie ~/.aws/config also mit.

Auf Bedrock sind Metriken, Fehlerberichte und /feedback-Uploads laut Datennutzungsseite von Claude Code standardmäßig aus. Zwei Dinge laufen trotzdem: Zufriedenheitsumfragen, die das Flag für nicht nötigen Traffic abschaltet, und der Domain-Check von WebFetch, der nur den Hostnamen an api.anthropic.com schickt. Mit skipWebFetchPreflight: true unterbinden Sie auch das. Denken Sie außerdem an den Datenschutz auf dem Endgerät: Claude Code speichert Transkripte 30 Tage lang im Klartext unter ~/.claude/projects/.

Welche IAM-Policy hält Claude Code auf EU-Profilen?

Geben Sie der Entwicklerrolle Aufrufrechte nur auf eu.-Inference-Profiles, erlauben Sie die dahinterliegenden Foundation Models nur beim Aufruf über diese Profile und ergänzen Sie ein explizites Deny für globales Routing. Das Deny nutzt die Bedingung aws:RequestedRegion gleich unspecified, die AWS in der Doku zu Inference Profiles genau dafür beschreibt.

Die Claude-Code-Doku liefert eine breite Policy mit Wildcards auf allen Regionen. Die funktioniert, erlaubt aber auch global.- und us.-Profile. Diese engere Variante behält die vier Aktionen, die Claude Code braucht, und schließt die Hintertüren:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "InvokeEuProfilesOnly",
      "Effect": "Allow",
      "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
      "Resource": "arn:aws:bedrock:eu-central-1:*: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-central-1:*: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" } }
    }
  ]
}

Ersetzen Sie eu-central-1 durch Ihre Quellregion. Die Foundation-Model-Anweisung nutzt bewusst eine Regions-Wildcard: Ein EU-Profil verteilt auf mehrere EU-Regionen, und AWS verlangt, dass das Modell in jeder Zielregion erlaubt ist. Die Bedingung auf InferenceProfileArn macht die Wildcard unschädlich. Setzen Sie Service Control Policies ein, müssen diese alle EU-Zielregionen erlauben, sonst schlagen Anfragen fehl. Für den Nachweis gegenüber Datenschutz oder Revision: CloudTrail protokolliert in der Quellregion pro Aufruf das Feld additionalEventData.inferenceRegion.

Was kostet Claude Code auf Bedrock, und wie deckeln Sie das?

Anthropic nennt für Claude Code in Unternehmen rund 13 USD pro Entwickler und aktivem Tag sowie 150 bis 250 USD pro Entwickler und Monat, 90 % der Nutzer bleiben unter 30 USD pro aktivem Tag. Auf Bedrock zahlen Sie pro Token, das EU-Profil kostet 10 % mehr als das globale. Der größte Hebel ist aber das Standardmodell, nicht die Region. Was Claude Code in den Abo-Plänen kostet, steht in unserer Übersicht Claude Kosten 2026. Die Token-Preise aller Modelle und Plattformen vergleicht unser Artikel Claude API Kosten in der EU.

Modell EU-Geo-Profil (Input / Output pro 1 Mio. Tokens) Globales Profil (Input / Output pro 1 Mio. 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

Preise laut Amazon-Bedrock-Preisseite, Auswahl Frankfurt, Stand 18. September 2026. Opus 5 kostet pro Token das 2,5-Fache von Sonnet 5. Die Claude-Code-Doku warnt ausdrücklich: Eine Installation ohne gepinntes Hauptmodell wird ab Version 2.1.207 zum Opus-Tarif abgerechnet. Das kann mehr kosten als alle EU-Aufschläge zusammen.

Stellschrauben, die auf Bedrock funktionieren:

  1. Sonnet 5 als Standard über model in den Managed Settings, opus wählen Entwickler bewusst.
  2. Eigenes AWS-Konto für Claude Code, wie es die Doku empfiehlt. Cost Explorer und Budget-Alarme zeigen dann nur Coding-Ausgaben.
  3. Kosten pro Person zuordnen per OpenTelemetry-Export oder Gateway. Die Nutzungs-Dashboards von Anthropic sehen Bedrock-Traffic überhaupt nicht.
  4. Prompt Caching aktiv lassen. Es ist standardmäßig an, DISABLE_PROMPT_CACHING=1 existiert, erhöht aber die Rechnung.
  5. Service Tiers testen. ANTHROPIC_BEDROCK_SERVICE_TIER akzeptiert default, flex oder priority, die Verfügbarkeit hängt aber von Modell und Region ab.

Google Cloud oder Claude Enterprise: Wann ist Bedrock die falsche Wahl?

Bedrock passt, wenn Ihr Team ohnehin auf AWS arbeitet. Auf Google Cloud ist das Gegenstück CLAUDE_CODE_USE_VERTEX=1 mit CLOUD_ML_REGION=eu, also dem EU-Multi-Region-Endpunkt. Claude Enterprise ist einfacher im Betrieb, bietet nach den veröffentlichten Residenzoptionen von Anthropic aber derzeit keine reine EU-Verarbeitung. Entscheiden Sie danach, wo Ihr Cloud-Vertrag und Ihre DSGVO-Anforderung schon liegen. Den ausführlichen Vergleich von Enterprise, Team und Bedrock liefert unser Leitfaden Claude für Unternehmen.

Das Google-Setup mit derselben Pinning-Logik:

export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=eu
export ANTHROPIC_VERTEX_PROJECT_ID=ihre-projekt-id
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-5
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-5

Auch hier gibt es einen Fallback: Fehlt CLOUD_ML_REGION oder ist der Wert fehlerhaft, nutzt Claude Code us-east5. Die Entwicklerrolle braucht roles/aiplatform.user. Die Organisationsrichtlinie constraints/gcp.restrictEndpointUsage kann den globalen Endpunkt komplett sperren. Die EU-Multi-Region von Google umfasst nur EU-Mitgliedstaaten und kostet für Sonnet 5 dieselben 2,20 / 11 USD wie das EU-Profil auf Bedrock. Mehr dazu im Leitfaden zu Claude auf Vertex AI in Europa.

Option Reine EU-Verarbeitung Abrechnung Passt für
Claude Code auf Bedrock (eu.-Profile) Ja, EU-Geo-Profil Pro Token über AWS AWS-Kunden mit Residenzklausel im AVV
Claude Code auf Google Cloud (eu) Ja, EU-Multi-Region Pro Token über GCP GCP-Kunden
Claude Enterprise In den veröffentlichten Optionen nicht angeboten 20 USD pro Seat und Monat plus API-Preise, jährlich Teams, die auch Claude im Browser wollen

Claude Enterprise bringt SSO, Domain Capture, verwaltete Richtlinien und Claude im Browser mit, nichts davon liefert Bedrock. Die Residenzsteuerung der Anthropic-API kennt für die Inferenz derzeit nur global und us. Die vertragliche Seite behandelt unser DSGVO-Anbietervergleich für Claude. Derselbe Bedrock-Weg funktioniert auch für den Desktop-Agenten, wie unser Leitfaden Claude Cowork im Unternehmen zeigt.

FAQ

Welche Umgebungsvariablen braucht Claude Code für Bedrock?

Mindestens CLAUDE_CODE_USE_BEDROCK=1 und AWS-Credentials, etwa über AWS_PROFILE. Setzen Sie AWS_REGION auf eine Region in einem EU-Mitgliedstaat, sonst fällt Claude Code auf us-east-1 zurück. Für EU-Datenresidenz pinnen Sie zusätzlich ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL und ANTHROPIC_DEFAULT_HAIKU_MODEL auf eu.-Profil-IDs.

Was kostet Claude Code auf Bedrock pro Entwickler?

Anthropic nennt als Durchschnitt in Unternehmen rund 13 USD pro aktivem Tag und 150 bis 250 USD im Monat. Auf dem EU-Profil von Bedrock kostet Sonnet 5 2,20 USD Input und 11 USD Output pro 1 Mio. Tokens, Opus 5 5,50 und 27,50 USD. Sonnet 5 als Standard spart mehr, als der EU-Aufschlag von 10 % kostet.

Claude Code auf Bedrock oder Claude Enterprise: Was ist besser für EU-Daten?

Für reine EU-Verarbeitung Bedrock mit eu.-Profilen oder Google Cloud mit der Multi-Region eu. Claude Enterprise kostet 20 USD pro Seat und Monat plus API-Preise und enthält Claude im Browser, die veröffentlichten Inferenz-Geografien von Anthropic sind aber nur global und us.

Sieht Anthropic meinen Code, wenn Claude Code über Bedrock läuft?

Die Prompts gehen an AWS, nicht an Anthropic. AWS erklärt, dass Modellanbieter keinen Zugriff auf Bedrock-Logs, Prompts oder Antworten haben, und Claude Code schaltet Metriken, Fehlerberichte und /feedback-Uploads auf Bedrock standardmäßig ab. Der WebFetch-Check schickt Hostnamen an api.anthropic.com, außer Sie setzen skipWebFetchPreflight: true.

Funktioniert Claude Code mit AWS SSO?

Ja. Führen Sie aws sso login --profile ihr-profil aus, setzen Sie AWS_PROFILE und tragen Sie awsAuthRefresh in die Settings ein, damit Claude Code das Login bei abgelaufenen Credentials neu startet. Hinter TLS-inspizierenden Proxys kann das in einer Schleife enden. Dann entfernen Sie awsAuthRefresh und melden sich manuell an.

Kann ich Claude Fable 5.1 in Claude Code mit EU-Residenz auf Bedrock nutzen?

Nein. Für Fable 5.1 gibt es auf Bedrock kein EU-Inference-Profile, in Europa ist das Modell nur über den globalen Endpunkt erreichbar. Lassen Sie fable in availableModels weg, damit Entwickler es nicht auswählen können.

Quellen

  1. Claude Code Docs: Claude Code on Amazon Bedrock (19. September 2026)
  2. Claude Code Docs: Claude Code on Google Cloud's Agent Platform (19. September 2026)
  3. Claude Code Docs: Enterprise deployment overview (19. September 2026)
  4. Claude Code Docs: Data usage (19. September 2026)
  5. Claude Code Docs: Model configuration (19. September 2026)
  6. Claude Code Docs: Managed settings (19. September 2026)
  7. Claude Code Docs: Manage costs effectively (19. September 2026)
  8. AWS Bedrock Docs: Voraussetzungen für Inference Profiles (IAM) (19. September 2026)
  9. AWS Bedrock Docs: Model Card Claude Sonnet 5 (18. September 2026)
  10. AWS Bedrock Docs: Cross-Region Inference (18. September 2026)
  11. Amazon Bedrock Preise (18. September 2026)
  12. Claude Preise (Team und Enterprise) (19. September 2026)

Weiterführende Guides