Skip to main content

Управлять доступом к S3

Доступ к ресурсам S3 регулируется:

При получении запроса на действие в S3 сначала проверяется доступ пользователя по ролевой модели. Если ролевая модель разрешает доступ пользователю, проверяется политика доступа, если нет — доступ запрещается.

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

Подробнее об управлении доступом в инструкции Управление доступом в продуктах Selectel.

Доступ в рамках ролей

Доступ к S3 дают роли S3 и глобальные роли, подробнее в инструкции Справочник ролей.

Группа ролейРольДоступ
Роли S3s3.adminУправление всеми бакетами в проекте
s3.userУправление определенным бакетом и просмотр списка бакетов
s3.bucket.userУправление определенным бакетом
object_storage:adminУправление всеми бакетами в проекте
object_storage_userУправление определенным бакетом
Глобальные ролиmemberУправление S3 и другими продуктами, аккаунтом, биллингом, проектами
billingУправление биллингом в S3 и других продуктах
iam.adminУправление доступами к S3 и другим продуктам
iam.viewerПросмотр доступов к S3 и другим продуктам
readerПросмотр ресурсов S3 и всех продуктов, аккаунта, биллинга, проектов

Роли S3

s3.admin

Пользователь с полным доступом к управлению S3 в рамках проекта. Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.

Области доступаПроект
Кому можно назначитьСервисным пользователям
Доступные операции в S3
  • просмотр списка бакетов в проекте;
  • просмотр содержимого бакетов;
  • управление объектами в бакете (загрузка, изменение, удаление и т. п.);
  • изменение настроек бакетов;
  • настройка политики доступа к бакету

s3.user

Роль s3.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю. Степень доступа определяется настройками политики доступа. Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.

Отличается от роли s3.bucket.user только тем, что дает доступ к просмотру списка бакетов в проекте.

Области доступаПроект
Кому можно назначитьСервисным пользователям
Доступные операции в S3
  • просмотр списка бакетов в проекте;
  • операции в бакете, которые разрешены политикой доступа

s3.bucket.user

Роль s3.bucket.user дает доступ в бакет S3, если в нем настроена политика доступа, которая разрешает доступ к бакету этому пользователю. Степень доступа определяется настройками политики доступа. Не имеет доступа к S3 в других проектах и другим продуктам в своем проекте.

Отличается роли s3.user только тем, что не дает доступ к просмотру списка бакетов в проекте.

Области доступаПроект
Кому можно назначитьСервисным пользователям
Доступные операции в S3Операции в бакете, которые разрешены политикой доступа

object_storage.admin

For your information

Роль object_storage:admin скоро будет удалена, ее нельзя назначать новым пользователям. Существующие пользователи с ролью object_storage:admin продолжают работать.

Устаревшая версия роли s3.admin. Обладает идентичными правами.

object_storage_user

For your information

Роль object_storage_user скоро будет удалена, ее нельзя назначать новым пользователям. Существующие пользователи с ролью object_storage_user продолжают работать.

Устаревшая версия роли s3.user. Обладает идентичными правами.

Глобальные роли

member

Роль member дает полный доступ ко всем сервисам. Не дает доступ к управлению пользователями, сервисными пользователями, группами пользователей и федерациями.

Области доступа
  • аккаунт;
  • проект
Кому можно назначить
  • пользователям;
  • сервисным пользователям;
  • группам пользователей
Доступные операции в S3

В области доступа Аккаунт:

  • управление S3 во всех проектах:

    • просмотр списка бакетов во всех проектах;
    • просмотр содержимого бакетов во всех проектах;
    • управление объектами в бакетах (загружать, удалять и т. п.) во всех проектах;
    • изменение настроек бакетов во всех проектах;
    • настройка политик доступа к бакетам во всех проектах;
    • отключение временной блокировки режима Governance у объектов и бакетов (Object Lock);
  • управление проектами, их лимитами и квотами;

  • управление биллингом

В области доступа Проект:

  • управление S3 в выбранном проекте:

    • просмотр списка бакетов;
    • просмотр содержимого бакетов;
    • управление объектами в бакете (загрузка, удаление и т. п.);
    • изменение настроек бакетов;
    • обход временной блокировки режима Governance (Object Lock)

billing

Роль billing дает доступ к управлению биллингом без доступа к управлению услугами.

Области доступаАккаунт
Кому можно назначить
  • пользователям;
  • сервисным пользователям;
  • группам пользователей
Доступные операции в S3
  • управление биллингом;
  • просмотр потребления S3

iam.admin

Роль iam.admin дает доступ к управлению пользователями и без доступа к услугам и биллингу. Не дает возможность управлять своей учетной записью: изменять разрешения, управлять уведомлениями, удалять пользователя. Первого пользователя с ролью iam.admin создает Владелец аккаунта.

Области доступаАккаунт
Кому можно назначить
  • пользователям;
  • сервисным пользователям;
  • группам пользователей
Доступные операции в S3

iam.viewer

Роль iam.viewer дает доступ к просмотру всего, чем управляет iam.admin.

Области доступаАккаунт
Кому можно назначить
  • пользователям;
  • сервисным пользователям;
  • группам пользователей
Доступные операции в S3

reader

Роль reader дает доступ к просмотру всего, чем управляет member в той же области доступа.

Области доступа
  • аккаунт;
  • проект
Кому можно назначить
  • пользователям;
  • сервисным пользователям;
  • группам пользователей
Доступные операции в S3

В области доступа Аккаунт:

  • просмотр списка бакетов во всех проектах;
  • просмотр содержимого бакетов во всех проектах;
  • просмотр настроек всех проектов, их лимитов и квот;
  • просмотр данных биллинга (баланса, банковских карт, отчетных документов, партнерской программы и т. п.)

В области доступа Проект:

  • просмотр списка бакетов выбранного проекта;
  • просмотр содержимого бакетов в выбранном проекте

Ключи для доступа через API

В зависимости от типа API пользователю понадобится:

Выдать S3-ключ пользователю

For your information

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.

  1. In the control panel, click IAM.

  2. Go to the section for the required user type:

    • Users — for users with access to the control panel;
    • Service users — for service users.
  3. Open the user page → in the Access tab.

  4. In the S3 keys block, click Add key.

  5. Enter a key name.

  6. Select a project for which the key will work.

  7. Click Generate. Two values will be generated:

    • Access key — Access Key ID, a key identifier;
    • Secret key — Secret Access Key, a secret key.
  8. Click Copy and save the key — you will not be able to view it after closing the window.