Permissões de runbook
Como conceder/recusar acesso a determinados runbooks.
Âmbito
Isto trata de como conceder/negar acesso a certos runbooks em um Tenant do Azure. Se você procura respostas sobre quais permissões da API MS Graph são necessárias para executar uma determinada ação como um runbook, consulte nosso requisitos.
Visão geral
"Runbook Permissions" define a visibilidade dos runbooks para determinados utilizadores. Certos runbooks também podem ser bloqueados/ocultados globalmente.
Assim como o Runbook Customizations, a definição dessas permissões é feita 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 ex., rjgit-group_general_remove-group.
Caracteres curinga ('*') podem ser usados para corresponder a vários runbooks. Vários curingas podem ser usados na mesma string, por ex., rjgit-*_security_*Isto corresponderia a todos os exemplos a seguir:
rjgit-org_security_list-inactive-usersrjgit-device_security_enable-or-disable-device
O prefixo rjgit- denota runbooks que são importados do nosso repositório público no GitHub. Runbooks específicos do cliente não têm prefixo, por ex., user_userinfo_custom-runbook
Entra ID Groups
Os grupos Entra ID serão referenciados usando o respetivo Object ID, como 91688d11-9a34-42cd-8d1e-ce617d6c1234. Atualmente, apenas grupos de segurança podem ser usados.
Estrutura e exemplo JSON
Vamos construir um exemplo completo de configuração passo a passo.
Uma configuração JSON consiste em várias secções, mas todas as secções são opcionais e podem ser omitidas.
É permitido adicionar comentários usando o prefixo "//".
EnabledRunbookPatterns
Esta secção contém uma lista de runbooks permitidos para uso. Se esta secção for omitida, todos os runbooks ficam ativados/permitidos por predefinição.
Se definir esta secção, então apenas os runbooks mencionados nesta secção poderão ser usados por qualquer função / suporte e administrador.
Exemplo
Permitir apenas runbooks individuais e específicos, fornecendo o nome completo
rjgit-group_general_remove-groupPermitir todos os runbooks relacionados com dispositivos do nosso repositório partilhado
rjgit-device_*Permitir todos os runbooks de utilizador partilhados
rjgit-user_*Permitir todos os runbooks relacionados com utilizadores específicos do cliente (locais)
user_*
Isto deixa implicitamente de fora muitos runbooks baseados em grupos e todos os runbooks baseados em org. Tenha atenção.
DisabledRunbookPatterns
Uma lista de runbooks que estão desativados / proibidos globalmente. Se esta secção for omitida ou estiver vazia, todos os runbooks ativados (fornecidos via EnabledRunbookPatterns) podem ser usados.
As entradas nesta secçã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
Vamos reutilizar a EnabledRunbookPatterns secção anterior.
Desativar todos os runbooks partilhados (
rjgit-) runbooks nasegurançacategoria.
Funções
Nesta secção, pode atribuir uma lista de runbooks a um grupo Entra ID. Isto permite definir várias funções de suporte/operador no seu Tenant.
Se esta secção for omitida, todo o suporte e os administradores do RealmJoin têm acesso a todos os runbooks indicados nas secções anteriores.
Se estiver ativado, todos os utilizadores que não pertençam a uma função não verão nenhum runbook.
Exemplo
Dando continuidade ao que temos, vamos criar uma função de suporte a dispositivos DeviceAdmin e uma função de suporte ao utilizador UserAdmin.
Aplicaremos essas funções a vários grupos Entra ID e, para cada função, forneceremos uma lista de runbooks permitidos. Tenha em atenção — isto restringirá a função de suporte ao utilizador a apenas um pequeno conjunto de runbooks.
Vamos adicionar comentários ("//") ao lado do object ID do grupo, para ajudar o leitor indicando os nomes dos grupos Entra ID.
Agora a UserAdmin função pode:
atribuir licenças a todos os utilizadores no seu Tenant
modificar os endereços de e-mail de todos os utilizadores no seu Tenant
O DeviceAdmin a função pode
apagar qualquer dispositivo no seu Tenant
TargetEntityGroups
Talvez tenha alguns utilizadores VIP cruciais. Não deve ser possível que qualquer funcionário de suporte apague o dispositivo de um VIP ou modifique o endereço de e-mail de um VIP. Podemos usar "segmentação" para restringir funções em utilizadores críticos a equipas dedicadas.
"Devices" serão direcionados pelo utilizador principal/atribuído, mas não pelo objeto do dispositivo no Entra ID. Isto permite manter um modelo de grupos puramente baseado em utilizadores.
Partimos do princípio de que existem grupos Entra ID que contêm utilizadores VIP críticos. Usando esta secção, podemos delimitar cuidadosamente algumas funções e runbooks mais críticos para estes grupos Entra ID específicos (alvos).
Obviamente, se omitir esta secção, todos os utilizadores/grupos/dispositivos no seu Tenant são tratados de forma igual.
Se definir TargetEntityGroups, isso não deverá ter qualquer impacto em qualquer outro grupo não mencionado na secção.
Exemplo completo
Assuma o grupo 0000c0af-c217-41e9-b790-3043788f0000 é o nosso grupo de utilizadores VIP.
Introduzimos um novo grupo Entra ID 4444c0af-c217-41e9-b790-3043788f4444 que contém pessoal de suporte que foi aprovado para administrar utilizadores VIP. Este pessoal de suporte também deve ter todas as outras permissões básicas de suporte, por isso iremos adicioná-los às funções existentes.
"Restringir" uma função não concederá novas funções a um suporte.
Exemplo: restringir o pessoal de suporte dos EUA a gerir apenas utilizadores dos EUA
Neste cenário, temos pessoal de suporte sediado nos EUA que deve gerir apenas utilizadores localizados nos EUA. Para impor esta restrição:
Crie uma regra de permissão que explicitamente nega aos suportes dos EUA a capacidade de executar Runbooks em todos os utilizadores.
Adicione uma regra de exceção que especificamente permite a execução de Runbooks apenas para Utilizadores dos EUA.
Isto garante que os suportes dos EUA tenham permissões estritamente limitadas ao público-alvo pretendido (Utilizadores dos EUA) e impede interações acidentais com utilizadores fora deste âmbito.
Implementação
Um grupo Entra de Runbook Runners deve ser atribuído no Portal RealmJoin
Definições > Permissões > Permissões do Runbook Runner
O grupo Entra dos suportes dos EUA deve ser membro do grupo Runbook Runners para permitir a operação geral de Runbooks no Portal RealmJoin.
Adicionar uma nova função em Definições > Runbook Permissions
Na secção Funções, adicione a função USSupporters com o respetivo grupo Entra (object ID do grupo)
Adicione AllowedRunbookPatterns para os USSupporters
Modifique os TargetEntityGroups
O grupo All-Users deve restringir a função USSupporters com um valor vazio (não é adicionado aqui nenhum object ID de grupo Entra). Isto é 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 está o exemplo completo para este cenário:
SchedulingEnabledRunbookPatterns
Esta secção contém uma lista de runbooks que serão marcados como "agendáveis". O Portal RealmJoin permitirá atribuir / gerir agendamentos para estes runbooks. Veja Agendamento de runbooks.
O exemplo seguinte descreve o comportamento predefinido se SchedulingEnabledRunbookPatterns não estiver definido:
SchedulingDisabledRunbookPatterns
Esta secção contém uma lista de runbooks que serão colocados numa lista negra para não serem marcados como "agendáveis". O Portal RealmJoin não permitirá atribuir / gerir agendamentos para estes runbooks. Veja Agendamento de runbooks.
Um runbook presente em SchedulingEnabledRunbookPatterns e SchedulingDisabledRunbookPatterns será não agendável.
Por predefinição, nenhum runbook fica na lista negra. O exemplo seguinte apenas demonstra a sintaxe:
Última atualização
Isto foi útil?