Security Token Service
Security Token Service — компонент сервиса Identity and Access Management для получения временных ключей доступа, совместимых с AWS S3 API.
Временные ключи доступа в качестве способа аутентификации поддерживаются только в сервисе Yandex Object Storage.
С помощью временных ключей вы можете гранулярно разграничить доступы в бакеты Object Storage для множества пользователей, используя для этого всего один сервисный аккаунт. Права доступа сервисного аккаунта должны включать в себя все разрешения, которые вы хотите предоставлять с помощью временных ключей.
Временный ключ доступа создается на основе статического ключа, но в отличие от него имеет ограниченные время жизни и права доступа. Права доступа и время жизни задаются для каждого временного ключа индивидуально.
Максимальное время жизни ключа — 12 часов.
Права доступа для ключа задаются с помощью политики доступа, описанной в формате JSON по специальной схеме.
Временные ключи Security Token Service наследуют права доступа сервисного аккаунта, но ограничиваются политикой доступа. Если задать в политике доступа для временного ключа разрешения на выполнение операций, которые не разрешены для сервисного аккаунта, операции не будут выполнены.
Важно
Проверка доступа по ACL объекта происходит после проверки политики Security Token Service. Поэтому если для сервисного аккаунта, через который вы получаете временные ключи доступа, настроены разрешения ACL на объекты в бакете, эти объекты станут доступны для запросов с временным ключом доступа, независимо от указанной политики. Подробнее см. на схеме взаимодействия механизмов управления доступом в Object Storage.
Таким образом, вы можете, например, предоставить разным пользователям временные права на чтение и запись объектов в разные префиксы (папки) одного и того же бакета. Для решения этой задачи с помощью статических ключей, вам понадобилось бы создать для каждого пользователя собственный сервисный аккаунт. Количество сервисных аккаунтов в облаке ограничено.
Временный ключ состоит из следующих частей:
- Идентификатор ключа (совпадает с идентификатором статического ключа).
- Секретный ключ.
- Токен сессии.
Чтобы получить временный ключ доступа с помощью Security Token Service, воспользуйтесь AWS Command Line Interface (AWS CLI) или HTTP API, совместимым с AWS STS API
Для работы с Security Token Service предусмотрен отдельный эндпоинт API: https://sts.yandexcloud.net
.
Подробнее см. Создать временный ключ доступа с помощью Security Token Service.
Важно
Отозвать временный ключ нельзя. Однако вы можете удалить статический ключ, на основе которого был выпущен временный.
Данное действие повлечет отзыв прав для всех временных ключей доступа, созданных на основе удаленного статического ключа.