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

# Security Token Service

_Security Token Service_ — компонент сервиса Identity and Access Management для получения _временных ключей доступа_, совместимых с [AWS S3 API](../../../storage/s3/index.md).

Временные ключи доступа в качестве способа аутентификации поддерживаются только в сервисе [Yandex Object Storage](../../../storage/index.md).

{% note info %}

Создание временных ключей доступа сервисных аккаунтов может быть запрещено [политиками авторизации](../access-control/access-policies.md) на уровне [каталога](../../../resource-manager/concepts/resources-hierarchy.md#folder), [облака](../../../resource-manager/concepts/resources-hierarchy.md#cloud) или [организации](../../../organization/concepts/organization.md).

{% endnote %}

С помощью временных ключей вы можете гранулярно разграничить доступы в [бакеты](../../../storage/concepts/bucket.md) Object Storage для множества пользователей, используя для этого всего один [сервисный аккаунт](../users/service-accounts.md). Права доступа сервисного аккаунта должны включать в себя все разрешения, которые вы хотите предоставлять с помощью временных ключей.

Временный ключ доступа создается на основе [статического ключа](access-key.md), но в отличие от него имеет ограниченные время жизни и права доступа. Права доступа и время жизни задаются для каждого временного ключа индивидуально.

Максимальное время жизни ключа — 12 часов.

Права доступа для ключа задаются с помощью [политики доступа](../../../storage/security/policy.md), описанной в формате JSON по [специальной схеме](../../../storage/s3/api-ref/policy/scheme.md).

{% note warning %}

Одна политика доступа Security Token Service задается только для конкретного бакета. Нельзя использовать один временный ключ сразу для нескольких бакетов.

{% endnote %}

Временные ключи Security Token Service наследуют права доступа сервисного аккаунта, но ограничиваются политикой доступа на уровне бакетов. Если задать в политике доступа для временного ключа разрешения на выполнение операций, которые не разрешены для сервисного аккаунта, операции не будут выполнены.

{% note tip %}

Если сервисному аккаунту назначены роли в Object Storage на каталог, то пользователи с временными ключами получат доступ к просмотру бакетов в этом каталоге. Рекомендуем назначать сервисному аккаунту роли на конкретные бакеты, а не на каталог.

{% endnote %}

{% note warning %}

Проверка доступа по [ACL](../../../storage/security/acl.md) объекта происходит после проверки политики Security Token Service. Поэтому если для сервисного аккаунта, через который вы получаете временные ключи доступа, настроены разрешения ACL на объекты в бакете, эти объекты станут доступны для запросов с временным ключом доступа, независимо от указанной политики. Подробнее на [схеме взаимодействия механизмов управления доступом](../../../storage/security/overview.md) в Object Storage.

{% endnote %}

Таким образом, вы можете, например, предоставить разным пользователям временные права на чтение и запись объектов в разные [префиксы (папки)](../../../storage/concepts/object.md#folder) одного и того же бакета. Для решения этой задачи с помощью статических ключей, вам понадобилось бы создать для каждого пользователя собственный сервисный аккаунт. Количество сервисных аккаунтов в облаке [ограничено](../limits.md#iam-quotas).

Временный ключ состоит из следующих частей:
* Идентификатор ключа (совпадает с идентификатором статического ключа).
* Секретный ключ.
* Токен сессии.

Чтобы получить временный ключ доступа с помощью Security Token Service, воспользуйтесь [AWS Command Line Interface (AWS CLI)](../../../storage/tools/aws-cli.md) или HTTP API, совместимым с [AWS STS API](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html).

Для работы с Security Token Service предусмотрен отдельный [эндпоинт API](../../../api-design-guide/concepts/endpoints.md): `https://sts.yandexcloud.net`.

Подробнее смотрите [Создать временный ключ доступа с помощью Security Token Service](../../operations/sa/create-sts-key.md).

{% note warning %}

Отозвать временный ключ нельзя. Однако вы можете [удалить](../../operations/authentication/manage-access-keys.md#delete-access-key) статический ключ, на основе которого был выпущен временный.

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

{% endnote %}


#### Полезные ссылки {#see-also}

* [Обзор способов управления доступом в Object Storage](../../../storage/security/overview.md)
* [Эфемерные ключи доступа, совместимые с AWS API](ephemeral-keys.md)