---
title: 認証
url: https://platform.claude.com/docs/ja/manage-claude/authentication
description: APIキー、Workload Identity Federation、またはApp Attestを使用してClaude APIに認証します。
---

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

| 方法                                                                                                                            | 認証情報                                                         | 最適な用途                                                                                      |
| ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| [APIキー](https://platform.claude.com/docs/ja/manage-claude/authentication#api-keys)                                            | `Authorization`ヘッダーにベアラートークンとして送信される静的な`sk-ant-api...`シークレット | ローカル開発、プロトタイピング、スクリプト、およびシークレットストレージを自分で管理するサーバー                                           |
| [Workload Identity Federation](https://platform.claude.com/docs/ja/manage-claude/authentication#workload-identity-federation) | IDプロバイダーのIDトークンから交換される短命のベアラートークン                            | クラウドプラットフォーム（AWS、Google Cloud、Azure）、CI/CDパイプライン、およびKubernetes上の本番ワークロードで、静的シークレットを排除したい場合 |
| [App Attest](https://platform.claude.com/docs/ja/manage-claude/authentication#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キーは、Claude Consoleで生成し、すべてのリクエストで`Authorization`ヘッダーにベアラートークンとして送信する静的なシークレットです。

### キーの種類

キーを作成する際、その種類を選択します。これにより、キーができること、動作する場所、および動作しなくなるタイミングが決まります。

| キーの種類               | 動作する主体                                                                                                       | 動作する場所                                                                                               | 動作しなくなるタイミング                                                                                                                 |
| ------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| **個人キー**            | あなた（ユーザー）として、あなたのロールと権限で                                                                                     | キー作成時に選択される、単一のワークスペースまたはあなたのロールがAPI使用を許可するワークスペース                                                   | 組織へのアクセスを失ったとき、または単一ワークスペースキーの場合はそのワークスペースへのアクセスを失ったとき。個人キーは、組織から削除されるとアーカイブされます。再招待された場合は、新しいキーを作成してください。アーカイブされたキーは復元されません |
| **サービスアカウントキー**     | [サービスアカウント](https://platform.claude.com/docs/ja/manage-claude/workload-identity-federation#service-accounts) | キー作成時に選択される、単一のワークスペースまたはサービスアカウントがアクセスできるすべてのもの。サービスアカウントはDefault Workspaceおよび追加されたワークスペースにアクセスできます | サービスアカウントがアーカイブされたとき、または単一ワークスペースキーの場合はそのワークスペースから削除されたとき                                                                    |
| **ワークスペースキー**（レガシー） | 誰でもない：作成されたワークスペースに属します                                                                                      | そのワークスペース                                                                                            | 有効期限が切れたとき、無効化または削除されたとき、またはそのワークスペースがアーカイブされたとき。作成者が組織を離れるかどうかに関係なく                                                         |

個人キーとサービスアカウントキーはID連携型です。それぞれが組織がすでに管理しているユーザーまたはサービスアカウントに属し、すべてのリクエストはそのIDとして動作します。そのIDが組織から削除されると、キーは動作しなくなります。これは、キーが所有する人やワークロードよりも誤って長く存続しないことを意味します。新しい統合では、ワークスペースキーよりもこれらを優先してください。

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

ワークスペースAPIキーは引き続き機能しますが、レガシーと見なすべきです。ID連携型キーまたは[Workload Identity Federation](https://platform.claude.com/docs/ja/manage-claude/workload-identity-federation)が推奨されます。移行するには、[ワークスペースAPIキーの置き換え](https://platform.claude.com/docs/ja/manage-claude/authentication#replacing-workspace-api-keys)を参照してください。

### キーの作成と使用

* **キーの作成：** Claude Consoleで[APIキー](https://platform.claude.com/settings/keys)ページ（`platform.claude.com/settings/keys`）に移動し、**Create key**をクリックします。キーに名前を付け、[有効期限](https://platform.claude.com/docs/ja/manage-claude/authentication#key-expiration)を選択します。個人キーの場合は**Linked account**を自分自身に、複数のユーザー間で共有するキーの場合はサービスアカウントに設定します。キーを特定のワークスペースにスコープすることもでき、その場合は今後のリクエストでワークスペースIDを手動で設定する必要がなくなります。
* **キーの使用：** 直接HTTPリクエストで`Authorization: Bearer <key>`として送信するか、`ANTHROPIC_API_KEY`環境変数を設定すると、[クライアントSDK](https://platform.claude.com/docs/ja/cli-sdks-libraries/overview)が自動的に取得します。

```http
POST /v1/messages
Authorization: Bearer YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/json
```

レガシーの`x-api-key: YOUR_API_KEY`ヘッダーは、`Authorization`の代わりに引き続きサポートされています。

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

<CodeGroup>
  ```bash cURL
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "messages": [{"role": "user", "content": "Hello, Claude"}]
    }'
  ```

  ```python Python
  client = Anthropic(api_key="my-anthropic-api-key")
  # または、環境に ANTHROPIC_API_KEY を設定した場合:
  client = Anthropic()
  ```

  ```typescript TypeScript
  const client = new Anthropic({ apiKey: "my-anthropic-api-key" });
  // または、環境に ANTHROPIC_API_KEY を設定した場合:
  // const client = new Anthropic();
  ```

  ```go Go
  client := anthropic.NewClient(
  	option.WithAPIKey("sk-ant-api03-..."), // defaults to os.LookupEnv("ANTHROPIC_API_KEY")
  )
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;

  // 明示的
  AnthropicClient client = AnthropicOkHttpClient.builder()
    .apiKey("my-anthropic-api-key")
    .build();

  // ANTHROPIC_API_KEY（または anthropic.apiKey システムプロパティ）から
  AnthropicClient clientFromEnv = AnthropicOkHttpClient.fromEnv();
  ```

  ```csharp C#
  using Anthropic;

  AnthropicClient client = new() { ApiKey = "my-anthropic-api-key" };
  // または、環境変数に ANTHROPIC_API_KEY を設定した場合:
  // AnthropicClient client = new();
  ```

  ```php PHP
  // 環境変数から ANTHROPIC_API_KEY を読み取ります
  $client = new Client();
  // または、キーを明示的に渡します:
  $client = new Client(apiKey: 'my-anthropic-api-key');
  ```

  ```ruby Ruby
  anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key")
  # または、環境に ANTHROPIC_API_KEY を設定した場合:
  anthropic = Anthropic::Client.new
  ```

  ```bash CLI
  # zsh、bash、Windows の各バリアントについては /docs/en/cli-sdks-libraries/cli/authentication#api-key を参照してください
  export ANTHROPIC_API_KEY=sk-ant-api03-...
  ```
</CodeGroup>

### ワークスペースの選択

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

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

[Admin API](https://platform.claude.com/docs/ja/manage-claude/admin-api)は、キーが特定のワークスペースにスコープされていない場合にのみ、個人キーまたはサービスアカウントキーを受け入れます。

ワークスペースのIDは、Claude Consoleの[ワークスペース](https://platform.claude.com/settings/workspaces)ページ（`platform.claude.com/settings/workspaces`）の**ID**列で確認するか、[List Workspaces](https://platform.claude.com/docs/ja/api/organization/workspaces/list)エンドポイントを呼び出して確認できます。List Workspacesは、`include_default=true`を渡した場合にのみDefault Workspaceを含めます。Default WorkspaceのIDは、そこで実行されるすべてのリクエストの`anthropic-workspace-id`[レスポンスヘッダー](https://platform.claude.com/docs/ja/manage-claude/workspaces#identify-the-workspace-behind-an-api-response)にも含まれています。

<CodeGroup>
  ```bash cURL
  # マルチワークスペースキーでは、すべてのリクエストで必須です。
  # シングルワークスペースキーでは、anthropic-workspace-id ヘッダーを省略してください。
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-workspace-id: wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "messages": [{"role": "user", "content": "Hello, Claude"}]
    }'
  ```

  ```bash CLI
  # マルチワークスペースキーでは、すべてのコマンドで必須です。
  # シングルワークスペースキーの場合は --workspace-id を省略します。
  ant messages create \
    --workspace-id wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ \
    --model claude-opus-5-5 \
    --max-tokens 1024 \
    --message '{role: user, content: "Hello, Claude"}'
  ```

  ```python Python
  client = Anthropic()  # reads ANTHROPIC_API_KEY

  # マルチワークスペースキーでは、すべてのリクエストで必須です。
  # シングルワークスペースキーの場合は extra_headers を省略します。
  message = client.messages.create(
      model="claude-opus-5-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"},
  )
  ```

  ```typescript TypeScript
  const client = new Anthropic(); // reads ANTHROPIC_API_KEY

  // マルチワークスペースキーでは、すべてのリクエストで必須です。
  // シングルワークスペースキーの場合は、2番目の引数を省略してください。
  const message = await client.messages.create(
    {
      model: "claude-opus-5-5",
      max_tokens: 1024,
      messages: [{ role: "user", content: "Hello, Claude" }]
    },
    { headers: { "anthropic-workspace-id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" } }
  );
  console.log(message.content);

  // または、このクライアントからのすべてのリクエストに対して一度だけ設定します：
  const workspaceClient = new Anthropic({
    defaultHeaders: { "anthropic-workspace-id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ" }
  });
  ```

  ```csharp C#
  AnthropicClient client = new(); // reads ANTHROPIC_API_KEY

  MessageCreateParams parameters = new()
  {
      Model = Model.ClaudeOpus5_5,
      MaxTokens = 1024,
      Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
  };

  // マルチワークスペースキーでは、すべてのリクエストで必須です。
  // シングルワークスペースキーの場合は、client.Messages.Create(parameters) を直接呼び出します。
  var message = await client
      .WithOptions(options =>
          options with
          {
              ExtraHeaders = new Dictionary<string, string>
              {
                  ["anthropic-workspace-id"] = "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
              },
          }
      )
      .Messages.Create(parameters);
  Console.WriteLine(message);

  // または、このクライアントからのすべてのリクエストに対して一度だけ設定します：
  AnthropicClient workspaceClient = new(new ClientOptions
  {
      ExtraHeaders = new Dictionary<string, string>
      {
          ["anthropic-workspace-id"] = "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
      },
  });
  ```

  ```go Go
  client := anthropic.NewClient() // reads ANTHROPIC_API_KEY

  // マルチワークスペースキーでは、すべてのリクエストで必須です。
  // シングルワークスペースキーの場合は、このオプションを省略してください。
  message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
  	Model:     anthropic.ModelClaudeOpus5_5,
  	MaxTokens: 1024,
  	Messages: []anthropic.MessageParam{
  		anthropic.NewUserMessage(anthropic.NewTextBlock("Hello, Claude")),
  	},
  }, option.WithHeader("anthropic-workspace-id", "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"))
  if err != nil {
  	log.Fatal(err)
  }
  fmt.Println(message.Content)

  // または、このクライアントからのすべてのリクエストに対して一度だけ設定します：
  workspaceClient := anthropic.NewClient(
  	option.WithHeader("anthropic-workspace-id", "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"),
  )
  ```

  ```java Java
  AnthropicClient client = AnthropicOkHttpClient.fromEnv(); // reads ANTHROPIC_API_KEY

  // マルチワークスペースキーでは、すべてのリクエストで必須です。
  // シングルワークスペースキーの場合は putAdditionalHeader を省略してください。
  Message message = client.messages().create(MessageCreateParams.builder()
      .model(Model.CLAUDE_OPUS_5_5)
      .maxTokens(1024)
      .addUserMessage("Hello, Claude")
      .putAdditionalHeader("anthropic-workspace-id", "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ")
      .build());

  IO.println(message.content());

  // または、このクライアントからのすべてのリクエストに対して一度だけ設定します：
  AnthropicClient workspaceClient = AnthropicOkHttpClient.builder()
      .fromEnv()
      .putHeader("anthropic-workspace-id", "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ")
      .build();
  ```

  ```php PHP
  $client = new Client(); // reads ANTHROPIC_API_KEY

  // マルチワークスペースキーでは、すべてのリクエストで必須です。
  // シングルワークスペースキーの場合は requestOptions を省略してください。
  $message = $client->messages->create(
      model: Model::CLAUDE_OPUS_5_5,
      maxTokens: 1024,
      messages: [['role' => 'user', 'content' => 'Hello, Claude']],
      requestOptions: [
          'extraHeaders' => ['anthropic-workspace-id' => 'wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ'],
      ],
  );

  echo json_encode($message->content), PHP_EOL;
  ```

  ```ruby Ruby
  client = Anthropic::Client.new # reads ANTHROPIC_API_KEY

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

  puts message.content
  ```
</CodeGroup>

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

```json 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リファレンス](https://platform.claude.com/docs/ja/manage-claude/wif-reference)を参照してください。

### キーの有効期限

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

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

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

ConsoleのAPIキーテーブルには各キーの有効期限が表示され、Admin APIは[List API Keys](https://platform.claude.com/docs/ja/api/organization/api_keys/list)および[Retrieve API Key](https://platform.claude.com/docs/ja/api/organization/api_keys/retrieve)エンドポイントで各キーの`expires_at`タイムスタンプを報告するため、期限切れになる前にキーを監査してローテーションできます。有効期限のないキーの場合、このフィールドは`null`です。

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

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

ワークスペースキーをお持ちの場合は、[Workload Identity Federation](https://platform.claude.com/docs/ja/manage-claude/wif-reference)または個人キーやサービスアカウントキーに置き換えることをお勧めします。これにより、セキュリティと可観測性が向上します。

長命のキーよりも推奨されるWorkload Identity Federationの設定の詳細については、[Workload Identity Federation](https://platform.claude.com/docs/ja/manage-claude/wif-reference)を参照してください。

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

1. **キーの種類を決定します。** 自分のツールには個人キーを使用する必要があります。共有または無人のワークロードにはサービスアカウントキーを使用する必要があります。
2. 必要に応じて**サービスアカウントを作成します**。組織管理者に依頼して、Claude Consoleの[サービスアカウント](https://platform.claude.com/settings/service-accounts)ページ（`platform.claude.com/settings/service-accounts`）でサービスアカウントを作成し、関連するワークスペースに追加してもらう必要がある場合があります。
3. **新しいキーを作成します。** 複数のワークスペースが必要でない限り、統合のワークスペース専用に作成します。
4. **新しいキーをデプロイします。** 統合がキーを読み取る場所（通常は`ANTHROPIC_API_KEY`環境変数またはシークレットマネージャーのエントリ）で古いキーを置き換えます。マルチワークスペースキーの場合は、[ワークスペースの選択](https://platform.claude.com/docs/ja/manage-claude/authentication#select-a-workspace)に示すように`anthropic-workspace-id`ヘッダーも送信します。
5. **古いキーを削除します。** リクエストが成功することを確認してから、Claude Consoleの[APIキーページ](https://platform.claude.com/settings/keys)でワークスペースキーを削除します。

## Workload Identity Federation

Workload Identity Federation（WIF）を使用すると、ワークロードは、AWS IAM、Google Cloud、または標準準拠の任意のOIDC発行者（GitHub Actions、Kubernetesサービスアカウント、SPIFFE、Microsoft Entra ID、Oktaなど）といった、すでに信頼している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](https://platform.claude.com/docs/ja/manage-claude/workload-identity-federation)を参照してください。

## App Attest

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

アプリを登録してクライアントIDを取得するには、[iOSおよびmacOSアプリ向けApp Attest](https://platform.claude.com/docs/ja/manage-claude/app-attest)を参照してください。

## 次のステップ

<CardGroup cols={2}>
  <Card title="Workload Identity Federationのセットアップ" icon="lock" href="https://platform.claude.com/docs/ja/manage-claude/workload-identity-federation">
    発行者、ルール、サービスアカウントを設定し、トークンを交換します
  </Card>

  <Card title="IDプロバイダーガイド" icon="cloud" href="https://platform.claude.com/docs/ja/manage-claude/workload-identity-federation#identity-providers">
    AWS、Google Cloud、Azure、GitHub Actions、Kubernetes、SPIFFE、Oktaのステップバイステップガイド
  </Card>

  <Card title="WIFリファレンス" icon="book" href="https://platform.claude.com/docs/ja/manage-claude/wif-reference">
    環境変数、検証ルール、プロファイル設定、エラーリファレンス
  </Card>

  <Card title="iOSおよびmacOSアプリ向けApp Attest" icon="fingerprint" href="https://platform.claude.com/docs/ja/manage-claude/app-attest">
    APIキーを配布せずに、アプリの正規のインストールがClaude APIを呼び出せるようにします
  </Card>

  <Card title="クライアントSDK" icon="code" href="https://platform.claude.com/docs/ja/cli-sdks-libraries/overview">
    Python、TypeScript、C#、Go、Java、PHP、Ruby、およびCLI
  </Card>
</CardGroup>
