Ce n'est pas très droit devant documentation sage ou par programmation.
Votre option principale consiste à interroger la table sys_security_acl_role
pour un rôle et à répertorier la liste de contrôle d'accès associée.
Aussi la plupart des ACLs n'ont pas une bonne description et l'état avancé il faudrait que vous les lire aussi bien s'il n'y a pas rôle associé à une ACL.
Vous aurez besoin de regarder le name
et operation
de l'ACL pour saisir quel accès ils accordent.
Un exemple que vous pouvez exécuter comme script Contexte
var role = 'itil'; // role to check
// query the ACLs with the role related
var gr = GlideRecord('sys_security_acl_role');
gr.addQuery('sys_user_role.name', role);
gr.query();
while (gr.next()) {
// only show active ACLs
if (gr.sys_security_acl.active) {
gs.print(gr.sys_security_acl.name + " (" + gr.sys_security_acl.operation + ") - " + gr.sys_security_acl.description);
}
}
La sortie dépend de votre instance, mais l'idée.
new_call (create) - Allow create for records in new_call, for users with role itil.
ngbsm_view (create) - Allow create for records in ngbsm_view, for users with roles (itil, ecmdb_admin).
...etc...
Merci Kirk, apprécier votre entrée, mais que les choses de couverture ne vais pas comme règles d'affaires avec 'si gs.getUser(). GetRoles(). IndexOf() == -1' par exemple, se demandant comment les gens vont tout simplement à propos de trouver toutes les références à un rôle. Il se peut que je doive demander directement à SNOW leur contribution, je ne pense pas qu'il existe une option viable pour découvrir des rôles hérités potentiellement problématiques prêts à l'emploi. – Anthropic
Malheureusement, je ne crois pas qu'il existe un moyen de faire un inventaire complet pour un rôle. Une grande partie serait une inspection manuelle et il y a des changements dans chaque mise à niveau de fonctionnalité qui ne sont pas documentés. – Kirk