Permisos de Runbook
Cómo conceder o denegar acceso a determinados runbooks.
Alcance
Esto aborda cómo conceder/denegar acceso a ciertos runbooks en un Tenant de Azure. Si busca respuestas sobre qué permisos de la API de MS Graph se necesitan para ejecutar una determinada acción como un runbook, eche un vistazo a nuestro requisitos.
Descripción general
"Runbook Permissions" define la visibilidad de los runbooks para determinados usuarios. También se pueden bloquear/ocultar globalmente ciertos runbooks.
Al igual que Personalizaciones del runbook, la definición de estos permisos se hace proporcionando una configuración en formato JSON como administrador de RealmJoin en el portal web de RealmJoin en https://portal.realmjoin.com/settings/runbooks-permissions .
Acerca de esta guía
Daremos una breve descripción de la sintaxis y luego construiremos un ejemplo completo paso a paso. Si lo prefiere, puede ir directamente al ejemplo completo y empezar desde allí.
Sintaxis de configuración
Nombres de los runbooks
Los runbooks se referencian por sus nombres tal como aparecen en la Cuenta de Automatización de Azure, p. ej. rjgit-group_general_remove-group.
Se pueden usar comodines ('*') para coincidir con varios runbooks. Se pueden usar varios comodines en la misma cadena, p. ej. rjgit-*_security_*. Esto coincidiría con todos los siguientes ejemplos:
rjgit-org_security_list-inactive-usersrjgit-device_security_enable-or-disable-device
El prefijo prefijo rjgit- denota los runbooks que se importan desde nuestro repositorio público de GitHub. Los runbooks específicos de cada cliente no tienen prefijo, p. ej. user_userinfo_custom-runbook
Entra ID Groups
Los grupos de Entra ID se referenciarán usando su Object ID, como 91688d11-9a34-42cd-8d1e-ce617d6c1234. Actualmente, solo se pueden usar grupos de seguridad.
Estructura y ejemplo de JSON
Construiremos un ejemplo completo de configuración paso a paso.
Una configuración JSON consta de varias secciones, pero todas son opcionales y se pueden omitir.
Está permitido agregar comentarios usando el prefijo "//".
EnabledRunbookPatterns
Esta sección contiene una lista de runbooks permitidos para su uso. Si se omite esta sección, todos los runbooks están habilitados/permitidos de forma predeterminada.
Si define esta sección, solo los runbooks mencionados en ella podrán ser utilizados por cualquier rol / soporte y administrador.
Ejemplo
Permitir solo ciertos runbooks individuales proporcionando su nombre completo
rjgit-group_general_remove-groupPermitir todos los runbooks relacionados con dispositivos de nuestro repositorio compartido
rjgit-device_*Permitir todos los runbooks compartidos de usuario
rjgit-user_*Permitir todos los runbooks relacionados con usuarios específicos del cliente (locales)
user_*
Esto deja implícitamente fuera muchos runbooks basados en grupos y todos los basados en org. Téngalo en cuenta.
DisabledRunbookPatterns
Una lista de runbooks que están deshabilitados / prohibidos globalmente. Si se omite esta sección o está vacía, todos los runbooks habilitados (indicados mediante EnabledRunbookPatterns) pueden utilizarse.
Las entradas de esta sección tienen prioridad sobre las entradas en EnabledRunbookPatterns - los runbooks se ocultarán/no podrán ser usados por nadie en este Tenant.
Ejemplo
Reutilizaremos la EnabledRunbookPatterns sección anterior.
Deshabilitar todos los runbooks compartidos (
prefijo rjgit-) runbooks en laseguridadcategoría.
Roles
En esta sección puede asignar una lista de runbooks a un grupo de Entra ID. Esto permite definir varios roles de soporte/operador en su Tenant.
Si se omite esta sección, todo el soporte de RealmJoin y los administradores tendrán acceso a todos los runbooks indicados en las secciones anteriores.
Si está habilitado, todos los usuarios que no pertenezcan a un rol no verán ningún runbook.
Ejemplo
Continuando con lo que tenemos, vamos a crear un rol de soporte de dispositivos DeviceAdmin y un rol de soporte de usuarios UserAdmin.
Aplicaremos esos roles a varios grupos de Entra ID y para cada rol daremos una lista de runbooks permitidos. Tenga en cuenta que esto restringirá el rol de soporte de usuarios a solo un pequeño conjunto de runbooks.
Añadamos comentarios ("//") junto al Object ID del grupo que ayuden al lector proporcionando los nombres de los grupos de Entra ID.
Ahora el UserAdmin rol puede:
asignar licencias a todos los usuarios de su Tenant
modificar las direcciones de correo electrónico de todos los usuarios de su Tenant
La DeviceAdmin rol puede
borrar cualquier dispositivo de su Tenant
TargetEntityGroups
Quizá tenga algunos usuarios VIP cruciales. No debería ser posible que cualquier personal de soporte borre el dispositivo de un VIP o modifique la dirección de correo electrónico de un VIP. Podemos usar el "targeting" para restringir los roles sobre usuarios críticos a equipos dedicados.
"Devices" se asignarán como objetivo por su usuario principal/asignado, pero no por el objeto de dispositivo en Entra ID. Esto permite ceñirse a un modelo de grupos puramente basado en usuarios.
Asumimos que existen grupos de Entra ID que contienen usuarios VIP críticos. Usando esta sección, podemos delimitar cuidadosamente algunos roles y runbooks más críticos para estos grupos específicos de Entra ID (objetivos).
Obviamente, si omite esta sección, todos los usuarios/grupos/dispositivos de su Tenant se tratan por igual.
Si define TargetEntityGroups, no debería tener ningún impacto en ningún otro grupo no mencionado en la sección.
Ejemplo completo
Suponga el grupo 0000c0af-c217-41e9-b790-3043788f0000 es nuestro grupo de usuarios VIP.
Introducimos un nuevo grupo de Entra ID 4444c0af-c217-41e9-b790-3043788f4444 que contiene personal de soporte que ha sido aprobado para administrar usuarios VIP. Este personal de soporte también debería tener todos los demás permisos básicos de soporte, así que lo añadiremos a los roles existentes.
«Restringir» un rol no otorgará nuevos roles a un agente de soporte.
Ejemplo: restringir al personal de soporte de EE. UU. para que gestione solo usuarios de EE. UU.
En este escenario, tenemos personal de soporte con sede en EE. UU. que solo debería gestionar usuarios ubicados en EE. UU. Para aplicar esta restricción:
Cree una regla de permisos que explícitamente deniega a los usuarios de soporte de EE. UU. la capacidad de ejecutar runbooks sobre todos los usuarios.
Añada una regla de excepción que específicamente permite la ejecución de runbooks solo para usuarios de EE. UU..
Esto garantiza que los usuarios de soporte de EE. UU. tengan permisos limitados estrictamente a su público objetivo previsto (usuarios de EE. UU.) y evita interacciones accidentales con usuarios fuera de este ámbito.
Implementación
Se debe asignar un grupo Entra de ejecutores de runbooks en el Portal de RealmJoin
Configuración > Permisos > Permisos de ejecutor de runbooks
El grupo Entra US Supporters debe ser miembro del grupo Runbook Runners para permitir la operación general de runbooks en el Portal de RealmJoin.
Añadir un nuevo rol en Configuración > Permisos de runbooks
En la sección Roles, añada el rol USSupporters con su grupo de Entra (Object ID del grupo)
Añada AllowedRunbookPatterns para USSupporters
Modifique TargetEntityGroups
El grupo All-Users debe restringir el rol USSupporters con un valor vacío (aquí no se añade ningún Object ID de grupo Entra). ¡Esto es una denegación implícita!
El grupo US Users debe restringir el rol USSupporters al Object ID del grupo Entra US Supporters

A continuación, el ejemplo completo para este escenario:
SchedulingEnabledRunbookPatterns
Esta sección contiene una lista de runbooks que se marcarán como "programables". RealmJoin Port permitirá asignar/gestionar horarios para estos runbooks. Véase Programación de Runbook.
El siguiente ejemplo describe el comportamiento predeterminado si SchedulingEnabledRunbookPatterns no está definido:
SchedulingDisabledRunbookPatterns
Esta sección contiene una lista de runbooks que se incluirán en la lista negra para no ser marcados como "programables". RealmJoin Port no permitirá asignar/gestionar horarios para estos runbooks. Véase Programación de Runbook.
Un runbook presente tanto en SchedulingEnabledRunbookPatterns como en SchedulingDisabledRunbookPatterns devolvería será programable.
De forma predeterminada, no hay runbooks en la lista negra. El siguiente ejemplo solo muestra la sintaxis:
Última actualización
¿Te fue útil?