🔌

Claude Code を AWS SSO 認証で Bedrock に接続する

に公開

諸事情で AWS Bedrock で Claude Code を使う必要がありました.アクセスキーを使うのは避けたいので,AWS SSO で認証して Bedrock の Claude モデルを Claude Code から利用します.

AWS CLI の設定

AWS CLI に SSO セッション&プロファイルを追加します.~/.aws/config を下記のように編集します.

~/.aws/config
[default]
region = ap-northeast-1
output = json

[sso-session my-sso-session]
sso_start_url = https://<your-domain>.awsapps.com/start
sso_region    = ap-northeast-1

[profile my-dev-account]
sso_session    = my-sso-session
sso_account_id = <account_id>
sso_role_name  = <iam_role_name>

[sso-session my-sso-session] で AWS アクセスポータルを指定します.AWS Organizations で設定したURLです.

[profile my-dev-account] で AWS アカウントを指定しています. AWS CLI から利用したい AWS アカウントの情報を設定します. sso_session の値を,上で設定した [sso-session my-sso-session] と合わせます.

当然ですが,使おうとしているモデル(Claude 4 Sonnet など)がこのアカウントで有効化されていて,IAMロールで許可されている必要があります.

https://dev.classmethod.jp/articles/aws-cli-for-iam-identity-center-sso/

Claude Code の設定

~/.claude/settings.json に次のような設定を書き込みます.

~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_REGION": "ap-northeast-1",
    "ANTHROPIC_MODEL": "apac.anthropic.claude-sonnet-4-20250514-v1:0",
    "AWS_PROFILE": "my-dev-account"
  }
}

AWS CLI で設定したプロファイルを指定します.

ややこしいんですが, ANTHROPIC_MODEL には モデル一覧ページにあるモデルID (anthropic.claude-sonnet-4-20250514-v1:0みたいなやつ)ではなく,推論プロファイルを指定する必要があるようです.推論プロファイルの一覧は,AWSコンソールの "Cross-region inference" にある表の "Inference profile ID" 列から確認できます.

https://docs.anthropic.com/en/api/claude-on-amazon-bedrock#accessing-bedrock

https://docs.anthropic.com/en/docs/claude-code/settings#environment-variables

AWS SSOでログインしてClaude Codeを使う

AWS SSO でログインします. --sso-session に, ~/.aws/config で設定した SSO セッションの名前を指定します.

aws sso login --sso-session my-sso-session

AWS SSO のログインが完了したら,Claude Code を実行します.

claude

Discussion