Product SiteDocumentation Site

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

Система ACL (Access Control List) позволяет гибко настраивать права для любого пользователя или группы на любые операции с ресурсами.
Каждое правило имеет формат:
<пользователь> <ресурс> <операции> [<зона>]
Синтаксис:
  • пользователь:
    • #<ID> — конкретный пользователь;
    • @<ID> — группа пользователей;
    • * — все пользователи;
  • ресурс:
    • типы ресурсов: VM, HOST, NET, IMAGE, TEMPLATE, и т. д.;
    • идентификатор: #<ID> (объект), @<ID> (группа), %<ID> (кластер), * (все);
    • * — все;
  • операции:
    • USE, MANAGE, ADMIN, CREATE.
Пример правила:
#5 IMAGE+TEMPLATE/@103 USE+MANAGE
Пользователь #5 может использовать и управлять всеми образами и шаблонами, принадлежащими группе @103.

Примечание

Разница между *NET/#47USE" и *NET/@47USE:
  • #47 — сеть с ID 47;
  • @47 — все сети, принадлежащие группе 47.
Команды управления правилами:
$ oneacl list # просмотр списка правил
$ oneacl create "#3 IMAGE/#30 USE" # создание правила
$ oneacl delete <ID> # удаление правила
Просмотр списка правил:
$ 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 create "#3 IMAGE/#30 USE"
ID: 6
Расшифровка столбцов в выводе oneacl list:
  • ID — идентификатор правила.
  • USER — субъект, к которому применяется правило:
    • #<ID> — конкретный пользователь;
    • @<ID> — группа пользователей;
    • * — все пользователи.
  • Resources — типы ресурсов, на которые распространяется правило. Каждая позиция в строке соответствует определённому типу ресурса:
    • V — ВМ;
    • H — узел (хост);
    • N — виртуальная сеть;
    • I — образ;
    • U — пользователь;
    • T — шаблон;
    • G — группа;
    • D — хранилище данных;
    • C — кластер;
    • O — документ;
    • Z — зона;
    • S — группа безопасности;
    • v — виртуальный ЦОД (VDC);
    • R — виртуальный маршрутизатор;
    • M — магазин приложений;
    • A — приложение из магазина;
    • P — группа ВМ;
    • t — шаблон виртуальной сети;
    • B — задание резервного копирования.
    Наличие символа (V, H, N и т. д.) означает, что правило применяется к данному типу ресурсов. Прочерк (-) — отсутствие ограничений для этого типа.
  • RID — идентификатор ресурса:
    • #<ID> — конкретный ресурс;
    • @<ID> — ресурсы, принадлежащие группе;
    • %<ID> — ресурсы в кластере;
    • * — все ресурсы указанного типа.
  • Operations — разрешённые операции:
    • U — USE (использование);
    • M — MANAGE (управление);
    • A — ADMIN (администрирование);
    • C — CREATE (создание).
  • Zone — зона, в которой действует правило:
    • #<ID> — конкретная зона;
    • * — все зоны.
Важные особенности ACL:
  • Правила только расширяют права — если хотя бы одно правило разрешает операцию, она будет выполнена.
  • ACL не может ограничить права, предоставленные через стандартные разрешения (chmod).
В веб-интерфейсе можно создавать, редактировать и удалять ACL-правила:
Управление правилами ACL в Sunstone
Для создания нового правила ACL следует нажать кнопку Создать. В открывшемся диалоговом окне можно определить ресурсы, на которые распространяется правило, и разрешения, которые им предоставляются:
Управление правилами ACL в Sunstone