原文(日本語に翻訳)
ANTHROPIC_WORKSPACE_ID環境変数を追加しました。ワークロードアイデンティティフェデレーション用で、フェデレーションルールが複数のワークスペースをカバーする場合に、発行されたトークンを特定のワークスペースにスコープします。
原文(英語)
Added
ANTHROPIC_WORKSPACE_IDenvironment variable for workload identity federation — scopes the minted token to a specific workspace when the federation rule covers more than one
概要
ワークロードアイデンティティフェデレーション(WIF)は、静的なAPIキー(sk-ant-...)の代わりに、AWS IAM・GCP・GitHub ActionsなどのOIDCプロバイダーから発行された短命トークンでAnthropicのAPIを認証する仕組みです。ANTHROPIC_WORKSPACE_IDを設定することで、1つのフェデレーションルールが複数のワークスペースに対応している場合でも、使用するワークスペースを明示的に指定できます。
基本的な使い方
フェデレーション認証が設定されている環境で、ワークスペースIDを指定します。
bash
export ANTHROPIC_WORKSPACE_ID=ws-xxxxxxxxxxxxxxxx
export ANTHROPIC_FEDERATION_RULE_ID=fed-xxxxxxxxxxxxxxxx
export ANTHROPIC_IDENTITY_TOKEN_FILE=/var/run/secrets/oidc/token
claude実践例
GitHub Actionsでのワークスペース指定
yaml
# .github/workflows/claude-ci.yml
name: Claude Code Review
on: [pull_request]
permissions:
id-token: write # OIDC token取得に必要
contents: read
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Mint OIDC token
id: oidc
run: |
# GitHub ActionsのOIDCトークンを取得
TOKEN=$(curl -sH "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
"$ACTIONS_ID_TOKEN_REQUEST_URL" | jq -r .value)
echo "$TOKEN" > /tmp/oidc-token
echo "token_file=/tmp/oidc-token" >> $GITHUB_OUTPUT
- name: Run Claude Code with workspace scoping
env:
# ワークスペースIDを明示的に指定
ANTHROPIC_WORKSPACE_ID: ${{ vars.ANTHROPIC_WORKSPACE_ID }}
ANTHROPIC_FEDERATION_RULE_ID: ${{ vars.ANTHROPIC_FEDERATION_RULE_ID }}
ANTHROPIC_IDENTITY_TOKEN_FILE: ${{ steps.oidc.outputs.token_file }}
run: |
claude --print "このPRのコードをレビューしてください" < diff.txtKubernetesサービスアカウントでの使用
yaml
# kubernetes/claude-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
name: claude-analysis
spec:
template:
spec:
serviceAccountName: claude-sa # WIF設定済みサービスアカウント
containers:
- name: claude
image: node:22
command: ["claude", "--print", "コードを分析してください"]
env:
- name: ANTHROPIC_WORKSPACE_ID
valueFrom:
secretKeyRef:
name: anthropic-config
key: workspace-id
- name: ANTHROPIC_FEDERATION_RULE_ID
valueFrom:
secretKeyRef:
name: anthropic-config
key: federation-rule-id
- name: ANTHROPIC_IDENTITY_TOKEN_FILE
value: /var/run/secrets/kubernetes.io/serviceaccount/token複数ワークスペース間の使い分け
1つのフェデレーションルールが複数のワークスペース(例:開発用・本番用)に対応している場合、ANTHROPIC_WORKSPACE_IDで使い分けます。
bash
# 開発環境
export ANTHROPIC_WORKSPACE_ID=ws-dev-xxxxxxxxxxxx
claude
# 本番環境
export ANTHROPIC_WORKSPACE_ID=ws-prod-xxxxxxxxxxxx
claude注意点
ANTHROPIC_WORKSPACE_IDはワークロードアイデンティティフェデレーション使用時のみ有効です。通常のAPIキー認証では使用しません。- フェデレーションルールが単一のワークスペースのみをカバーしている場合、この変数は不要です。
- ワークスペースIDはAnthropicコンソールで確認できます。
- 短命トークンが期限切れになると自動的に再発行されるため、CI/CDパイプラインでの長時間実行にも対応しています。