Cookie settings

We use cookies to deliver and improve our services, analyze site usage, and if you agree, to customize or personalize your experience and market our services to you. You can read our Cookie Policy here.

Claude Platform Docs
管理組織

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は、このページのエンドポイントをclient.organizationの下で公開しており、ant CLIではant organizationの下で公開しています。このページの例ではデフォルトのクライアントを使用しており、これはANTHROPIC_API_KEYからAdmin APIキーを、またはANTHROPIC_AUTH_TOKENからOAuthベアラートークンを読み取ります。Python、TypeScript、C#、Go、JavaのSDKの一覧取得メソッドは、必要に応じて追加のページを取得するイテレーターを返すため、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を元に戻してください。

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.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.organization.retrieve()

print(f"id: {organization.id}")
print(f"name: {organization.name}")

Admin APIの仕組み

認証のいずれかの認証情報で認証し、以下のリソースを管理します。

  • 組織メンバーとそのロール
  • 組織の招待
  • ワークスペースとそのメンバー
  • APIキー
  • サービスアカウント、フェデレーション発行者、フェデレーションルール(org:admin OAuthトークンのみ)

一般的な用途には、オンボーディングとオフボーディングの自動化、ワークスペースアクセスの管理、APIキーの監査などがあります。

組織のロールと権限

組織レベルのロールは5つあります。詳細については、API Consoleのロールと権限を参照してください。

ロール権限
userplaygroundを使用できる
claude_code_userplaygroundとClaude Codeを使用できる
developerplaygroundを使用でき、APIキーを管理できる
billingplaygroundを使用でき、請求情報を管理できる
admin上記すべてに加えて、ユーザーを管理できる

組織のownerとprimary ownerはすべてのadmin権限を持ち、さらにadminを管理することもできます。このページでadminロールに言及している箇所はすべて、ownerとprimary ownerにも適用されます。

主要な概念

組織メンバー

組織メンバーを一覧表示し、ロールを更新し、削除します。

組織のメンバーを一覧表示します。

client = anthropic.Anthropic()

users = client.organization.users.list(limit=10)

# 必要に応じて後続のページを自動的に取得します。
for user in users:
    print(f"{user.id}: {user.email} ({user.role})")

メンバーのロールを更新します。

client = anthropic.Anthropic()

user = client.organization.users.update(
    "user_01XyDMpzjS89pFZXqSFUBDr6", role="developer"
)

print(f"id: {user.id}")
print(f"role: {user.role}")

組織からメンバーを削除します。

client = anthropic.Anthropic()

removed_user = client.organization.users.remove("user_01XyDMpzjS89pFZXqSFUBDr6")

print(f"id: {removed_user.id}")

組織の招待

ユーザーを組織に招待し、保留中の招待を管理します。

ユーザーを組織に招待します。

client = anthropic.Anthropic()

invite = client.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.organization.invites.list(limit=10)

# 必要に応じて後続のページを自動的に取得します。
for invite in invites:
    print(f"{invite.id}: {invite.email} ({invite.status})")

招待を削除します。

client = anthropic.Anthropic()

deleted_invite = client.organization.invites.delete("invite_015gWxHNr6h6TdRPZTmuCGnn")

print(f"id: {deleted_invite.id}")

ワークスペース

ConsoleおよびAPIの例については、ワークスペースを参照してください。

ワークスペースメンバー

特定のワークスペースへのユーザーアクセスを管理します。

ワークスペースにメンバーを追加します。

client = anthropic.Anthropic()

member = client.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.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.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.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.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.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.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を参照してください。

Was this page helpful?