[Документация Yandex Cloud](../../../index.md) > [Yandex Identity and Access Management](../../index.md) > [Концепции](../index.md) > [Аутентификация](index.md) > Refresh-токен

# Refresh-токен

_Refresh-токен_ — это тип учетных данных, позволяющий OAuth-приложению по истечении срока действия [IAM-токена](iam-token.md) пользователя автоматически получать новый IAM-токен. Refresh-токен выпускается для пользователя и передается в OAuth-приложение, которое выполняет аутентификацию пользователя в Yandex Cloud.

Одним из OAuth-приложений, поддерживающих использование refresh-токенов, является [Yandex Cloud CLI](../../../cli/index.md). Refresh-токены могут выпускаться для пользователей с любым типом [аккаунта](../users/accounts.md).

С помощью Yandex Cloud CLI и [API](../../api-ref/RefreshToken/index.md) вы можете [просматривать](../../operations/refresh-token/list.md) список выпущенных для пользователя refresh-токенов и [отзывать](../../operations/refresh-token/revoke.md) такие токены. Если у вас аккаунт на Яндексе, вы можете посмотреть список только своих refresh-токенов на портале [Мой аккаунт](https://kz.myaccount.yandex.cloud/).

## Срок жизни refresh-токенов {#token-lifetime}

Срок жизни refresh-токена составляет 31 день. Refresh-токен автоматически перевыпускается при его использовании для получения IAM-токена, если до окончания срока действия refresh-токена остается менее семи дней.

Если срок действия refresh-токена истек, необходимо получить новый refresh-токен. Новый refresh-токен будет создан автоматически при следующем получении IAM-токена. При этом пользователю придется повторно выполнить аутентификацию в браузере. 

Refresh-токены автоматически удаляются через семь дней после истечения срока их действия.

## Включение возможности использования refresh-токенов в Yandex Cloud CLI {#token-enabling}

Чтобы использовать refresh-токены в Yandex Cloud CLI, эту функциональность необходимо включить на уровне организации Yandex Identity Hub. Для этого:

{% list tabs group=instructions %}

- Интерфейс Cloud Center {#cloud-center}

  1. Войдите в сервис [Yandex Identity Hub](https://kz.center.yandex.cloud/organization) с учетной записью администратора или владельца организации.

      При необходимости [переключитесь](../../../organization/operations/manage-organizations.md#switch-to-another-org) на нужную организацию.
  1. На панели слева выберите ![shield](../../../_assets/console-icons/shield.svg) **Настройки безопасности**.
  1. В блоке **Настройки аутентификации** включите опцию **Разрешить использовать refresh-токены**.
  1. (Опционально) Если вы хотите использовать усиленную [защиту](refresh-token.md#dpop-verification) refresh-токенов с помощью DPoP-ключей с обязательным их сохранением на [устройстве YubiKey](https://developers.yubico.com/Passkeys/), включите опцию **Разрешить хранение DPoP-ключей только на устройствах YubiKey**.

      Если эта опция отключена, для защиты refresh-токенов можно можно будет использовать DPoP-ключи, сохраненные как на устройстве YubiKey, так и в файловой системе на компьютере пользователя.

{% endlist %}

Чтобы пользователи могли использовать refresh-токены в Yandex Cloud CLI, после включения этой функциональности на уровне организации каждый пользователь должен выполнить [инициализацию DPoP-защиты](refresh-token.md#enabling-dpop).

## Защита refresh-токенов с помощью DPoP в Yandex Cloud CLI {#dpop-verification}

Чтобы подтвердить подлинность запроса на получение IAM-токена с помощью refresh-токена, используется механизм [DPoP](https://datatracker.ietf.org/doc/html/rfc9449). Верификация выполняется с помощью специального DPoP-ключа, который создается на стороне пользовательского устройства и позволяет подтвердить подлинность пользователя, выполняющего запрос, и устройства, с которого этот запрос выполняется.

Если опция **Разрешить хранение DPoP-ключей только на устройствах YubiKey** в настройках организации [отключена](#token-enabling), для защиты refresh-токенов можно будет использовать DPoP-ключи, сохраненные как на устройстве YubiKey, так и в файловой системе на компьютере пользователя (менее безопасно).

Включите опцию **Разрешить хранение DPoP-ключей только на устройствах YubiKey**, чтобы повысить степень защиты refresh-токенов и оставить возможность использовать только DPoP-ключи, сохраненные на специализированном устройстве YubiKey, которое обеспечивает неизвлекаемость ключей.

### Инициализация DPoP-защиты refresh-токенов в Yandex Cloud CLI {#enabling-dpop}

DPoP-ключ, подтверждающий подлинность пользователя и устройства, которые отправляют запрос на получение IAM-токена, должен быть создан на стороне пользовательского устройства. Механизм создания, хранения и использования такого DPoP-ключа должен быть реализован внутри OAuth-приложения, использующего refresh-токены.

Чтобы инициализировать DPoP-защиту refresh-токенов федеративного пользователя в Yandex Cloud CLI:

1. Убедитесь, что на уровне вашей организации Yandex Identity Hub [включена](#token-enabling) возможность использования refresh-токенов.
1. Инициализируйте DPoP-защиту refresh-токенов на устройстве пользователя:

    {% list tabs group=instructions %}

    - Yandex Cloud CLI {#cli}

      1. [Создайте](../../../cli/operations/authentication/federated-user.md) профиль CLI федеративного пользователя и аутентифицируйтесь от его имени в Yandex Cloud.
      1. Запустите инициализацию DPoP-защиты:

          ```bash
          yc init --dpop
          ```

          Yandex Cloud CLI предложит вам пройти процедуру конфигурации DPoP-защиты:
          
          ```text
          Welcome! This command will take you through the configuration process.
          Do you want to initialize file system auth keys? [y/N]
          ```
      1. Пройдите процедуру конфигурации. Для этого введите `y` и нажмите `ENTER`.

          Следуйте инструкциям конфигуратора, чтобы сгенерировать и сохранить DPoP-ключ в файловой системе компьютера или на устройстве YubiKey.

    {% endlist %}

После выполнения инициализации при следующем получении нового IAM-токена для пользователя будет создан refresh-токен. В дальнейшем Yandex Cloud CLI станет самостоятельно обновлять IAM-токены данного федеративного пользователя без необходимости регулярно выполнять аутентификацию в браузере.

При хранении DPoP-ключа в файловой системе IAM-токен перевыпускается сразу. При использовании устройства YubiKey перевыпуск IAM-токена выполняется только после подтверждения действия на устройстве YubiKey.