---
title: Аутентификация
url: https://platform.claude.com/docs/ru/manage-claude/authentication
description: Аутентификация в Claude API с помощью ключей API, Workload Identity Federation или App Attest.
---

Claude API поддерживает три способа аутентификации запросов:

| Метод                                                                                                                         | Учётные данные                                                                                                                      | Лучше всего подходит для                                                                                                                                        |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Ключ API](https://platform.claude.com/docs/ru/manage-claude/authentication#api-keys)                                         | Статический секрет `sk-ant-api...`, отправляемый как bearer-токен в заголовке `Authorization`                                       | Локальной разработки, прототипирования, скриптов и серверов, где вы контролируете хранение секретов                                                             |
| [Workload Identity Federation](https://platform.claude.com/docs/ru/manage-claude/authentication#workload-identity-federation) | Короткоживущий bearer-токен, обмениваемый на токен идентификации вашего поставщика удостоверений                                    | Производственных рабочих нагрузок на облачных платформах (AWS, Google Cloud, Azure), CI/CD-конвейеров и Kubernetes, где вы хотите устранить статические секреты |
| [App Attest](https://platform.claude.com/docs/ru/manage-claude/authentication#app-attest)                                     | Короткоживущий токен доступа, выдаваемый подлинной, аттестованной установке вашего зарегистрированного приложения для iOS или macOS | Приложений для iOS и macOS, распространяемых среди конечных пользователей, где приложение вызывает Claude API напрямую без бэкенда или прокси                   |

Ключи API и Workload Identity Federation предоставляют одинаковый доступ к эндпоинтам Claude API. Выберите ключи API, чтобы быстро начать работу: персональный ключ для вашей собственной разработки или ключ сервисного аккаунта для всего, что используется совместно. Переходите на Workload Identity Federation, когда у вашей рабочей нагрузки уже есть выданное платформой удостоверение, которое вы можете федерировать. Используйте App Attest для приложений iOS и macOS, которые вы распространяете среди конечных пользователей.

## Ключи API

Ключи API — это статические секреты, которые вы генерируете в Claude Console и отправляете с каждым запросом как bearer-токен в заголовке `Authorization`.

### Типы ключей

При создании ключа вы выбираете его тип, который определяет, что ключ может делать, где он работает и когда он перестаёт работать:

| Тип ключа                                   | Действует как                                                                                                        | Работает в                                                                                                                                                                                                                     | Перестаёт работать, когда                                                                                                                                                                                                                                                    |
| ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Персональный ключ**                       | Вы, пользователь, с вашими ролями и разрешениями                                                                     | Либо в одном рабочем пространстве, либо в рабочих пространствах, где ваша роль разрешает использование API, выбираемых при создании ключа                                                                                      | Вы теряете доступ к организации или, для ключа одного рабочего пространства, к этому рабочему пространству. Персональные ключи архивируются, когда вас удаляют из организации. Если вас приглашают повторно, создайте новые ключи; архивированные ключи не восстанавливаются |
| **Ключ сервисного аккаунта**                | [Сервисный аккаунт](https://platform.claude.com/docs/ru/manage-claude/workload-identity-federation#service-accounts) | Либо в одном рабочем пространстве, либо во всём, к чему имеет доступ сервисный аккаунт, выбираемом при создании ключа. Сервисный аккаунт имеет доступ к Default Workspace и к рабочим пространствам, в которые он был добавлен | Сервисный аккаунт архивируется или, для ключа одного рабочего пространства, удаляется из этого рабочего пространства                                                                                                                                                         |
| **Ключ рабочего пространства** (устаревший) | Никто: он принадлежит рабочему пространству, в котором был создан                                                    | Этому рабочему пространству                                                                                                                                                                                                    | Он истекает, отключается или удаляется, либо его рабочее пространство архивируется, независимо от того, покидает ли его создатель организацию                                                                                                                                |

Персональные ключи и ключи сервисных аккаунтов привязаны к удостоверению: каждый принадлежит пользователю или сервисному аккаунту, которым ваша организация уже управляет, и каждый запрос действует как это удостоверение. Когда это удостоверение удаляется из организации, ключ перестаёт работать. Это означает, что ключи не будут случайно переживать людей или рабочие нагрузки, которым они принадлежат. Предпочитайте их ключам рабочих пространств для новых интеграций.

Используйте персональный ключ для вашей собственной разработки и скриптов. Общий персональный ключ действует как один человек и ломается, когда он уходит. Для общих или автоматизированных рабочих нагрузок (CI, производственные сервисы) попросите администратора организации создать сервисный аккаунт, чтобы у рабочей нагрузки было собственное удостоверение.

Ключи API рабочих пространств по-прежнему работают, но их следует считать устаревшими; предпочтительны ключи, привязанные к удостоверению, или [Workload Identity Federation](https://platform.claude.com/docs/ru/manage-claude/workload-identity-federation). Для миграции см. [Замена ключей API рабочих пространств](https://platform.claude.com/docs/ru/manage-claude/authentication#replacing-workspace-api-keys).

### Создание и использование ключа

* **Создание ключа:** В Claude Console перейдите на страницу [API keys](https://platform.claude.com/settings/keys) (`platform.claude.com/settings/keys`) и нажмите **Create key**. Задайте имя ключа и выберите [срок действия](https://platform.claude.com/docs/ru/manage-claude/authentication#key-expiration). В поле **Linked account** укажите себя для персонального ключа или сервисный аккаунт для ключа, используемого несколькими пользователями. Вы также можете ограничить ключ определённым рабочим пространством, что позволит не указывать ID рабочего пространства вручную в последующих запросах.
* **Использование ключа:** Отправляйте его как `Authorization: Bearer <key>` в прямых HTTP-запросах или установите переменную окружения `ANTHROPIC_API_KEY`, и [клиентские SDK](https://platform.claude.com/docs/ru/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 в менеджере секретов, периодически ротируйте их и отключайте или удаляйте любой ключ, который, как вы подозреваете, мог утечь. На [странице ключей API](https://platform.claude.com/settings/keys) в Claude Console действие **Disable** обратимо (Admin API сообщает `status` ключа как `"inactive"`, а **Re-enable** возвращает его в `"active"`), тогда как **Delete** необратимо: ключ архивируется и по-прежнему отображается в [List API Keys](https://platform.claude.com/docs/ru/api/organization/api_keys/list) со значением `status: "archived"`. Ключи с истёкшим сроком действия можно только удалить. Вы также можете задать [срок действия](https://platform.claude.com/docs/ru/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
  # См. /docs/en/cli-sdks-libraries/cli/authentication#api-key для вариантов zsh, bash и Windows
  export ANTHROPIC_API_KEY=sk-ant-api03-...
  ```
</CodeGroup>

### Выбор рабочего пространства

Ключи API, созданные для определённого рабочего пространства, работают только в этом рабочем пространстве, и запросы API, использующие эти ключи, могут опускать ID рабочего пространства.

Если ваш ключ API не ограничен рабочим пространством, вы должны указать ID рабочего пространства в заголовке `anthropic-workspace-id` для каждого запроса. См. следующий пример того, как установить этот заголовок в запросе или в SDK.

[Admin API](https://platform.claude.com/docs/ru/manage-claude/admin-api) принимает персональный ключ или ключ сервисного аккаунта только в том случае, если ключ не ограничен определённым рабочим пространством.

ID рабочего пространства можно найти в столбце **ID** на странице [Workspaces](https://platform.claude.com/settings/workspaces) (`platform.claude.com/settings/workspaces`) в Claude Console или вызвав эндпоинт [List Workspaces](https://platform.claude.com/docs/ru/api/organization/workspaces/list). List Workspaces включает Default Workspace, только если передать `include_default=true`; его ID также содержится в [заголовке ответа](https://platform.claude.com/docs/ru/manage-claude/workspaces#identify-the-workspace-behind-an-api-response) `anthropic-workspace-id` любого запроса, выполняемого в нём.

<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

  // Обязательно в каждом запросе для ключа с несколькими рабочими пространствами.
  // Опустите второй аргумент для ключа с одним рабочим пространством.
  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 рабочего пространства, возвращает 400 `invalid_request_error` с сообщением `anthropic-workspace-id header must be a valid workspace ID.` Если рабочее пространство не существует или пользователь или сервисный аккаунт ключа не имеет к нему доступа, API возвращает 404 `not_found_error` с сообщением ``Workspace `<id>` not found.``, тот же ответ, что и для любого неизвестного рабочего пространства.

Workload Identity Federation выбирает рабочее пространство при обмене токенами; подробности см. в [справочнике WIF](https://platform.claude.com/docs/ru/manage-claude/wif-reference).

### Срок действия ключа

Когда вы создаёте ключ API на [странице ключей API](https://platform.claude.com/settings/keys) в Claude Console, вы выбираете срок действия: предустановку (3 часа, 1 день, 7 дней или 30 дней), пользовательскую продолжительность или **Never** для ключей, которые вы храните в менеджере секретов и меняете самостоятельно. Если в вашей организации есть политика максимального срока действия, Console ограничивает предустановки и пользовательские продолжительности максимумом политики, а **Never** недоступен. Существующие ключи сохраняют своё текущее поведение; срок действия устанавливается во время создания и не может быть изменён впоследствии. Тот же выбор срока действия применяется, когда вы [создаёте ключ Admin API](https://platform.claude.com/docs/ru/manage-claude/admin-api-keys) в Claude Console.

Anthropic отправляет создателю ключа электронное письмо по мере приближения срока действия: за 7 дней до истечения для ключей, созданных со сроком жизни не менее 14 дней, и за 1 день для ключей со сроком жизни не менее 7 дней. Ключи с более коротким сроком жизни истекают без предупреждающего письма.

После истечения срока действия ключа запросы, сделанные с ним, возвращают `401 authentication_error`. Создайте новый ключ для восстановления доступа; истёкшие ключи не могут быть повторно активированы.

Таблица ключей API в Console показывает срок действия каждого ключа, а Admin API сообщает временную метку `expires_at` каждого ключа в эндпоинтах [List API Keys](https://platform.claude.com/docs/ru/api/organization/api_keys/list) и [Retrieve API Key](https://platform.claude.com/docs/ru/api/organization/api_keys/retrieve), чтобы вы могли проверять и ротировать ключи до истечения их срока действия. Для ключей без срока действия это поле равно `null`.

Срок действия ограничивает время жизни скомпрометированных учётных данных, но он не заменяет гигиену секретов. Независимо от срока действия, храните ключи в менеджере секретов и отключайте или удаляйте любой ключ, который, как вы подозреваете, был скомпрометирован.

### Замена ключей API рабочих пространств

Если у вас есть ключ рабочего пространства, вы можете захотеть заменить его на [Workload Identity Federation](https://platform.claude.com/docs/ru/manage-claude/wif-reference) или персональный ключ или ключ сервисного аккаунта. Это обеспечивает лучшую безопасность и наблюдаемость.

См. [Workload Identity Federation](https://platform.claude.com/docs/ru/manage-claude/wif-reference) для получения подробной информации о настройке Workload Identity Federation, который предпочтительнее долгоживущих ключей.

Чтобы заменить ключ рабочего пространства на персональный ключ или ключ сервисного аккаунта:

1. **Определите тип ключа.** Ваш собственный инструментарий должен использовать персональный ключ. Общая или автономная рабочая нагрузка должна использовать ключ сервисного аккаунта.
2. **Создайте сервисный аккаунт**, если необходимо. Возможно, вам придётся попросить администратора организации создать его на странице [Service accounts](https://platform.claude.com/settings/service-accounts) (`platform.claude.com/settings/service-accounts`) в Claude Console и добавить его в соответствующее рабочее пространство.
3. **Создайте новый ключ.** Создайте его специально для рабочего пространства интеграции, если не требуется несколько рабочих пространств.
4. **Разверните новый ключ.** Замените старый ключ везде, где интеграция его читает, обычно это переменная окружения `ANTHROPIC_API_KEY` или запись в менеджере секретов. Для ключа с несколькими рабочими пространствами также отправляйте заголовок `anthropic-workspace-id`, как показано в разделе [Выбор рабочего пространства](https://platform.claude.com/docs/ru/manage-claude/authentication#select-a-workspace).
5. **Удалите старый ключ.** Убедитесь, что запросы выполняются успешно, затем удалите ключ рабочего пространства на [странице ключей API](https://platform.claude.com/settings/keys) в Claude Console.

## Workload Identity Federation

Workload Identity Federation (WIF) позволяет рабочей нагрузке аутентифицироваться с помощью короткоживущего токена идентификации, выданного поставщиком удостоверений (IdP), которому вы уже доверяете, таким как AWS IAM, Google Cloud или любой соответствующий стандартам эмитент OIDC (например, GitHub Actions, сервисные аккаунты Kubernetes, SPIFFE, Microsoft Entra ID или Okta). Рабочая нагрузка обменивает свой выданный IdP JWT на `POST /v1/oauth/token` на короткоживущий токен доступа Claude API, и SDK автоматически обновляет этот токен до его истечения. Нет строки `sk-ant-api...`, которую нужно создавать, распространять или менять.

Федерация удаляет долгоживущие ключи Claude API из вашей среды, что уменьшает радиус поражения скомпрометированных учётных данных и позволяет вам управлять доступом с помощью тех же элементов управления IdP, которые вы уже используете для облачных ресурсов. Сама по себе она не гарантирует сквозную безопасность: цепочка доверия настолько сильна, насколько сильна конфигурация вашего поставщика удостоверений, а долгоживущий секрет на один шаг выше по цепочке (например, статические облачные учётные данные, которые могут создавать токены IdP) всё ещё может её подорвать. Сочетайте федерацию с элементами управления вашего поставщика, такими как списки разрешённых IP, MFA и журналирование аудита.

Чтобы настроить федерацию, вы создаёте три ресурса в Claude Console (сервисный аккаунт, эмитент федерации и правило федерации), а затем указываете вашему SDK на это правило. См. [Workload Identity Federation](https://platform.claude.com/docs/ru/manage-claude/workload-identity-federation) для полного пошагового руководства по настройке.

## App Attest

App Attest аутентифицирует приложения iOS и macOS, которые вызывают Claude API напрямую с устройства. Каждая установка доказывает, что она является подлинной, немодифицированной сборкой приложения, которое вы зарегистрировали в Claude Console, используя сервис App Attest от Apple. Затем Anthropic выдаёт устройству короткоживущий токен доступа, который выставляет счёт за использование вашему рабочему пространству. Токены ограничены вашим рабочим пространством, истекают через один час и авторизуют только вызовы [Messages API](https://platform.claude.com/docs/ru/api/messages/create).

Чтобы зарегистрировать ваше приложение и получить client ID, см. [App Attest для приложений iOS и macOS](https://platform.claude.com/docs/ru/manage-claude/app-attest).

## Следующие шаги

<CardGroup cols={2}>
  <Card title="Настройка Workload Identity Federation" icon="lock" href="https://platform.claude.com/docs/ru/manage-claude/workload-identity-federation">
    Настройте эмитентов, правила и сервисные аккаунты, затем обменивайте токены
  </Card>

  <Card title="Руководства по поставщикам удостоверений" icon="cloud" href="https://platform.claude.com/docs/ru/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/ru/manage-claude/wif-reference">
    Переменные окружения, правила валидации, конфигурация профиля и справочник ошибок
  </Card>

  <Card title="App Attest для приложений iOS и macOS" icon="fingerprint" href="https://platform.claude.com/docs/ru/manage-claude/app-attest">
    Позвольте подлинным установкам вашего приложения вызывать Claude API без поставки ключа API
  </Card>

  <Card title="Клиентские SDK" icon="code" href="https://platform.claude.com/docs/ru/cli-sdks-libraries/overview">
    Python, TypeScript, C#, Go, Java, PHP, Ruby и CLI
  </Card>
</CardGroup>
