ГОСТ Р ИСО/МЭК 17826-2015
Если разрешение на операцию не было явно дано, даже ADMINISTRATOR® и эквивалентные
пользователи не могут получить доступ к объектам, отличным от корневого контейнера. Если адми
нистратору требуется доступ к объекту, следует обратиться к корневому контейнеру и изменить его
наследуемые АСЕ. чтобы разрешить доступ к необходимому объекту. В результате создается запись в
логе для отслеживания доступа.
Если создается корневой контейнер без указанияACL, сервер должен разместить для контейнера
ACL, содержащий следующие ACEs:
«cdmi_acl»:
I
{
«acetype»: «ALLOW»,
«identifier»: «OWNER@».
«aceflags»: «OBJECTJNHERIT. CONTAINERJNHERIT»,
«acemask»: «ALL_PERMS»
}.
{
«acetype»: «ALLOW».
«identifier»: «AUTHENTICATED®».
«aceflags»: «OBJECTJNHERIT. CONTAINERJNHERIT».
«acemask»: «READ»
}
]
Так какACL является метаданными системы хранения, они сохраняются и предоставляются через
поле metadata в запросе PUT или GET. Синтаксис ACL представлен ниже. Используются строковые
константы из таблиц 112.114,115.
ACL = { АСЕ [.АСЕ ...]}
АСЕ = { acetypo , identifier. aceflags . acemask}
acetype = uintj | acetypeitem
identifier = utf8stringj
aceflags
acemask
= u in tj | aceflagsstnng
= uintj | acemaskstring
acetypeitem = aceallowedtype |
acedeniedtype |
aceaudittype
aceallowedtype = «CDMI_ACE_ACCESS_ALLOWED_TYPE» |0x0
acedeniedtype = «CDMI_ACE_ACCESS_DENIED_TYPE» | 0x01
aceaudittype = «CDMI_ACE_SYSTEM_AUDIT_TYPE» | 0x02
aceflagsstring = aceflagsitem [| aceflagsitem ...]
aceflagsitem = aceobinherititem |
acecontinherititem |
acenopropagateitem |
aceinheritonlyitem
aceobinherititem = «CDMI_ACE_OBJECTJNHERIT_ACE» | 0x01
acecontinherititem = «CDMI_ACE_CONTAINERJNHERIT_ACE» | 0x02
acenopropagateitem = «CDMI_ACE_NO_PROPAGATE_INHERIT_ACE» | 0x04
aceinheritonlyitem = «CDMI_ACE_INHERIT_ONLY_ACE» | 0x08
acemaskstring = acemaskitem [| acemaskitem ...]
acemaskitem = acereaditem | acewriteitem ]
aceappenditem | acereadmetaitem.l
acewritemetaitem | acedeleteitem.l
acedelselfitem | acereadaclitem.|
acewriteaclitem | aceexecuteitem |
acereadattritem | acewriteattritem |
aceretentionitem
acereaditem= «CDMI_ACE_READ_OBJECT» |
126