Могу ли я использовать RACF в z/OS, чтобы иметь возможность только ЧИТАТЬ свой собственный набор данных, а не ОБНОВЛЯТЬ его?
Я хочу сделать набор данных FULTONM.MY.FILE доступным только для чтения всем, включая меня.
Я выдаю:
addsd 'FULTONM.MY.FILE' GEN UACC(NONE)"
Затем я выдаю:
listdsd dataset('FULTONM.MY.FILE')
который печатает:
INFORMATION FOR DATASET FULTONM.MY.FILE (G)
LEVEL OWNER UNIVERSAL ACCESS WARNING ERASE
----- -------- ---------------- ------- -----
00 FULTONM NONE NO NO
AUDITING
--------
FAILURES(READ)
NOTIFY
--------
NO USER TO BE NOTIFIED
YOUR ACCESS CREATION GROUP DATASET TYPE
----------- -------------- ------------
ALTER CDEV NON-VSAM
NO INSTALLATION DATA
Теперь я хочу ограничить доступ всем (включая меня: FULTONM) только ЧТЕНИЕМ. Я выдал:
tsocmd "permit 'FULTONM.MY.FILE' ID(*) ACCESS(READ) GENERIC"
tsocmd "listdsd da('FULTONM.MY.FILE') GENERIC"
Но я все еще могу обновить файл и не вижу никаких изменений в выводе LISTDSD?
Если я выдаю:
tsocmd "listdsd da('FULTONM.MY.FILE') GENERIC all"
Я вижу:
ID ACCESS
-------- -------
* READ
но я все еще могу обновить набор данных.
2 ответа
Вы не можете ограничить доступ к вашим собственным наборам данных, т. е. наборам данных, квалификатор высокого уровня (HLQ) которых соответствует вашему идентификатору пользователя.
Из руководства по RACF z/OS Security Server RACF — Руководство администратора безопасности -> «Отладка проблем в базе данных RACF» -> «Разрешение доступа к ресурсам, защищенным RACF»:
Если пользователи пытаются получить доступ к своим собственным ресурсам, RACF удовлетворяет запрос. Например:
o Для наборов данных на магнитной ленте и DASD, если идентификатор запрашивающего пользователя является квалификатором высокого уровня имени набора данных, RACF удовлетворяет запрос.
Обратите внимание , что это описывает стандартное поведение, предполагая, что ни один выход RACF не выполняет особых действий.
Я предполагаю, что в таблице глобального доступа есть запись, которая дает вам доступ ALTER к вашим собственным наборам данных.
Например, следующая запись позволяет пользователям иметь доступ ALTER к наборам данных, которые начинаются с их собственных идентификаторов пользователей. RALTER GLOBAL DATASET ADDMEM('&RACUID.**'/ALTER)
https://www.ibm.com/docs/en/zos/2.4.0?topic=table-creating-global-access-checking-entries
https://www.ibm.com/docs/en/zos/2.4.0?topic=table-how-global-access-checking-works