Примеры запросов для обеспечения безопасности в Configuration Manager
В следующих примерах запросов показано, как объединить представления безопасности с другими представлениями.
Объединение представлений безопасности
В следующем запросе перечислены имя пользователя, имя объекта и имя разрешения класса, которые пользователь имеет для защищенного объекта. Представление v_SecuredObject присоединяется к представлению v_UserClassPermNames с помощью столбца ObjectKey .
SELECT UCP.UserName, SO.ObjectName, UCP.PermissionName
FROM v_SecuredObject SO INNER JOIN v_UserClassPermNames UCP
ON SO.ObjectKey = UCP.ObjectKey
ORDER BY UCP.UserName, SO.ObjectName, UCP.PermissionName
Объединение представлений безопасности и коллекций
В следующем запросе перечислены все коллекции по идентификатору коллекции и имени коллекции, имени пользователя и разрешениям экземпляра для этой коллекции. Представление коллекции v_Collection присоединяется к представлению безопасности v_UserInstancePermNames с помощью столбцов CollectionID и InstanceKey соответственно.
SELECT COL.CollectionID, COL.Name AS CollectionName, UIP.UserName,
UIP.PermissionName
FROM v_Collection COL INNER JOIN v_UserInstancePermNames UIP
ON COL.CollectionID = UIP.InstanceKey
ORDER BY COL.CollectionID
В выходных данных предыдущего запроса будут перечислены все разрешения экземпляров для отдельных коллекций. Если у пользователя есть разрешения класса для объекта коллекций (который включает все экземпляры), необходимо выполнить другой запрос, чтобы получить все разрешения для пользователей на объект коллекций. (Ключ объекта 1 относится к объекту коллекции.)
Следующий запрос можно выполнить из представления v_UserClassPermNames , чтобы получить список всех разрешений класса пользователя для объекта collections.
SELECT UserName, PermissionName
FROM v_UserClassPermNames
WHERE ObjectKey = 1
При совместном использовании двух предыдущих запросов можно получить список разрешений пользователя для всех классов коллекций и экземпляров.