Управлять доступом к S3
Доступ к ресурсам S3 регулируется:
- проектами — определяют доступ в рамках изолированной группы ресурсов;
- ролями — определяют доступ пользователей, сервисных пользователей и групп в рамках аккаунта и проекта.
- политикой доступа — определяет доступ в рамках бакета.
При получении запроса на действие в S3 сначала проверяется доступ пользователя по ролевой модели. Если ролевая модель разрешает доступ пользователю, проверяется политика доступа, если нет — доступ запрещается.
Для доступа через API, инструменты автоматизации или по FTP используйте ключи.
Подробнее об управлении доступом в инструкции Управление доступом в продуктах Selectel.
Доступ в рамках ролей
Доступ к S3 дают роли S3 и глобальные роли, подробнее в инструкции Справочник ролей.
Роли S3
s3.admin
Пользователь с полным доступом к управлению S3 в рамках проекта. Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.
s3.user
Роль s3.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю.
Степень доступа определяется настройками политики доступа.
Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.
Отличается от роли s3.bucket.user только тем, что дает доступ к просмотру списка бакетов в проекте.
s3.bucket.user
Роль s3.bucket.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю.
Степень доступа определяется настройками политики доступа.
Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.
Отличается роли s3.user только тем, что не дает доступ к просмотру списка бакетов в проекте.
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. Можно выдавать только сервисным пользователям;
- S3-ключ (EC2-ключ), используется для подписи запросов S3 API и доступа по FTP. Состоит из пары значений — Access Key ID и Secret Key. Можно выдавать сервисным пользователям и пользователям панели.
Выдать S3-ключ пользователю
S3-ключ (EC2-ключ) нужно выдавать пользователю, которому разрешен доступ в S3 в рамках ролевой модели. Если роль пользователя не разрешает доступ в S3, S3-ключ бесполезен.
Users with access to the control panel can issue S3 keys for themselves, but we recommend creating service users and issuing S3 keys to them.
Only the Account Owner or a user with the iam.admin role can issue S3 keys to other users. Service user cannot obtain an S3 key independently, because they do not have access to the control panel — the key must be issued to them by the Account Owner or iam.admin.
A separate key must be created for each project. Multiple keys can be issued for one project.
-
In the control panel, click IAM.
-
Go to the section for the required user type:
- Users — for users with access to the control panel;
- Service users — for service users.
-
Open the user page → in the Access tab.
-
In the S3 keys block, click Add key.
-
Enter a key name.
-
Select a project for which the key will work.
-
Click Generate. Two values will be generated:
- Access key — Access Key ID, a key identifier;
- Secret key — Secret Access Key, a secret key.
-
Click Copy and save the key — you will not be able to view it after closing the window.