Product SiteDocumentation Site

31.4. Управление правилами ACL

Система правил ACL позволяет точно настроить разрешенные операции для любого пользователя или группы пользователей. Каждая операция генерирует запрос на авторизацию, который проверяется на соответствие зарегистрированному набору правил ACL. Затем ядро ​​может дать разрешение или отклонить запрос.
Просмотреть список правил можно, выполнив команду:
$ oneacl list
  ID     USER RES_VHNIUTGDCOZSvRMAPt   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---------------     *     u---    #0
   5       @1     -------D----------     *     u---    #0
   6       #3     ---I--------------   #30     u---    #0
Данные правила соответсвуют следующим:
@1      VM+IMAGE+TEMPLATE+DOCUMENT+SECGROUP/*   CREATE  *
*       ZONE/*                                  USE     *
*       MARKETPLACE+MARKETPLACEAPP/*            USE     *
@1      HOST/*                                  MANAGE  #0
@1      NET/*                                   USE     #0
@1      DATASTORE/*                             USE     #0
#3      IMAGE/#30                                    USE     *
Первые шесть правил были созданы при начальной загрузке OpenNebula, а последнее — с помощью oneacl:
$ oneacl create "#3 IMAGE/#30 USE"
ID: 6
Столбцы в выводе oneacl list:
  • ID — идентификатор правила;
  • USER — пользователь. В этом поле может быть указан идентификатор пользователя (#), идентификатор группы (@) или все пользователи (*);
  • Resources — тип ресурса, к которому применяется правило:
    • V — ВМ;
    • H — узел;
    • N — виртуальная сеть;
    • I — образ;
    • U — пользователь;
    • T — шаблон;
    • G — группа;
    • D — хранилище;
    • C — кластер;
    • O — документ;
    • Z — зона;
    • S — группа безопасности;
    • v — виртуальный дата центр (VDC);
    • R — виртуальный маршрутизатор;
    • M — магазин приложений;
    • A — приложение из магазина приложений;
    • P — группа ВМ;
    • t — шаблон виртуальной сети;
  • RID — идентификатор ресурса. В этом поле может быть указан идентификатор отдельного объекта (#), группы (@) или кластера (%), или все объекты (*);
  • Operations — разрешённые операции:
    • U — использовать;
    • M — управлять;
    • A — администрировать;
    • C — создавать;
  • Zone — зоны, в которых применяется правило. В этом поле может быть указан идентификатор отдельной зоны (#), или всех зон (*).
Для удаления правила используется команда:
$ oneacl delete <ID>
Управлять правилами ACL удобно в веб-интерфейсе:
Управление правилами ACL в OpenNebula-Sunstone
Для создания нового правила ACL, следует нажать кнопку Создать. В открывшемся диалоговом окне можно определить ресурсы, на которые распространяется правило, и разрешения, которые им предоставляются:
Управление правилами ACL в OpenNebula-Sunstone

Примечание

Каждое правило ACL добавляет новые разрешения и не может ограничивать существующие: если какое-либо правило даёт разрешение, операция разрешается.