Домой —> Sharx Base в. 5.10 —> SB-01 Документация
SB-01-0033 Правила ACL (Access Control List - список управления доступом)
Любые операции, производимые пользователем или группой пользователей, проверяются в правилах ACL. Каждая операция генерирует запрос к правилам ACL, а система может подтвердить запрос, при наличии прав доступа к объекту или операции, либо отклонить его. Данные правила позволяют администраторам платформы настраивать права пользователей в соответствии с их требованиями к инфраструктуре. Механизм ACL является расширенным механизмом настройки прав доступа и в обычных условиях достаточно использовать стандартный механизм выдачи прав на основе заранее сгенерированных ACL правил.
Правила состоят из следующих частей:
- Пользователь – указывается в виде его ID;
- Объект – состоит из списка объектов, перечисляемых через «+» и отделяемых «/» с указанем ID подмножества ресурсов;
- Права – список прав доступа: использование, управление, администирование (при использовании нескольких перечисляемых через «+»);
- Зона – по умолчанию указывается значение 0 или *. В первом случае это ID зоны по умолчанию или * при использовании всех.
ID для пользователя может быть описано, как #ID пользователя, @ID группы или * для всех.
Ресурсы, перечисляемые списком:
- V : VM – Виртуальная машина;
- H : HOST – Узел;
- N : NET – Сеть;
- I : IMAGE – Образы дисков;
- U : USER – Пользователи;
- T : TEMPLATE - Шаблоны;
- G : GROUP – Группы;
- D : DATASTORE – Хранилища;
- C : CLUSTER – Кластеры;
- Z : ZONE – Зоны;
- v : VDC – Виртуальные ДЦ;
- R : VROUTER – Виртуальные роутеры;
- M : MARKETPLACE;
- A : MARKETPLACEAPP.
ID ресурса имеет аналогичное описание, но для описания кластера используется %ID.
Пример 1:
#22 VM+NET+IMAGE+TEMPLATE/* CREATE #0
Пользователь с id 22 получил права на созданием объектов виртуальных машин, сетей, образов, шаблонов в кластере «0».
Пример 2:
#22 NET/#22 USE #0
Пользователь с id 22 получил права на использование сети с ID22. Пользователь сможет создавать ВМ на основе шаблонов с данной сетью, при добавлении к MANAGE - подключать данные сети к своим ВМ в кластере 0.
Пример 3:
#22 NET/@22 USE #0
Пользователь с id 22 получил права на использование всех сетей принадлежащих группе ID22. Пользователь сможет создавать ВМ на основе шаблонов с данными сетями. при добавлении к MANAGE подключать данные сети к своим ВМ в кластере 0.
Пример 3 :
#22 NET/%0 USE #0
Пользователь с id 22 получил права на использование всех сетей принадлежащих кластеру ID0. Пользователь сможет создавать ВМ на основе шаблонов с данными сетями, при добавлении к MANAGE подключать данные сети к своим ВМ в кластере 0.
Для создания ACL правила можно использовать веб-интерфейс или CLI. Если необходимо изменить правило - его нужно удалить и создать заново.
Просмотр правил в CLI:
$ sdcacl list ID USER RES_VHNIUTGDCOZSvRMAP RID OPE_UMAC ZONE 0 @1 V--I-T---O-S----P * ---c * 1 * ----------Z------ * u--- * 2 * --------------MA- * u--- * 3 @1 -H--------------- * -m-- #0 4 @1 --N----D--------- * u--- #0 5 @100 -H--------------- * -m-- #0 6 @100 --N----D--------- * u--- #0 7 @100 V-NI-T---O-S-R--- * ---c * 8 @100 V--------O------- @100 u--- * 9 #2 ----U------------ @100 umac * 10 #2 V-NI-T---O-S-R--P @100 um-- * 11 #2 -------------R--- * ---c * 12 #2 ------G---------- #100 -m-- *
Создание правила в CLI:
$ sdcacl create #22 NET/@22 USE #0 ID : 524 $ sdcacl list 524 #22 --N-------------- @22 u--- #0
Удаление правила в CLI:
$ sdcacl delete 524