Claude Platform Docs
Messagesはじめに

認証

APIキー、Workload Identity Federation、またはApp Attestを使用してClaude APIに認証します。

Claude APIは、リクエストを認証する3つの方法をサポートしています。

方法認証情報最適な用途
APIキーx-api-key ヘッダーに設定する静的な sk-ant-api... シークレットローカル開発、プロトタイピング、スクリプト、およびシークレットの保管を自分で管理するサーバー
Workload Identity FederationIDプロバイダーのIDトークンから交換される短命のベアラートークン静的シークレットを排除したいクラウドプラットフォーム(AWS、Google Cloud、Azure)上の本番ワークロード、CI/CDパイプライン、Kubernetes
App Attest登録済みのiOSまたはmacOSアプリの、正規かつ証明済みのインストールに対して発行される短命のアクセストークンバックエンドやプロキシなしでアプリがClaude APIを直接呼び出す、エンドユーザーに配布されるiOSおよびmacOSアプリ

APIキーとWorkload Identity Federationは、Claude APIエンドポイントへの同じアクセス権を付与します。すぐに始めたい場合はAPIキーを選択してください。自分自身の開発には個人キーを、共有するものにはサービスアカウントキーを使用します。ワークロードがすでにフェデレーション可能なプラットフォーム発行のIDを持っている場合は、Workload Identity Federationに移行してください。エンドユーザーに配布するiOSおよびmacOSアプリにはApp Attestを使用してください。

APIキー

「API key」(APIキー)は、Claude Consoleで生成し、すべてのリクエストで x-api-key ヘッダーに設定して送信する静的シークレットです。

キーの種類

キーを作成する際にその種類を選択します。種類によって、キーで何ができるか、どこで機能するか、いつ機能しなくなるかが決まります。

キーの種類誰として動作するか機能する場所機能しなくなるタイミング
個人キーユーザーであるあなた自身(あなたのロールと権限を持つ)単一のワークスペース、またはあなたのロールでAPI使用が許可されているワークスペースのいずれか(キー作成時に選択)あなたが組織へのアクセスを失ったとき、または単一ワークスペースキーの場合はそのワークスペースへのアクセスを失ったとき。個人キーは、あなたが組織から削除されるとアーカイブされます。再招待された場合は新しいキーを作成してください。アーカイブされたキーは復元されません
サービスアカウントキーサービスアカウント単一のワークスペース、またはサービスアカウントがアクセスできるすべてのもののいずれか(キー作成時に選択)。サービスアカウントはDefault Workspaceおよび追加されたワークスペースにアクセスできますサービスアカウントがアーカイブされたとき、または単一ワークスペースキーの場合はそのワークスペースから削除されたとき
ワークスペースキー(レガシー)誰でもない:作成されたワークスペースに属しますそのワークスペース有効期限が切れたとき、無効化または削除されたとき、またはそのワークスペースがアーカイブされたとき(作成者が組織を離れたかどうかに関係なく)

個人キーとサービスアカウントキーはIDに紐付けられています。それぞれが組織ですでに管理しているユーザーまたはサービスアカウントに属し、すべてのリクエストはそのIDとして動作します。そのIDが組織から削除されると、キーは機能しなくなります。つまり、キーがその所有者である人やワークロードよりも意図せず長く存続することはありません。新しいインテグレーションでは、ワークスペースキーよりもこれらを優先してください。

自分自身の開発やスクリプトには個人キーを使用してください。共有された個人キーは1人の人物として動作し、その人が離れると機能しなくなります。共有または自動化されたワークロード(CI、本番サービス)の場合は、組織管理者にサービスアカウントを作成してもらい、ワークロードが独自のIDを持つようにしてください。

ワークスペースAPIキーは引き続き機能しますが、レガシーと見なすべきです。IDに紐付けられたキーまたはWorkload Identity Federationが推奨されます。移行するには、ワークスペースAPIキーの置き換えを参照してください。

キーの作成と使用

  • キーを作成する: Claude ConsoleのSettings → API keysに移動し、Create key をクリックします。キーに名前を付け、有効期限を選択します。個人キーの場合は Linked account を自分自身に、複数のユーザー間で共有するキーの場合はサービスアカウントに設定します。キーを特定のワークスペースにスコープすることもでき、その場合は今後のリクエストでワークスペースIDを手動で設定する必要がなくなります。
  • キーを使用する: 直接のHTTPリクエストでは x-api-key ヘッダーを設定するか、ANTHROPIC_API_KEY 環境変数を設定するとクライアントSDKが自動的に読み取ります。
