Admin API
Admin APIキー、org:admin OAuthトークン、または個人キーもしくはサービスアカウントキーを使用して、Admin APIで組織のメンバー、ワークスペース、招待、APIキーをプログラムから管理します。
Admin APIを使用すると、Claude Consoleで手作業で行う代わりに、組織のメンバー、ワークスペース、招待、APIキーをプログラムから管理できます。
認証
3種類の認証情報のいずれかで認証します。Admin APIキーはほとんどのエンドポイントをカバーします。サービスアカウント、フェデレーション発行者、フェデレーションルールのエンドポイントは、org:admin OAuthトークンのみを受け付けます。個人キーまたはサービスアカウントキーは、Admin APIキーと同様にx-api-keyヘッダーで送信します。以下の例では、OAuthトークンとAdmin APIキーを使用して組織情報エンドポイントを呼び出します。
Python、TypeScript、C#、Go、Java、PHP、RubyのSDKはAdmin APIをclient.beta.organizationの下で公開しており、ant CLIはant beta:organizationの下で公開しています。このページの例ではデフォルトのクライアントを使用しており、ANTHROPIC_API_KEYからAdmin APIキーを、またはANTHROPIC_AUTH_TOKENからOAuthベアラートークンを読み取ります。Python、TypeScript、C#、Go、JavaのSDKのlistメソッドは、必要に応じて追加のページを取得するイテレーターを返すため、limitは合計ではなくページサイズを設定します。PHP、Ruby、curlの例は1ページを返します。CLIでは、--limitはメンバー、招待、ワークスペース、ワークスペースメンバー、APIキーの一覧の結果数に上限を設けます。各エンドポイントのパラメータとレスポンスについては、Admin APIリファレンスを参照してください。
OAuthベアラートークン
org:adminスコープを持つ専用プロファイルでant CLIにログインし(管理者アクセスを参照)、ベアラートークンをエクスポートします。--profile adminはorg:adminの認証情報を独自のプロファイルに保存し、それをCLIのアクティブなプロファイルにします。エクスポートした変数は、そのシェル内のすべてのSDKおよびCLI呼び出しに適用されます。管理専用のシェルを使用し、作業が終わったら変数をunsetして、ant profile activate defaultでCLIを元に戻してください。
ant auth login --profile admin --scope "org:admin"
export ANTHROPIC_AUTH_TOKEN=$(ant auth print-credentials --profile admin --access-token)対話型トークンは有効期間が短いです。リクエストが401を返し始めたら、exportコマンドを再実行してトークンを更新してください。
SDKとant CLIはANTHROPIC_AUTH_TOKENを自動的に読み取ります。ベアラートークンが送信されるよう、同じシェルではANTHROPIC_API_KEYを未設定のままにしてください。自動化されたワークロードはログインを省略します。ワークロードアイデンティティフェデレーションを通じて認証し、SDKとCLIがフェデレーション環境変数からトークン交換を実行します。WIFを管理するワークロードのブートストラップを参照してください。
エクスポートしたトークンでAdmin APIを呼び出します。
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")org:adminトークンは、基盤となるプロファイルまたはフェデレーションルールがバインドされているワークスペースに関係なく、組織全体へのアクセスを付与します。
CIやその他の非対話型ワークロードでは、対話的にログインする代わりに、Workload Identity Federationでトークンを発行してください。Admin APIによるWIFの管理を参照してください。
Admin APIキー
組織の種類に応じたAdmin APIキーを作成するには、Admin APIキーの作成を参照してください。
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}")Admin APIの仕組み
認証のいずれかの認証情報で認証し、以下のリソースを管理します。
- 組織メンバーとそのロール
- 組織の招待
- ワークスペースとそのメンバー
- APIキー
- サービスアカウント、フェデレーション発行者、フェデレーションルール(
org:adminOAuthトークンのみ)
一般的な用途には、オンボーディングとオフボーディングの自動化、ワークスペースアクセスの管理、APIキーの監査などがあります。
組織のロールと権限
組織レベルのロールは5つあります。詳細については、API Consoleのロールと権限を参照してください。
| ロール | 権限 |
|---|---|
| user | playgroundを使用できる |
| claude_code_user | playgroundとClaude Codeを使用できる |
| developer | playgroundを使用でき、APIキーを管理できる |
| billing | playgroundを使用でき、請求情報を管理できる |
| admin | 上記すべてに加えて、ユーザーを管理できる |
組織のownerとprimary ownerはすべてのadmin権限を持ち、さらにadminを管理することもできます。このページでadminロールに言及している箇所はすべて、ownerとprimary ownerにも適用されます。
主要な概念
組織メンバー
組織メンバーの一覧表示、ロールの更新、削除を行います。
組織のメンバーを一覧表示します。
client = anthropic.Anthropic()
users = client.beta.organization.users.list(limit=10)
# 必要に応じて自動的に追加のページを取得します。
for user in users:
print(f"{user.id}: {user.email} ({user.role})")メンバーのロールを更新します。
client = anthropic.Anthropic()
user = client.beta.organization.users.update(
"user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)
print(f"id: {user.id}")
print(f"role: {user.role}")組織からメンバーを削除します。
client = anthropic.Anthropic()
removed_user = client.beta.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")
print(f"id: {removed_user.id}")組織の招待
ユーザーを組織に招待し、保留中の招待を管理します。
ユーザーを組織に招待します。
client = anthropic.Anthropic()
invite = client.beta.organization.invites.create(
email="user@example.com", role="developer"
)
print(f"id: {invite.id}")
print(f"email: {invite.email}")
print(f"status: {invite.status}")
print(f"expires_at: {invite.expires_at}")保留中の招待を一覧表示します。
client = anthropic.Anthropic()
invites = client.beta.organization.invites.list(limit=10)
# 必要に応じて自動的に追加のページを取得します。
for invite in invites:
print(f"{invite.id}: {invite.email} ({invite.status})")招待を削除します。
client = anthropic.Anthropic()
deleted_invite = client.beta.organization.invites.delete(
"invite_015gWxHNr6h6TdRPZTmuCGnn"
)
print(f"id: {deleted_invite.id}")ワークスペース
ConsoleおよびAPIの例については、ワークスペースを参照してください。
ワークスペースメンバー
特定のワークスペースへのユーザーアクセスを管理します。
ワークスペースにメンバーを追加します。
client = anthropic.Anthropic()
member = client.beta.organization.workspaces.members.add(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
user_id="user_01XyDMpzjS89pFZXqSFUBDr6",
workspace_role="workspace_developer",
)
print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")ワークスペースのメンバーを一覧表示します。
client = anthropic.Anthropic()
members = client.beta.organization.workspaces.members.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ", limit=10
)
# 必要に応じて追加のページを自動的に取得します。
for member in members:
print(f"{member.user_id}: {member.workspace_role}")ワークスペースメンバーのロールを更新します。
client = anthropic.Anthropic()
member = client.beta.organization.workspaces.members.update(
"user_01XyDMpzjS89pFZXqSFUBDr6",
workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
workspace_role="workspace_admin",
)
print(f"user_id: {member.user_id}")
print(f"workspace_role: {member.workspace_role}")ワークスペースからメンバーを削除します。
client = anthropic.Anthropic()
removed_member = client.beta.organization.workspaces.members.remove(
"user_01XyDMpzjS89pFZXqSFUBDr6", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
print(f"user_id: {removed_member.user_id}")APIキー
APIキーを監視および管理します。レスポンス内の各キーには、expires_atタイムスタンプ(有効期限のないキーの場合はnull)と、そのキーが振る舞うアイデンティティであるprincipal(キーの種類を参照)が含まれます。個人キーの場合、principalは{"type": "user_actor", "user_id": "user_..."}、サービスアカウントキーの場合は{"type": "service_account_actor", "service_account_id": "svac_..."}、ワークスペースキーの場合はnullです。各キーにはscopeオブジェクトもあります。1つのワークスペースにバインドされたキーの場合は{"type": "workspace", "workspace_id": "wrkspc_..."}、アカウントがアクセスできる任意のワークスペースで動作できるキーの場合は{"type": "organization"}です。トップレベルのworkspace_idフィールドは非推奨であり、Default Workspaceにバインドされたキーとワークスペーススコープを持たないキーの両方でnullになります。これらを区別するにはscopeを使用してください。Default WorkspaceのIDを指定してworkspace_idで一覧をフィルタリングすると、Default Workspaceにバインドされたキーのみが返されます。ワークスペーススコープを持たないキーは、どのworkspace_idフィルターでも返されません。
ワークスペース内のアクティブなAPIキーを一覧表示します。
client = anthropic.Anthropic()
api_keys = client.beta.organization.api_keys.list(
limit=10, status="active", workspace_id="wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
# 必要に応じて追加のページを自動的に取得します。
for api_key in api_keys:
print(f"{api_key.id}: {api_key.name} ({api_key.status})")APIキーの名前を変更するか、無効化します。
client = anthropic.Anthropic()
api_key = client.beta.organization.api_keys.update(
"apikey_01Rj2N8SVvo6BePZj99NhmiT", status="inactive", name="New Key Name"
)
print(f"id: {api_key.id}")
print(f"name: {api_key.name}")
print(f"status: {api_key.status}")サービスアカウント
サービスアカウント(svac_...)を作成および管理します。サービスアカウントは、サービスアカウントキーやWorkload Identity Federationトークンが振る舞う非人間のアイデンティティです。これらのエンドポイントは、フェデレーション発行者およびフェデレーションルールのエンドポイントと同様に、org:admin OAuthトークンを必要とします。Admin APIによるWIFの管理を参照してください。
フェデレーション発行者
組織のワークロードアイデンティティをトークンでアサートできるOIDCアイデンティティプロバイダー(fdis_...)を登録します。Admin APIによるWIFの管理を参照してください。
フェデレーションルール
発行者のトークンをサービスアカウントとスコープにマッピングするルール(fdrl_...)を管理します。Admin APIによるWIFの管理を参照してください。
組織情報へのアクセス
/v1/organizations/meエンドポイントは、認証情報が属する組織を返します。
client = anthropic.Anthropic()
organization = client.beta.organization.retrieve()
print(f"id: {organization.id}")
print(f"name: {organization.name}"){
"id": "12345678-1234-5678-1234-567812345678",
"type": "organization",
"name": "Organization Name"
}パラメータの詳細とレスポンススキーマについては、組織情報APIリファレンスを参照してください。
使用量とコストのレポート
Usage and Cost APIで組織の使用量とコストを追跡します。
Claude Codeアナリティクス
Claude Code Analytics APIで開発者の生産性とClaude Codeの導入状況を監視します。
レート制限
Rate Limits APIで、組織とそのワークスペースに設定されているレート制限を読み取ります。
Compliance API
Compliance APIで組織の監査データとアクティビティデータを取得します。Admin APIキーで読み取れるのはActivity Feedのみです。フルアクセスについては、Compliance APIのセットアップを参照してください。
ベストプラクティス
- ワークスペースとAPIキーには意味のある名前と説明を使用する
- 失敗した操作のエラーを処理する
- メンバーのロールと権限を定期的に監査する
- 未使用のワークスペースと期限切れの招待をクリーンアップする
- APIキーの使用状況を監視し、各キーの
expires_atを監査し、キーを定期的にローテーションする
FAQ
Admin APIは、Admin APIキー(sk-ant-adminで始まる)、org:adminスコープを持つOAuthベアラートークン、または特定のワークスペースにスコープされていない個人キーもしくはサービスアカウントキーを受け付けます。Admin APIキーを発行できるのはadminロールを持つ組織メンバーのみであり、org:adminトークンを取得できるのはadmin、owner、またはprimary ownerロールを持つメンバーのみです。個人キーまたはサービスアカウントキーは、リンクされたアカウントと同じ権限を持ちます。認証を参照してください。
いいえ。APIキーはClaude Consoleで作成します。Admin APIでは、既存のキーの読み取り、名前の変更、ステータスの変更のみが可能です。
動作はキーの種類によって異なります。
個人キーは、そのユーザーが組織から削除されると機能しなくなります。サービスアカウントキーは、そのサービスアカウントがアーカイブされると機能しなくなりますが、作成したユーザーが削除されても引き続き機能します。ワークスペースAPIキーは引き続き機能します。Claude Codeワークスペースでは、各キーは作成したメンバーにバインドされており、そのメンバーが削除されると機能しなくなります。
いいえ。APIではadminロールを持つメンバーを削除できません。
招待は21日後に期限切れになります。有効期間は設定できません。
ワークスペース固有の質問については、ワークスペースFAQを参照してください。
Was this page helpful?