以下の記事を参考に claude code action (cca) を bedrock で設定します
ここでは設定部だけに特化して記述します
細かな補足は元の記事をご参照ください
bedorck で claude 4 を有効化
model 申請画面から claude 4 を有効化します
cross region で用いる事になるので、オレゴン、オハイオ、バージニアで有効化すると良いかもしれません
以下はオレゴンの model list URL になります
AWS
AWS に github をプロバイダとして登録しロールを作成する
OIDC の設定
ロールを作成
- IAM を開く
- 左メニューから
ロール
を選択 -
ロールを作成
を選択
-
カスタム信頼ポリシー
を選択
- カスタムポリシーへ、以下の sample を元に入力する
-
<AWS_ACCOUNT_ID>
部を aws account id の数値へ置換 -
<REPSITORY_NAME>
へ許可する github repository へ置換 - 補足、以下の記述では特定のアカウントの全リポジトリからのアクセスを受け付ける設定となります
- 入力後、
次へ
を選択
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RoleForGitHubActions",
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::<AWS_ACCOUNT_ID>:oidc-provider/token.actions.githubusercontent.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
},
"StringLike": {
"token.actions.githubusercontent.com:sub": "repo:<ACCOUNT_NAME>/*:*"
}
}
}
]
}
github
claude app を install
- 以下 URL より claude app を install
- install 対象の github account を選択し
- 権限を付与するリポジトリを選択する
ARN をリポジトリへ設定
- 設定対象の github リポジトリを開く
-
Settings
を開く -
Secrets and variables
からActions
を選択 - Repository secrets へ
- Name :
AWS_ROLE_TO_ASSUME
- value : ロールで作成した ARN を入力
- Name :
github workflow を作成
以下記事の設定内容を引用させていただきます
-
.github/workflows/claude.yml
を作成 - 以下を記述し push する
Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
env:
ANTHROPIC_BEDROCK_BASE_URL: "https://bedrock-runtime.us-west-2.amazonaws.com"
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Configure AWS Credentials (OIDC)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
aws-region: us-west-2
- uses: anthropics/claude-code-action@beta
with:
model: "us.anthropic.claude-sonnet-4-20250514-v1:0"
use_bedrock: "true"
以上で完了となります