「Claude Codeを社内で使いたいけれど、APIキーがAnthropic直接だと情シスが首を縦に振らない」 — 法人導入の相談で、ここ数ヶ月ずっと聞かれる話です。社内データの持ち出し懸念や、契約・支払いの一元化が壁になります。
解決策のひとつが Amazon Bedrock 経由でClaude Codeを使う構成 です。本記事では、Bedrockルートの全体像、必要な設定、Anthropic直接利用との違いを整理します。
Bedrock経由で使えるとなぜ嬉しいのか
Amazon Bedrockは、AWSが提供する各社の基盤モデルを統合APIで呼び出すサービスです。Claudeシリーズも提供されていて、Anthropicと直接契約しなくてもAWS経由でClaudeを使えます。
法人にとっての魅力は次のあたりです。
- 既存のAWSアカウントで請求が一本化される — 新規ベンダー追加の稟議が要らない
- データの送信先がAWSリージョン内 — 「米国本社のAnthropicに直接データが行く」よりも社内承認が下りやすい
- IAMで権限制御 — 既存のAWS IAMポリシーの枠組みで、誰がモデルを呼べるかを制御できる
- CloudTrailでログが取れる — どのアカウントがいつ呼び出したかが監査ログに残る
「セキュリティ要件で詰まる中堅以上の企業ほど、Bedrockルートが現実解になる」というのが私の感覚です。逆に、個人や数人のチームなら、Anthropic直接契約のシンプルさを優先したほうがよく、無理にBedrockを通す必要はありません。
Claude Code 側の設定はわりとシンプル
Claude CodeをBedrockに向ける作業自体は、環境変数を数本入れるだけです。
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=ap-northeast-1
export ANTHROPIC_MODEL='anthropic.claude-opus-4-7-20251201-v1:0'
export AWS_PROFILE=your-profile-name
このあと普段どおり claude を起動すると、APIの呼び出し先がBedrockに切り替わります。AWS_PROFILE または AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY でクレデンシャルが解決できれば、それ以上特別な準備は不要です。
注意点が2つあります。
- モデルIDはBedrock側の表記を使う —
anthropic.claude-opus-4-7-20251201-v1:0のように、AnthropicのモデルIDとは別の表記。AWSコンソールのBedrock → ベースモデル一覧から正確な文字列をコピーするのが安全 - モデルアクセスの事前申請 — Bedrockは各モデルへのアクセスを利用者がOptInする必要がある。AWSコンソールから「モデルアクセスをリクエスト」を実施しておく
私は最初、モデルIDをAnthropicのドキュメントから写してきて claude が延々エラーを返す、というハマり方をしました。Bedrock側のID表記を確認するだけで解決します。
IAM 権限はモデル呼び出しに絞る
Bedrock経由運用で大事なのは、IAMで「何ができるか」を必要最小限に絞ることです。社内利用者にAWSの広い権限を渡すと、Claude Code を入り口に別のサービスまで触れてしまいます。
最低限あれば動く権限はこの3つです。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListFoundationModels"
],
"Resource": "*"
}
]
}
加えて、Resource を arn:aws:bedrock:ap-northeast-1::foundation-model/anthropic.claude-opus-4-7-* のように絞ると、他社モデルに勝手に切り替えられるリスクも消せます。
私の関与した案件では、情シスが「Claude Code利用者には専用のIAMロールを切って、Bedrock InvokeModel だけ許可する」運用に落ち着きました。SSO経由で aws sso login してロールを引き受けるとClaude Codeが動く、というシンプルな設計です。
料金体系はAnthropic直接とは別建て
Bedrock経由の料金は、AWSの利用料金として請求されます。Anthropicと別契約なので、Claude Pro/Max/Teamの定額プランは適用されません。従量課金になります。
Claudeの1Mトークンあたり単価は、直接利用とおおむね同水準ですが、為替と時期で微妙に動くので、契約前に必ず最新の表を確認してください。法人想定だと、月の利用額を予測するために、3〜5名で1〜2週間試用して実測コストを掴むのがおすすめです。
私が支援した50名規模の会社では、社内10名にBedrock経由でClaude Code を配って、月のBedrock利用料は約30万円でした。一人あたり3万円弱、Teamプラン相当の単価です。「定額のほうが安いケースは多いが、IAMでの権限管理を取りに行く場合は従量を許容する」、という整理が現実的です。
ハマりポイントと運用Tips
実際に法人で回してわかった、つまずきやすい点を3つ。
第一に、リージョンを揃える。AWS_REGION がap-northeast-1なのに、対象モデルが us-east-1 でしかOptInされていないと、当然動きません。組織のデフォルトリージョン方針と、Bedrockで使うモデルの提供リージョンを合わせます。
第二に、CloudTrail のログ転送を最初に設定。「誰がいつ何を呼んだか」の監査ログは、半年後に「あれはどうなってたか」を遡れるかが分かれ目です。CloudTrailのデータイベントをBedrock InvokeModelで有効化しておきます。
第三に、社内ガイドラインで「Bedrock経由のClaude Codeに投げてよい情報の範囲」を明文化。Bedrock経由でもClaude Codeのプロンプトに何を貼るかは利用者次第。個人情報・未公開数字・取引先固有名などの取扱ルールを、利用開始時にドキュメント1枚で配ります。
私の見ている範囲だと、3つ目の「ガイドライン文書」がない法人ほど、3ヶ月後に小さな事故報告が出ます。技術設定より、運用ルールのほうが効きます。
まとめ
- Bedrock経由のClaude Code は、AWSアカウントで請求一本化・IAMでの権限制御・CloudTrailでの監査ログを取りたい法人向けの構成
- 切り替えは
CLAUDE_CODE_USE_BEDROCK=1などの環境変数を数本入れるだけ - モデルIDはBedrock側の表記、モデルアクセスのOptInが必要
- IAMはBedrock InvokeModelだけに絞り、Resourceで対象モデルも絞ると安全
- 料金は従量。Teamプラン定額より高くつく場面もある
- 技術設定と同じくらい、利用ガイドラインの文書化が事故予防に効く





