Admin API
使用 Admin API 金鑰、org:admin OAuth 權杖,或個人金鑰或服務帳戶金鑰,透過 Admin API 以程式化方式管理組織成員、工作區、邀請和 API 金鑰。
Admin API 讓您能以程式化方式管理組織的成員、工作區、邀請和 API 金鑰,而不必在 Claude Console 中手動操作。
驗證
使用三種憑證中的任一種進行驗證。Admin API 金鑰涵蓋大多數端點。服務帳戶、聯合發行者和聯合規則端點僅接受 org:admin OAuth 權杖。請如同傳送 Admin API 金鑰一樣,在 x-api-key 標頭中傳送個人金鑰或服務帳戶金鑰。以下範例分別使用 OAuth 權杖和 Admin API 金鑰呼叫組織資訊端點。
Python、TypeScript、C#、Go、Java、PHP 和 Ruby SDK 在 client.beta.organization 下公開 Admin API,ant CLI 則在 ant beta:organization 下公開。本頁的範例使用預設用戶端,它會從 ANTHROPIC_API_KEY 讀取 Admin API 金鑰,或從 ANTHROPIC_AUTH_TOKEN 讀取 OAuth bearer 權杖。Python、TypeScript、C#、Go 和 Java 中的 SDK 列出方法會回傳一個按需擷取更多頁面的迭代器,因此 limit 設定的是頁面大小,而非總數。PHP、Ruby 和 curl 範例回傳單一頁面。在 CLI 中,--limit 會限制成員、邀請、工作區、工作區成員和 API 金鑰清單的結果數量。如需各端點的參數和回應,請參閱 Admin API 參考文件。
OAuth bearer 權杖
使用 ant CLI 以具有 org:admin 範圍的專用設定檔登入(請參閱管理員存取),然後匯出 bearer 權杖。--profile admin 會將 org:admin 憑證儲存在其專屬設定檔下,並將其設為 CLI 的作用中設定檔。匯出的變數會套用至該 shell 中的每個 SDK 和 CLI 呼叫。請使用您專門保留用於管理的 shell,完成後取消設定該變數,並使用 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。請在同一個 shell 中保持 ANTHROPIC_API_KEY 未設定,以便它們傳送 bearer 權杖。自動化工作負載會略過登入:它們透過工作負載身分聯合進行驗證,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 金鑰。
組織角色與權限
共有五種組織層級角色。如需詳細資訊,請參閱 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 物件:對於繫結至單一工作區的金鑰為 {"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 參考文件。
用量與成本報告
使用用量與成本 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,並定期輪替金鑰
常見問題
Admin API 接受 Admin API 金鑰(以 sk-ant-admin 開頭)、具有 org:admin 範圍的 OAuth bearer 權杖,或未限定於特定工作區的個人金鑰或服務帳戶金鑰。只有具備 admin 角色的組織成員才能佈建 Admin API 金鑰,且只有具備 admin、owner 或 primary owner 角色的成員才能取得 org:admin 權杖。個人金鑰或服務帳戶金鑰擁有與所連結帳戶相同的權限。請參閱驗證。
不可以。您需在 Claude Console 中建立 API 金鑰。Admin API 只能讀取、重新命名和變更現有金鑰的狀態。
行為取決於金鑰類型。
個人金鑰會在其使用者從組織中移除時停止運作。服務帳戶金鑰會在其服務帳戶被封存時停止運作,但即使建立它們的使用者被移除,仍會繼續運作。工作區 API 金鑰會繼續運作。在 Claude Code 工作區中,每個金鑰都繫結至建立它的成員,並會在該成員被移除時停止運作。
不可以。API 無法移除具備 admin 角色的成員。
邀請會在 21 天後到期。到期期限無法設定。
如有工作區相關問題,請參閱工作區常見問題。
Was this page helpful?