Permisos de Runbook

Cómo conceder/negar acceso a ciertos runbooks.

Alcance

Esto aborda cómo otorgar/denegar acceso a ciertos runbooks en un inquilino de Azure. Si busca respuestas sobre qué permisos de MS Graph API se necesitan para ejecutar una determinada acción como runbook, por favor consulte nuestro requisitos.

pestaña Resumen

"Permisos de Runbook" definen la visibilidad de los runbooks para ciertos usuarios. Ciertos runbooks también pueden ser bloqueados/ocultados globalmente.

Como el Personalizaciones de Runbook, definir 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-permissionsarrow-up-right .

Acerca de esta guía

Daremos una breve descripción de la sintaxis y luego construiremos un ejemplo completo pieza por pieza. Si lo desea, puede ir directamente al ejemplo completo y comenzar desde allí.

Sintaxis de configuración

Nombres de Runbook

Los runbooks se referencian por sus nombres tal como se ven en la Cuenta de Automatización de Azure, p. ej. rjgit-group_general_remove-group.

Se pueden usar comodines ('*') para coincidir con múltiples runbooks. Se pueden usar varios comodines en la misma cadena, p. ej. rjgit-*_security_*. Esto incluiría todos los siguientes ejemplos:

  • rjgit-org_security_list-inactive-users

  • rjgit-device_security_enable-or-disable-device

El prefijo prefijo rjgit- denota runbooks que se importan desde nuestro repositorio público en GitHub. Los runbooks específicos del cliente no tienen prefijo, p. ej. user_userinfo_custom-runbook

Grupos de Entra ID

Los grupos de Entra ID se referenciarán usando su ID de objeto, como 91688d11-9a34-42cd-8d1e-ce617d6c1234. Actualmente, solo se pueden usar grupos de seguridad.

Estructura JSON y ejemplo

Construiremos un ejemplo completo de configuración pieza por pieza.

Una configuración JSON consta de múltiples secciones, pero todas las secciones son opcionales y pueden omitirse.

Se permite agregar comentarios usando el prefijo "//".

EnabledRunbookPatterns

Esta sección contiene una lista de runbooks permitidos para ser usados. Si se omite esta sección, todos los runbooks están habilitados/permitidos por defecto.

Si define esta sección, entonces solo los runbooks mencionados en esta sección serán utilizables por cualquier rol / soporte y administrador.

Ejemplo

  • Permitir solo ciertos runbooks individuales dando su nombre completo

    rjgit-group_general_remove-group

  • Permitir todos los runbooks relacionados con dispositivos de nuestro repositorio compartido

    rjgit-device_*

  • Permitir todos los runbooks de usuario compartidos

    rjgit-user_*

  • Permitir todos los runbooks específicos del cliente (local), relacionados con usuarios

    user_*

Esto implícitamente deja fuera muchos runbooks basados en grupos y todos los basados en org. Tenga esto en cuenta.

DisabledRunbookPatterns

Una lista de runbooks que están deshabilitados/forbidden globalmente. Si esta sección se omite o está vacía, todos los runbooks habilitados (indicados a través de EnabledRunbookPatterns) son utilizables.

Las entradas en esta sección tienen prioridad sobre las entradas en EnabledRunbookPatterns - los runbooks serán ocultados/no serán utilizables por nadie en este inquilino.

Ejemplo

Reutilizaremos la EnabledRunbookPatterns sección de antes.

  • Deshabilitar todos los runbooks compartidos (prefijo rjgit-) en la categoría de seguridad.

Roles

En esta sección puede asignar una lista de runbooks a un grupo de Entra ID. Esto permite definir múltiples roles de soporte/operador en su inquilino.

Si se omite esta sección, todo el soporte y administradores de RealmJoin tienen acceso a todos los runbooks indicados en las secciones anteriores.

circle-exclamation

Ejemplo

Continuando con lo que tenemos, creemos un rol de soporte de dispositivos DeviceAdmin y un rol de soporte de usuarios UserAdmin.

Aplicaremos esos roles a múltiples grupos de Entra ID y para cada rol daremos una lista de runbooks permitidos. Tenga en cuenta: esto restringirá el rol de soporte de usuarios a solo un pequeño conjunto de runbooks.

