Управлять доступом в объектное хранилище
Доступ к ресурсам объектного хранилища регулируется:
- ролевой моделью — определяет доступ в рамках аккаунта и проекта;
- политикой доступа — определяет доступ в рамках контейнера.
При получении запроса на действие в объектном хранилище сначала проверяется доступ по ролевой модели. Если ролевая модель разрешает доступ, проверяется политика доступа, если нет — доступ запрещается.
Для доступа через API или по FTP выдайте ключи.
Доступ в рамках ролевой модели
Объектное хранилище поддерживает ролевую модель:
- Владелец аккаунта — имеет полный доступ ко всем проектам и управлению всеми ресурсами объектного хранилища и других продуктов в аккаунте через панель управления, а также управлению пользователями;
- Администратор аккаунта — имеет полный доступ ко всем проектам и управлению всеми ресурсами объектного хранилища, кроме пользователей;
- Администратор пользователей — может создавать пользователей и не имеет доступа к ресурсам объектного хранилища;
- Администратор проекта — имеет полный доступ к управлению объектным хранилищем и другими продуктами в проекте, кроме управления пользователями;
- Наблюдатель аккаунта — может просматривать ресурсы объектного хранилища и других продуктов во всех проектах;
- Наблюдатель прое кта — может просматривать ресурсы объектного хранилища и других продуктов в своем проекте;
- Администратор объектного хранилища — имеет полный доступ к управлению объектным хранилищем в проекте без доступа к другим продуктам и управлению пользователями;
- Пользователь объектного хранилища — по умолчанию не имеет доступа к просмотру и управлению ресурсами объектного хранилища. Он получает доступ к управлению объектами тех контейнеров, для которых настроена политика доступа, если правила политики разрешают доступ этому пользователю.
Пользователи панели управления
Сервисные пользователи
Доступ в рамках политики доступа
Если роль пользователя предусматривает доступ к объектному хранилищу, доступ к конкретному контейнеру зависит от наличия и настроек политики доступа:
- если политика доступа не создана, доступ будет разрешен всем пользователям с доступом в рамках ролевой модели, кроме роли Пользователь объектного хранилища;
- если политика доступа создана, запрещено все, что не разрешено правилами политики.
Подробнее о работе политики доступа в разделе Политика доступа.
Ключи для доступа через API
Выдавать ключи для доступа к хранилищу через API можно только сервисным пользователям.
В зависимости от типа API пользователю понадобится:
- токен Keystone, используется для доступа через Selectel Storage API и Swift API;
- S3-ключ (EC2-ключ), используется для подписи запросов S3 API и по FTP. Состоит из пары значений — Access Key ID и Secret Key.
Выдать S3-ключ сервисному пользователю
Выдавать S3-ключи (EC2-ключи) можно только сервисным пользователям с ролью с доступом в объектное хранилище.
Выдать S3-ключ сервисному пользователю может только Владелец аккаунта или Администратор пользователей. Получить S3-ключ самостоятельно сервисный пользователь не может, потому что у него нет доступа в панель управления.
Для каждого проекта необходимо создавать отдельный ключ. На один проект можно выпустить несколько ключей.
-
В панели управления перейдите в раздел Управление доступом → Управление пользователями.
-
Откройте вкладку Сервисные пользователи.
-
Откройте страницу сервисного пользователя → вкладка *Доступ.
-
В блоке S3-ключи нажмите Добавить ключ.
-
Введите имя ключа.
-
Выберите проект, для которого будет работать ключ.
-
Нажмите Сгенерировать. Будет сгенерировано два значения:
- Access key — Access Key ID, идентификатор ключа;
- Secret key — Secret Access Key, секретный ключ.
-
Нажмите Скопировать и сохраните ключ — после закрытия окна его нельзя будет просмотреть.