Управлять доступом к S3
Доступ к ресурсам S3 регулируется:
- проектами — определяют доступ в рамках изолированной группы ресурсов;
- ролями — определяют доступ пользователей панели, сервисных пользователей и групп в рамках аккаунта и проекта.
- политикой доступа — определяет доступ в рамках бакета.
При получении запроса на действие в S3 сначала проверяется роль пользователя. Если роль:
-
не разрешает действие — доступ запрещается;
-
разрешает действие — проверяется наличие и настройки политики доступа. Если политика доступа:
- не создана — доступ будет разрешен всем пользователям с доступом в рамках ролей, кроме пользователей с ролями object_storage_user, s3.user и s3.bucket.user;
- создана — запрещено все, что не разрешено правилами политики.
Для доступа через API, инструменты автоматизации и по FTP используйте ключи.
Подробнее об управлении доступом в инструкции Управление доступом в продуктах Selectel.
Доступ в рамках проектов
Все ресурсы в S3 создаются в определенном проекте. Вы можете группировать ресурсы по разным проектам и настраивать разрешения пользователей в зависимости от того, в какие проекты у них должен быть доступ.
Доступ в рамках ролей
Доступ к S3 дают роли S3 и глобальные роли. Подробнее о типах ролей в инструкции Справочник ролей.
Роли S3
s3.admin
Роль s3.admin дает доступ к управлению S3 в рамках проекта.
Не имеет доступа к S3 в других проектах и к другим продуктам в своем проекте.
* Недоступно управление политиками доступа и обход временной блокировки Object Lock в панели управления.
s3.user
Роль s3.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю.
Степень доступа определяется настройками политики доступа.
Не имеет доступа к S3 в других проектах и к другим продуктам в своем проекте.
s3.bucket.user
Роль s3.bucket.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю.
Степень доступа определяется настройками политики доступа.
Не имеет доступа к S3 в других проектах и к другим продуктам в своем проекте.
object_storage.admin
Роль object_storage:admin скоро будет удалена, ее нельзя назначать новым пользователям.
Существующие пользователи с ролью object_storage:admin продолжают работать.
Устаревшая версия роли s3.admin. Обладает идентичными правами.
object_storage_user
Роль object_storage_user скоро будет удалена, ее нельзя назначать новым пользователям.
Существующие пользователи с ролью object_storage_user продолжают работать.
Устаревшая версия роли s3.user. Обладает идентичными правами.
Глобальные роли
member
Роль member дает полный доступ ко всем сервисам.
Не дает доступ к управлению пользователями панели, сервисными пользователями, группами пользователей и федерациями.
billing
Роль billing дает доступ к управлению биллингом без доступа к управлению услугами.
iam.admin
Роль iam.admin дает доступ к управлению пользователями и не дает доступ к управлению продуктом и биллингом.
Не дает возможность управлять своей учетной записью: изменять разрешения, управлять уведомлениями, удалять пользователя.
Первого пользователя с ролью iam.admin создает Владелец аккаунта.
iam.viewer
Роль iam.viewer дает доступ к просмотру всего, чем управляет iam.admin.
reader
Роль reader дает доступ к просмотру всего, чем управляет member в той же области доступа.
Ключи для доступа через API
В зависимости от типа API пользователю понадобится:
- IAM-токен для проекта (X-Auth-Token). Используется для доступа через Object Storage API и Swift API. Можно выдавать только сервисным пользователям. Чтобы выдать IAM-токен для проекта, используйте подраздел Получить IAM-токен для проекта инструкции Аутентификация запросов документации API;
- S3-ключ (EC2-ключ). Используется для подписи запросов S3 API и доступа по FTP. Состоит из пары значений — Access Key ID и Secret Key. S3-ключ можно добавить себе или выдать другому пользователю. Ключ можно выдавать сервисным пользователям и пользователям. При этом у пользователя должна быть роль, которая разрешает доступ к S3.