Agreguemos comentarios ("//") junto al id de objeto del grupo que ayuden al lector indicando los nombres de los grupos de Entra ID.

Ahora el UserAdmin rol puede:

  • asignar licencias a todos los usuarios en su inquilino

  • modificar las direcciones de correo electrónico de todos los usuarios en su inquilino

debe tener un buzón conectado, para que podamos notificarle en caso de que haya problemas relevantes con RealmJoin. Si desea cambiarlo, por favor DeviceAdmin rol puede

  • borrar cualquier dispositivo en su inquilino

TargetEntityGroups

Tal vez 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 la "segmentación" para restringir roles sobre usuarios críticos a equipos dedicados.

"Dispositivos" serán segmentados 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 acotar cuidadosamente algunos roles y runbooks más críticos para estos grupos de Entra ID específicos (objetivos).

Obviamente, si omite esta sección, todos los usuarios/grupos/dispositivos en su inquilino son tratados por igual.

Si define TargetEntityGroups no debería tener ningún impacto en cualquier 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 debe tener todos los demás permisos básicos de soporte, así que los agregaremos a los roles existentes.

"Restringir" un rol no otorgará nuevos roles a un soporte.

Ejemplo: Restringir al personal de soporte de EE. UU. para que administre solo usuarios de EE. UU.

En este escenario, tenemos personal de soporte con base en EE. UU. que solo debe administrar usuarios ubicados en EE. UU. Para hacer cumplir esta restricción:

  • Cree una regla de permisos que explícitamente niegue a los Soportistas de EE. UU. la capacidad de ejecutar Runbooks en todos los Usuarios.

  • Agregue una regla de excepción que específicamente permita la ejecución de Runbooks solo para Usuarios de EE. UU..

Esto asegura que los Soportistas de EE. UU. tengan permisos estrictamente limitados a su audiencia objetivo prevista (Usuarios de EE. UU.) y previene interacciones accidentales con usuarios fuera de este alcance.

Implementación

  1. Se debe asignar un grupo de Entra para Ejecutores de Runbook en el Portal Realm Join

    1. Configuración > Permisos > Permisos de Ejecutores de Runbook

    2. El grupo de Entra de Soportistas de EE. UU. debe ser miembro del Grupo de Ejecutores de Runbook para permitir la operación general de Runbooks en el Portal RealmJoin.

  2. Agregar un nuevo Rol en Configuración > Permisos de Runbook

    1. En la sección Roles agregue el Rol USSupporters con su grupo de Entra (ID de objeto del grupo)

    2. Agregue AllowedRunbookPatterns para los USSupporters

  3. Modifique los TargetEntityGroups

    1. El grupo All-Users debe Restringir el Rol USSupporters con un valor vacío (no se agrega ningún ID de objeto de grupo de Entra aquí). ¡Esto es una denegación implícita!

    2. El grupo US Users debe Restringir el Rol USSupporters al ID de objeto del grupo de Entra de los US Supporters

Restringir al personal de soporte de EE. UU. para que administre solo usuarios de EE. UU.

A continuación el ejemplo completo para este escenario:

SchedulingEnabledRunbookPatterns

Esta sección contiene una lista de runbooks que serán marcados como "programables". El Portal RealmJoin permitirá asignar/gestionar horarios para estos runbooks. Ver Programación de runbooks.

El siguiente ejemplo describe el comportamiento predeterminado si SchedulingEnabledRunbookPatterns no están definidos:

SchedulingDisabledRunbookPatterns

Esta sección contiene una lista de runbooks que serán incluidos en la lista negra para ser marcados como "programables". El Portal RealmJoin no permitirá asignar/gestionar horarios para estos runbooks. Ver Programación de runbooks.

Un runbook presente tanto en SchedulingEnabledRunbookPatterns como en SchedulingDisabledRunbookPatterns devolvería será programable.

Por defecto no hay runbooks en la lista negra. El siguiente ejemplo solo demuestra la sintaxis:

Última actualización

¿Te fue útil?