POST /v1/messages
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/json

APIキーはシークレットマネージャーに保管し、定期的にローテーションし、漏洩が疑われるキーは無効化または削除してください。API keysページでは、Disable は元に戻すことができます(Admin APIはキーの status"inactive" と報告し、Re-enable"active" に戻ります)。一方、Delete は永続的です。キーはアーカイブされ、List API Keysには status: "archived" として引き続き表示されます。期限切れのキーは削除のみ可能です。キー作成時に有効期限を設定して、漏洩した認証情報が使用可能な期間を制限することもできます。

client = Anthropic(api_key="my-anthropic-api-key")
# または、環境変数にANTHROPIC_API_KEYを設定している場合:
client = Anthropic()

ワークスペースの選択

特定のワークスペース用に作成されたAPIキーはそのワークスペースでのみ機能し、これらのキーを使用するAPIリクエストではワークスペースIDを省略できます。

APIキーがワークスペースにスコープされていない場合は、各リクエストで anthropic-workspace-id ヘッダーにワークスペースIDを指定する必要があります。リクエストまたはSDKでこのヘッダーを設定する方法については、以下の例を参照してください。

Admin APIは、キーが特定のワークスペースにスコープされていない場合にのみ、個人キーまたはサービスアカウントキーを受け付けます。

ワークスペースのIDは、Claude ConsoleのSettings → WorkspacesID 列で確認するか、List Workspacesエンドポイントを呼び出して確認できます。どちらもDefault WorkspaceのIDは一覧表示しません。そこで実行される任意のリクエスト(たとえば、Default Workspaceのワークスペースキーで行ったリクエスト)の anthropic-workspace-id レスポンスヘッダーから読み取るか、List API Keysでそのようなキーの scope.workspace_id から読み取ってください。

client = Anthropic()  # reads ANTHROPIC_API_KEY

# マルチワークスペースキーでは、すべてのリクエストで必須です。
# シングルワークスペースキーの場合は extra_headers を省略します。
message = client.messages.create(
    model="claude-opus-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
    extra_headers={"anthropic-workspace-id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"},
)
print(message.content)

# または、このクライアントからのすべてのリクエストに対して一度だけ設定します:
workspace_client = Anthropic(
    default_headers={"anthropic-workspace-id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"},
)

ワークスペースにスコープされていないキーで行われたリクエストがこのヘッダーを省略した場合、APIは400 invalid_request_error を返します。

JSON
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "anthropic-workspace-id is required when authenticating with an identity-linked API key; send the id of the workspace this request acts in."
  },
  "request_id": "req_011CSHoEeqs5C35K2UUqR7Fy"
}

有効なワークスペースIDではないヘッダー値は、anthropic-workspace-id header must be a valid workspace ID. というメッセージとともに400 invalid_request_error を返します。ワークスペースが存在しない場合、またはキーのユーザーやサービスアカウントがそのワークスペースにアクセスできない場合、APIは Workspace `<id>` not found. というメッセージとともに404 not_found_error を返します。これは未知のワークスペースに対するレスポンスと同じです。

Workload Identity Federationでは、代わりにトークン交換時にワークスペースを選択します。詳細はWIFリファレンスを参照してください。

キーの有効期限

Claude ConsoleのAPI keysページからAPIキーを作成する際、有効期限を選択します。プリセット(3時間、1日、7日、または30日)、カスタム期間、またはシークレットマネージャーに保管して自分でローテーションするキー向けの Never です。組織に最大有効期限ポリシーがある場合、Consoleはプリセットとカスタム期間をポリシーの最大値に制限し、Never は利用できません。既存のキーは現在の動作を維持します。有効期限は作成時に設定され、後から変更することはできません。Claude ConsoleでAdmin APIキーを作成する場合も、同じ有効期限の選択が適用されます。

Anthropicは有効期限が近づくとキーの作成者にメールを送信します。有効期間が14日以上で作成されたキーは期限の7日前、有効期間が7日以上のキーは1日前です。それより短い有効期間のキーは、警告メールなしで期限切れになります。

キーの有効期限が切れた後、そのキーで行われたリクエストは 401 authentication_error を返します。アクセスを回復するには新しいキーを作成してください。期限切れのキーを再有効化することはできません。

ConsoleのAPIキーテーブルには各キーの有効期限が表示され、Admin APIはList API KeysおよびRetrieve API Keyエンドポイントで各キーの expires_at タイムスタンプを報告するため、期限切れ前にキーを監査してローテーションできます。有効期限のないキーでは、このフィールドは null です。

