For the complete documentation index, see llms.txt. This page is also available as Markdown.

Permissões de runbook

Como conceder/negar acesso a determinados runbooks.

Âmbito

Isto aborda como conceder/negar acesso a determinados runbooks num Azure Tenant. Se procura respostas sobre quais permissões da API MS Graph são necessárias para executar uma determinada ação como um runbook, consulte o nosso requisitos.

Visão geral

"Runbook Permissions" define a visibilidade dos runbooks para determinados utilizadores. Certos runbooks também podem ser bloqueados/ocultados globalmente.

Tal como a Runbook Customizationsa definição destas 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

Vamos dar uma breve descrição da sintaxe e depois construir um exemplo completo passo a passo. Sinta-se à vontade para ir diretamente para o exemplo completo e começar por .

Sintaxe da configuração

Nomes dos runbooks

Os runbooks são referenciados pelos seus nomes, tal como aparecem no Azure Automation Account, por exemplo rjgit-group_general_remove-group.

Podem ser usados wildcards ('*') para corresponder a vários runbooks. Podem ser usados vários wildcards na mesma cadeia, por exemplo rjgit-*_security_*. Isto corresponderia a todos os seguintes exemplos:

  • rjgit-org_security_list-inactive-users

  • rjgit-device_security_enable-or-disable-device

O prefixo prefixo rjgit- indica runbooks que são importados do nosso repositório público do GitHub. Os runbooks específicos de clientes não têm prefixo, por exemplo user_userinfo_custom-runbook

Entra ID Groups

Os grupos Entra ID serão referenciados usando o seu 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 é composta por 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 utilização. 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 específicos fornecendo o nome completo

    rjgit-group_general_remove-group

  • Permitir 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 específicos do cliente (locais) relacionados com utilizadores

    user_*

Isto deixa implicitamente de fora muitos runbooks baseados em grupos e todos os baseados em org. Tenha em atenção.

DisabledRunbookPatterns

Uma lista de runbooks que estão globalmente desativados / proibidos. Se esta secção for omitida ou estiver vazia, todos os runbooks ativados (indicados através de EnabledRunbookPatterns) podem ser utilizados.

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 (prefixo rjgit-) na categoria segurança .

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 administradores do RealmJoin têm acesso a todos os runbooks indicados nas secções anteriores.

Exemplo

Continuando com o que temos, vamos criar uma função de suporte a dispositivos DeviceAdmin e uma função de suporte a utilizadores UserAdmin.

Aplicaremos essas funções a vários grupos Entra ID e, para cada função, daremos uma lista de runbooks permitidos. Tenha em atenção - isto restringirá a função de suporte a utilizadores a apenas um pequeno conjunto de runbooks.

Vamos adicionar comentários ("//") ao lado do object id do grupo que ajudem o leitor, fornecendo 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

A DeviceAdmin função pode

  • apagar qualquer dispositivo no seu tenant

TargetEntityGroups

Talvez tenha alguns utilizadores 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 utilizadores críticos a equipas dedicadas.

Os "Dispositivos" serão alvo pelo seu 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.

Assumimos 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 (targets).

Obviamente, se omitir esta secção, todos os utilizadores/grupos/dispositivos no seu tenant são tratados por igual.

Se definir TargetEntityGroups, isso não deverá ter qualquer impacto em qualquer outro grupo não mencionado na secção.

Exemplo completo

Suponha 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 colaboradores de suporte que foram aprovados para administrar utilizadores VIP. Estes colaboradores de suporte também devem ter todas as outras permissões básicas de suporte, por isso vamos adicioná-los às funções existentes.

"Restringir" uma função não concederá novas funções a um colaborador de suporte.

Exemplo: restringir a equipa de suporte dos EUA para gerir apenas utilizadores dos EUA

Neste cenário, temos pessoal de suporte sediado nos EUA que só deve gerir utilizadores localizados nos EUA. Para impor esta restrição:

  • Crie uma regra de permissão que explicitamente nega aos Supporters 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 Supporters dos EUA têm permissões estritamente limitadas ao público-alvo pretendido (utilizadores dos EUA) e evita interações acidentais com utilizadores fora deste âmbito.

Implementação

  1. Um grupo Entra de Runbook Runners deve ser atribuído no Portal RealmJoin

    1. Definições > Permissões > Runbook Runner Permissions

    2. O grupo Entra dos Supporters dos EUA deve ser membro do Grupo Runbook Runners para permitir a operação geral de runbooks no Portal RealmJoin.

  2. Adicionar uma nova função em Definições > Runbook Permissions

    1. Na secção Roles, adicione a função USSupporters com o respetivo grupo Entra (ID do objeto do grupo)

    2. Adicione AllowedRunbookPatterns para os USSupporters

  3. Modifique o TargetEntityGroups

    1. O grupo All-Users deve Restrict the Role USSupporters com um valor vazio (não é adicionado aqui qualquer ID de objeto de grupo Entra). Esta é uma negação implícita!

    2. O grupo US Users deve Restrict the Role USSupporters para o ID de objeto do grupo Entra dos US Supporters

Restringir o pessoal de suporte dos EUA para gerir apenas utilizadores dos EUA

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 horários para estes runbooks. Consulte 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 na lista negra para serem marcados como "agendáveis". O Portal RealmJoin não permitirá atribuir/gerir horários para estes runbooks. Consulte Agendamento de runbooks.

Um runbook presente em SchedulingEnabledRunbookPatterns e SchedulingDisabledRunbookPatterns não será agendável.

Por predefinição, nenhum runbook está bloqueado. O exemplo seguinte demonstra apenas a sintaxe:

Última atualização

Isto foi útil?