Permissões de Runbook
Como conceder/negar acesso a determinados runbooks.
Âmbito
Isto aborda como conceder/negar acesso a determinados runbooks em um Tenant do Azure. Se você está procurando respostas sobre quais permissões da API MS Graph são necessárias para executar uma determinada ação como um runbook, por favor, dê uma olhada em nossos requisitos.
Overview
"Runbook Permissions" definem a visibilidade dos runbooks para determinados usuários. Alguns runbooks também podem ser bloqueados/ocultados globalmente.
Assim como as Runbook Customizations, definir essas permissões é feito fornecendo uma configuração em formato JSON como administrador do RealmJoin no portal web do RealmJoin em https://portal.realmjoin.com/settings/runbooks-permissions .
Sobre este guia
Faremos uma breve descrição da sintaxe e depois construiremos um exemplo completo passo a passo. Sinta-se à vontade para ir diretamente ao exemplo completo e começar a partir de lá.
Sintaxe da configuração
Nomes dos runbooks
Os runbooks são referenciados pelos seus nomes, como vistos na Azure Automation Account, por exemplo rjgit-group_general_remove-group.
Curingas ('*') podem ser usados para corresponder a vários runbooks. Vários curingas podem ser usados na mesma string, por exemplo rjgit-*_security_*. Isso corresponderia a todos os seguintes exemplos:
rjgit-org_security_list-inactive-usersrjgit-device_security_enable-or-disable-device
O prefixo rjgit- indica runbooks importados do nosso repositório público no GitHub. Runbooks específicos de cliente não têm prefixo, por exemplo user_userinfo_custom-runbook
Entra ID Groups
Os grupos Entra ID serão referenciados usando seu Object ID, como 91688d11-9a34-42cd-8d1e-ce617d6c1234. Atualmente, apenas grupos de segurança podem ser usados.
Estrutura e exemplo JSON
Construiremos um exemplo completo de configuração passo a passo.
Uma configuração JSON consiste em várias seções, mas todas as seções são opcionais e podem ser omitidas.
É permitido adicionar comentários usando o prefixo "//".
EnabledRunbookPatterns
Esta seção contém uma lista de runbooks permitidos para uso. Se esta seção for omitida, todos os runbooks ficam ativados/permitidos por padrão.
Se você definir esta seção, então apenas os runbooks mencionados nela poderão ser usados por qualquer função / suporte e administrador.
Exemplo
Permitir apenas determinados runbooks individuais informando o nome completo deles
rjgit-group_general_remove-groupPermitir todos os runbooks relacionados a dispositivos do nosso repositório compartilhado
rjgit-device_*Permitir todos os runbooks compartilhados de usuários
rjgit-user_*Permitir todos os runbooks específicos do cliente (locais), relacionados a usuários
user_*
Isso implicitamente exclui muitos runbooks baseados em grupos e todos os runbooks baseados em org. Esteja ciente.
DisabledRunbookPatterns
Uma lista de runbooks globalmente desativados / proibidos. Se esta seção for omitida ou estiver vazia, todos os runbooks ativados (fornecidos via EnabledRunbookPatterns) podem ser usados.
As entradas nesta seção têm prioridade sobre as entradas em EnabledRunbookPatterns - os runbooks ficarão ocultos/não poderão ser usados por ninguém neste Tenant.
Exemplo
Reutilizaremos a EnabledRunbookPatterns seção de antes.
Desativar todos os runbooks compartilhados (
rjgit-) nosecuritycategoria.
Funções
Nesta seção, você pode atribuir uma lista de runbooks a um grupo Entra ID. Isso permite definir múltiplas funções de suporte/operador no seu Tenant.
Se esta seção for omitida, todo o suporte e administradores do RealmJoin terão acesso a todos os runbooks fornecidos nas seções anteriores.
Se ativado, todos os usuários que não pertencerem a uma função não verão nenhum runbook.
Exemplo
Continuando com o que temos, vamos criar uma função de suporte a dispositivos DeviceAdmin e uma função de suporte a usuários UserAdmin.
Aplicaremos essas funções a vários grupos Entra ID e, para cada função, daremos uma lista de runbooks permitidos. Esteja ciente - isso restringirá a função de suporte a usuários a apenas um pequeno conjunto de runbooks.
Vamos adicionar comentários ("//") ao lado do object id do grupo que ajudam o leitor fornecendo os nomes dos grupos Entra ID.
Agora a UserAdmin função pode:
atribuir licenças a todos os usuários no seu Tenant
modificar os endereços de e-mail de todos os usuários no seu Tenant
O DeviceAdmin a função pode
apagar qualquer dispositivo no seu Tenant
TargetEntityGroups
Talvez você tenha alguns usuários VIP cruciais. Não deve ser possível que qualquer membro do suporte apague o dispositivo de um VIP ou modifique o endereço de e-mail de um VIP. Podemos usar "targeting" para restringir funções em usuários críticos a equipes dedicadas.
"Devices" serão direcionados pelo seu usuário principal/atribuído, mas não pelo objeto do dispositivo no Entra ID. Isso permite manter um modelo de grupo puramente baseado em usuário.
Assumimos que existem grupos Entra ID que contêm usuários VIP críticos. Usando esta seção, podemos delimitar cuidadosamente algumas funções e runbooks mais críticos para esses grupos Entra ID específicos (targets).
Obviamente, se você omitir esta seção, todos os usuários/grupos/dispositivos no seu Tenant serão tratados como iguais.
Se você definir TargetEntityGroups, isso não deve ter impacto em nenhum outro grupo não mencionado na seção.
Exemplo completo
Suponha o grupo 0000c0af-c217-41e9-b790-3043788f0000 é o nosso grupo de usuários VIP.
Introduzimos um novo grupo Entra ID 4444c0af-c217-41e9-b790-3043788f4444 contendo a equipe de suporte que foi aprovada para administrar usuários VIP. Essa equipe de suporte também deve ter todas as outras permissões básicas de suporte, então os adicionaremos às funções existentes.
"Restringir" uma função não concederá novas funções a um suporte.
Exemplo: Restringindo a equipe de suporte dos EUA para gerenciar apenas usuários dos EUA
Neste cenário, temos uma equipe de suporte baseada nos EUA que deve gerenciar apenas usuários localizados nos EUA. Para impor essa restrição:
Crie uma regra de permissão que explicitamente nega aos apoiadores dos EUA a capacidade de executar Runbooks em todos os usuários.
Adicione uma regra de exceção que especificamente permite a execução de Runbooks apenas para usuários dos EUA.
Isso garante que os apoiadores dos EUA tenham permissões estritamente limitadas ao público-alvo pretendido (usuários dos EUA) e impede interações acidentais com usuários fora desse escopo.
Implementação
Um grupo Entra para executores de Runbook deve ser atribuído no Portal Realm Join
Settings > Permissions > Runbook Runner Permissions
O grupo Entra de apoiadores dos EUA deve ser membro do grupo Runbook Runners para permitir a operação geral de Runbook no Portal RealmJoin.
Adicionando uma nova função em Settings > Runbook Permissions
Na seção Roles, adicione a função USSupporters com seu grupo Entra (group object ID)
Adicione AllowedRunbookPatterns para os USSupporters
Modifique o TargetEntityGroups
O grupo All-Users deve restringir a função USSupporters com um valor vazio (nenhum object ID de grupo Entra é adicionado aqui). Isso é uma negação implícita!
O grupo US Users deve restringir a função USSupporters ao object ID do grupo Entra dos US Supporters

Abaixo, o exemplo completo para este cenário:
SchedulingEnabledRunbookPatterns
Esta seção contém uma lista de runbooks que serão marcados como "schedulable". O RealmJoin Port permitirá atribuir / gerenciar agendamentos para esses runbooks. Veja Agendamento de Runbooks.
O exemplo a seguir descreve o comportamento padrão se SchedulingEnabledRunbookPatterns não estiver definido:
SchedulingDisabledRunbookPatterns
Esta seção contém uma lista de runbooks que serão colocados em lista de bloqueio para não serem marcados como "schedulable". O RealmJoin Port não permitirá atribuir / gerenciar agendamentos para esses runbooks. Veja Agendamento de Runbooks.
Um runbook presente em SchedulingEnabledRunbookPatterns e SchedulingDisabledRunbookPatterns irá será schedulable.
Por padrão, nenhum runbook está na lista de bloqueio. O exemplo a seguir apenas demonstra a sintaxe:
Última atualização
Isto foi útil?