有効期限は漏洩した認証情報の存続期間を制限しますが、シークレットの衛生管理の代わりにはなりません。有効期限に関係なく、キーはシークレットマネージャーに保管し、漏洩が疑われるキーは無効化または削除してください。

ワークスペースAPIキーの置き換え

ワークスペースキーをお持ちの場合は、Workload Identity Federation、または個人キーやサービスアカウントキーに置き換えることをお勧めします。これにより、セキュリティと可観測性が向上します。

長期間有効なキーよりも推奨されるWorkload Identity Federationの設定の詳細については、Workload Identity Federationを参照してください。

ワークスペースキーを個人キーまたはサービスアカウントキーに置き換えるには:

  1. キーの種類を決定します。 自分自身のツールには個人キーを使用してください。共有または無人のワークロードにはサービスアカウントキーを使用してください。
  2. 必要に応じてサービスアカウントを作成します。組織管理者に依頼して、Settings → Service accountsで作成し、関連するワークスペースに追加してもらう必要がある場合があります。
  3. 新しいキーを作成します。 複数のワークスペースが必要でない限り、インテグレーションのワークスペース専用に作成してください。
  4. 新しいキーをデプロイします。 インテグレーションがキーを読み取るすべての場所(通常は ANTHROPIC_API_KEY 環境変数またはシークレットマネージャーのエントリ)で古いキーを置き換えます。マルチワークスペースキーの場合は、ワークスペースの選択に示すように anthropic-workspace-id ヘッダーも送信してください。
  5. 古いキーを削除します。 リクエストが成功することを確認してから、API keysページでワークスペースキーを削除します。

Workload Identity Federation

「Workload Identity Federation」(ワークロードIDフェデレーション)、すなわちWIFを使用すると、ワークロードは、AWS IAM、Google Cloud、または標準準拠の任意のOIDC発行者(GitHub Actions、Kubernetesサービスアカウント、SPIFFE、Microsoft Entra ID、Oktaなど)といった、すでに信頼している「identity provider」(IDプロバイダー)、すなわちIdPが発行する短命のIDトークンで認証できます。ワークロードはIdPが発行したJWTを POST /v1/oauth/token で短命のClaude APIアクセストークンと交換し、SDKはそのトークンを期限切れ前に自動的に更新します。発行、配布、ローテーションすべき sk-ant-api... 文字列は存在しません。

フェデレーションにより、長期間有効なClaude APIキーが環境から取り除かれるため、漏洩した認証情報の影響範囲が縮小され、クラウドリソースにすでに使用しているのと同じIdPの制御でアクセスを管理できます。ただし、それだけでエンドツーエンドのセキュリティが保証されるわけではありません。信頼チェーンの強度はIDプロバイダーの設定次第であり、1ホップ上流にある長期間有効なシークレット(たとえば、IdPトークンを発行できる静的なクラウド認証情報)によって依然として損なわれる可能性があります。フェデレーションは、IP許可リスト、MFA、監査ログなどのプロバイダーの制御と組み合わせて使用してください。

フェデレーションを設定するには、Claude Consoleで3つのリソース(サービスアカウント、フェデレーション発行者、フェデレーションルール)を作成し、SDKをそのルールに向けます。完全なセットアップ手順については、Workload Identity Federationを参照してください。

App Attest

App Attestは、デバイスからClaude APIを直接呼び出すiOSおよびmacOSアプリを認証します。各インストールは、AppleのApp Attestサービスを使用して、Claude Consoleに登録したアプリの正規かつ改変されていないビルドであることを証明します。その後、Anthropicはデバイスに短命のアクセストークンを発行し、使用量はあなたのワークスペースに請求されます。トークンはあなたのワークスペースにスコープされ、1時間後に期限切れとなり、Messages APIの呼び出しのみを許可します。

アプリを登録してクライアントIDを取得するには、iOSおよびmacOSアプリ向けApp Attestを参照してください。

次のステップ

発行者、ルール、サービスアカウントを設定し、トークンを交換します

AWS、Google Cloud、Azure、GitHub Actions、Kubernetes、SPIFFE、Okta向けのステップバイステップガイド

環境変数、検証ルール、プロファイル設定、エラーリファレンス

APIキーを同梱せずに、アプリの正規インストールからClaude APIを呼び出せるようにします

Python、TypeScript、C#、Go、Java、PHP、Ruby、およびCLI

Was this page helpful?