Autorisations des Runbooks
Comment accorder/refuser l'accès à certains runbooks.
Portée
Ceci explique comment accorder/refuser l'accès à certains runbooks dans un locataire Azure. Si vous recherchez des réponses concernant les autorisations MS Graph nécessaires pour exécuter une certaine action en tant que runbook, veuillez consulter notre exigences.
onglet Vue d'ensemble
"Les autorisations de runbook" définissent la visibilité des runbooks pour certains utilisateurs. Certains runbooks peuvent également être bloqués/masqués globalement.
Comme le Personnalisations de runbook, la définition de ces autorisations se fait en fournissant une configuration au format JSON en tant qu'administrateur RealmJoin dans le portail web de RealmJoin à https://portal.realmjoin.com/settings/runbooks-permissions .
À propos de ce guide
Nous donnerons une brève description de la syntaxe puis construirons un exemple complet pas à pas. N'hésitez pas à aller directement à l'exemple complet et commencer à partir de là.
Syntaxe de configuration
Noms des runbooks
Les runbooks sont référencés par leurs noms tels qu'ils apparaissent dans le compte Azure Automation, par ex. rjgit-group_general_remove-group.
Des jokers ('*') peuvent être utilisés pour correspondre à plusieurs runbooks. Plusieurs jokers peuvent être utilisés dans la même chaîne, par ex. rjgit-*_security_*. Cela inclurait tous les exemples suivants :
rjgit-org_security_list-inactive-usersrjgit-device_security_enable-or-disable-device
Le préfixe préfixe rjgit- désigne les runbooks qui sont importés depuis notre dépôt GitHub public. Les runbooks spécifiques au client n'ont pas de préfixe, par ex. user_userinfo_custom-runbook
Groupes Entra ID
Les groupes Entra ID seront référencés en utilisant leur ID d'objet, comme 91688d11-9a34-42cd-8d1e-ce617d6c1234. Actuellement, seuls les groupes de sécurité peuvent être utilisés.
Structure JSON et exemple
Nous construirons un exemple de configuration complet pas à pas.
Une configuration JSON se compose de plusieurs sections, mais toutes les sections sont optionnelles et peuvent être omises.
Il est permis d'ajouter des commentaires en utilisant le préfixe "//".
EnabledRunbookPatterns
Cette section contient une liste de runbooks autorisés à être utilisés. Si cette section est omise, tous les runbooks sont activés/autorisés par défaut.
Si vous définissez cette section, alors seuls les runbooks mentionnés dans cette section seront utilisables par n'importe quel rôle / support et administrateur.
Exemple
Autoriser uniquement certains runbooks individuels en donnant leur nom complet
rjgit-group_general_remove-groupAutoriser tous les runbooks liés aux appareils provenant de notre dépôt partagé
rjgit-device_*Autoriser tous les runbooks partagés pour les utilisateurs
rjgit-user_*Autoriser tous les runbooks locaux (spécifiques au client) liés aux utilisateurs
user_*
Ceci exclut implicitement de nombreux runbooks basés sur les groupes et tous les runbooks basés sur l'organisation. Soyez conscient.
DisabledRunbookPatterns
Une liste de runbooks qui sont globalement désactivés / interdits. Si cette section est omise ou vide, tous les runbooks activés (donnés via EnabledRunbookPatterns) sont utilisables.
Les entrées de cette section ont priorité sur les entrées de EnabledRunbookPatterns - les runbooks seront cachés/ne seront utilisables par personne dans ce locataire.
Exemple
Nous réutiliserons la EnabledRunbookPatterns section d'avant.
Désactiver tous les runbooks partagés (
préfixe rjgit-) dans lasécuritécatégorie.
Rôles
Dans cette section, vous pouvez attribuer une liste de runbooks à un groupe Entra ID. Cela permet de définir plusieurs rôles de support/opérateur dans votre locataire.
Si cette section est omise, tout le support RealmJoin et les administrateurs ont accès à tous les runbooks fournis dans les sections précédentes.
Si activé, tous les utilisateurs n'appartenant pas à un rôle ne verront aucun runbook.
Exemple
En poursuivant avec ce que nous avons, créons un rôle de support appareil DeviceAdmin et un rôle de support utilisateur UserAdmin.
Nous appliquerons ces rôles à plusieurs groupes Entra ID et pour chaque rôle donnerons une liste de runbooks autorisés. Attention - cela restreindra le rôle de support utilisateur à seulement un petit ensemble de runbooks.
Ajoutons des commentaires ("//") à côté de l'ID d'objet du groupe pour aider le lecteur en donnant les noms des groupes Entra ID.
Maintenant le UserAdmin rôle peut :
attribuer des licences à tous les utilisateurs de votre locataire
modifier les adresses e-mail de tous les utilisateurs de votre locataire
et un DeviceAdmin rôle peut
effacer n'importe quel appareil de votre locataire
TargetEntityGroups
Peut-être avez-vous des utilisateurs VIP cruciaux. Il ne devrait pas être possible pour n'importe quel membre du support d'effacer le périphérique d'un VIP ou de modifier l'adresse e-mail d'un VIP. Nous pouvons utiliser le " ciblage " pour restreindre des rôles sur des utilisateurs critiques à des équipes dédiées.
"Devices" seront ciblés par leur utilisateur principal/assigné mais pas par l'objet appareil dans Entra ID. Cela permet de rester sur un modèle de groupe purement basé sur l'utilisateur.
Nous supposons que des groupes Entra ID existent et contiennent des utilisateurs VIP critiques. En utilisant cette section, nous pouvons délimiter avec soin des rôles et runbooks plus critiques pour ces groupes Entra ID spécifiques (cibles).
Évidemment, si vous omettez cette section, tous les utilisateurs/groupes/appareils de votre locataire sont traités à égalité.
Si vous définissez TargetEntityGroups, cela ne devrait avoir aucun impact sur tout autre groupe non mentionné dans la section.
Exemple complet
Supposons que le groupe 0000c0af-c217-41e9-b790-3043788f0000 est notre groupe d'utilisateurs VIP.
Nous introduisons un nouveau groupe Entra ID 4444c0af-c217-41e9-b790-3043788f4444 contenant le personnel de support qui a été approuvé pour administrer les utilisateurs VIP. Ce personnel de support devrait également avoir toutes les autres autorisations de support de base, donc nous les ajouterons aux rôles existants.
La "restriction" d'un rôle n'octroiera pas de nouveaux rôles à un intervenant.
Exemple : Restreindre le personnel de support US à gérer uniquement les utilisateurs US
Dans ce scénario, nous avons du personnel de support basé aux États-Unis qui ne devrait gérer que les utilisateurs situés aux États-Unis. Pour appliquer cette restriction :
Créez une règle d'autorisation qui refuse aux supporters US la capacité d'exécuter des runbooks sur tous les utilisateurs.
Ajoutez une règle d'exception qui spécifiquement autorise l'exécution de runbooks uniquement pour les utilisateurs US.
Cela garantit que les supporters US ont des autorisations strictement limitées à leur audience cible prévue (utilisateurs US) et empêche les interactions accidentelles avec des utilisateurs hors de ce périmètre.
Mise en œuvre
Un groupe Entra pour les exécuteurs de runbooks doit être assigné dans le portail Realm Join
Paramètres > Autorisations > Autorisations des exécuteurs de runbook
Le groupe Entra des supporters US doit être membre du groupe des exécuteurs de runbook pour permettre l'opération générale des runbooks dans le portail RealmJoin.
Ajout d'un nouveau rôle sous Paramètres > Autorisations des runbooks
Dans la section Rôles, ajoutez le rôle USSupporters avec leur groupe Entra (ID d'objet du groupe)
Ajoutez AllowedRunbookPatterns pour les USSupporters
Modifiez les TargetEntityGroups
Le groupe All-Users doit Restreindre le rôle USSupporters avec une valeur vide (aucun ID d'objet de groupe Entra n'est ajouté ici). C'est un refus implicite !
Le groupe US Users doit Restreindre le rôle USSupporters à l'ID d'objet du groupe Entra des US Supporters

Ci-dessous l'exemple complet pour ce scénario :
SchedulingEnabledRunbookPatterns
Cette section contient une liste de runbooks qui seront marqués comme "planifiables". Le portail RealmJoin permettra d'assigner / gérer des planifications pour ces runbooks. Voir Planification des runbooks.
L'exemple suivant décrit le comportement par défaut si SchedulingEnabledRunbookPatterns n'est pas défini :
SchedulingDisabledRunbookPatterns
Cette section contient une liste de runbooks qui seront blacklistés pour être marqués comme "planifiables". Le portail RealmJoin n'autorisera pas l'assignation / la gestion de planifications pour ces runbooks. Voir Planification des runbooks.
Un runbook présent à la fois dans SchedulingEnabledRunbookPatterns et SchedulingDisabledRunbookPatterns sera retournera planifiable.
Par défaut, aucun runbook n'est blacklisté. L'exemple suivant montre simplement la syntaxe :
Mis à jour
Ce contenu vous a-t-il été utile ?