Политики доступа — это правила, которые определяют, кто может взаимодействовать с данными и каким образом. С их помощью вы можете управлять доступом к бакетам, объектам и группам объектов: разрешать или запрещать чтение, запись, удаление и другие действия. Политики позволяют точно настроить права для пользователей, сервисов и приложений, при этом учитываются условия, такие как источник запроса или используемые протоколы.
Политики доступа срабатывают тогда, когда пользователь или сервис обращается к ресурсу, например, пытается загрузить файл в бакет. В этот момент система проверяет все политики, которые могут применяться к этому запросу. Каждая политика содержит правила доступа: к какому ресурсу она относится, какие действия разрешены или запрещены, кому именно дается разрешение и в каких случаях. S3 обрабатывает все применимые политики и принимает решение — разрешить или отклонить запрос. Если ни одна из политик явно не разрешает действие, доступ по умолчанию считается запрещенным.
Как изменить тип доступа к объектам
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите Хранилище S3.
-
3
Кликните на название бакета, для которого нужно добавить политику доступа.
-
4
Перейдите на вкладку Политика доступа.
-
5
В блоке Тип доступа нажмите на карандаш:
-
6
Выберите подходящий тип доступа:
- По ключам — требует аутентификации парой Access Key ID/Secret Key,
- Открыт для всех — позволяет скачивать объекты по URL без авторизации.
Пользовательский тип доступа устанавливается автоматически, если в политике заданы собственные правила доступа.
Обратите внимание
При изменении типа доступа все политики безвозвратно удалятся.
-
7
Нажмите Изменить.
Как добавить правило политики доступа
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите Хранилище S3.
-
3
Кликните на название бакета, для которого нужно добавить политику доступа.
-
4
Перейдите на вкладку Политика доступа.
-
5
Нажмите Добавить правило.
-
6
Заполните поля:
- Название — укажите название политики доступа;
- Тип правила — выберите подходящий тип правила;
- Ключи доступа — в выпадающем списке выберите нужный набор ключей доступа;
- Действия — в выпадающем списке выберите подходящую категорию действий: Чтение, Чтение и запись, Все действия или Пользовательский набор действий. Если вы выбираете пользовательский набор действий, в выпадающем списке ниже отметьте нужные действия;
Список возможных действий
— Область действия — укажите область действия правила. Областью действия может быть бакет (<bucket-name>
), объект в бакете (<bucket-name>/some/key
), префикс (<bucket-name>/some/path/*
), а также пустой префикс для обозначения всех объектов в бакете (<bucket-name>/*
). В правило можно добавить несколько областей действия.
Обратите внимание
<bucket-name>/
(со слешем на конце), политика не применяется к бакету;bucket-name
и bucket-name/*
.
-
7
Если для выполнения правила необходимо условие, нажмите Добавить условие.
-
8
Заполните поля:
- Ключ — в выпадающем списке выберите ключ условия;
Список доступных ключей условия
— Оператор — в списке выберите нужный оператор условия;
Операторы условия
Операторы условия используются для сравнения значения ключа в условии политики со значением, указанным в запросе.
Числовые операторы
Число из запроса сравнивается с числом, указанным в условии.
Строковые операторы
Строка из запроса сравнивается со строкой, указанной в условии.
*
для подстановки нескольких символов и ?
для подстановки одного символа*
для подстановки нескольких символов и ?
для подстановки одного символаОператоры даты и времени
Дата и время из запроса сравнивается с датой и временем, указанными в условии.
Операторы IP-адресов
IP-адрес в формате CIDR из запроса сравнивается с IP-адресом из условия
Оператор Bool
Оператор Bool сравнивает логическое значение из запроса (true или false) со значением из ключа. Условие удовлетворяется, если значение из запроса соответствует значению из условия.
Оператор IfExists
Оператор IfExists позволяет смягчить условие в случае, если указанный в условии ключ отсутствует в запросе.
IfExists можно использовать только совместно с другими операторами (кроме Null). Формат добавления: <имя оператора>IfExists. Пример: StringEqualsIfExists.
Тип данных соответствует типу данных оператора, к которому добавляется IfExists. Удовлетворение условия с IfExists зависит от того, присутствует ли ключ из запроса в условии:
- если ключ присутствует, условие обрабатывается по правилам оператора, с которым использовался IfExists, и может принять значение true или false;
- если ключ отсутствует, условие принимает значение true.
Оператор Null
Оператор Null проверяет наличие ключа из запроса в условии.
Тип данных — boolean.
Условие с оператором Null принимает значение true:
- если в запросе отсутствует ключ из условия;
- если ключ присутствует в запросе, но его значение не указано.
Если ключ присутствует и его значение задано, условие принимает значение false.
- Значение — укажите значение условия. Если вам нужно указать несколько значений, нажмите Добавить еще одно значение.
-
9
Нажмите кнопку Добавить.
-
10
Нажмите Добавить правило.
Как посмотреть заданное правило
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите Хранилище S3.
-
3
Кликните на название бакета, для которого нужно добавить политику доступа.
-
4
Перейдите на вкладку Политика доступа.
-
5
В блоке Правило доступа кликните на название нужного правила.
Готово, вы увидите страницу с параметрами и условиями правила.
Как отредактировать правило
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите Хранилище S3.
-
3
Кликните на название бакета, для которого нужно добавить политику доступа.
-
4
Перейдите на вкладку Политика доступа.
-
5
В блоке Правило доступа напротив нужного правила нажмите на 3 точки > Редактировать правило:
-
6
Отредактируйте необходимые поля.
-
7
Нажмите Сохранить.
Как удалить правило
-
1
Войдите в панель управления Рег.облака.
-
2
Нажмите Хранилище S3.
-
3
Кликните на название бакета, для которого нужно добавить политику доступа.
-
4
Перейдите на вкладку Политика доступа.
-
5
В блоке Правило доступа напротив нужного правила нажмите на 3 точки > Удалить правило:
-
6
Нажмите кнопку Удалить.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