Permissões de Runbook

Como conceder/negara acesso a certos runbooks.

Escopo

Isto aborda como conceder/negarl acesso a determinados runbooks em um locatário do Azure. Se você está procurando respostas sobre quais permissões da MS Graph API são necessárias para executar uma determinada ação como um runbook, por favor consulte nosso requisitos.

Visão Geral

"Permissões de Runbook" definem a visibilidade dos runbooks para certos usuários. Certos runbooks também podem ser bloqueados/ocultados globalmente.

Como o Personalizações de Runbook, 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-permissionsarrow-up-right .

Sobre este guia

Daremos uma breve descrição da sintaxe e então construiremos um exemplo completo peça por peça. Sinta-se à vontade para ir diretamente ao exemplo completo e começar a partir de .

Sintaxe de Configuração

Nomes de Runbook

Runbooks são referenciados pelos seus nomes conforme vistos na Conta de Automação do Azure, por exemplo, rjgit-group_general_remove-group.

Curingas ('*') podem ser usados para corresponder múltiplos runbooks. Múltiplos curingas podem ser usados na mesma string, 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- 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 exemplo, user_userinfo_custom-runbook

Grupos do Entra ID

Grupos do Entra ID serão referenciados usando seu Object ID, como 91688d11-9a34-42cd-8d1e-ce617d6c1234. Atualmente, somente grupos de segurança podem ser usados.

Estrutura JSON e Exemplo

Construiremos um exemplo de configuração completo peça por peça.

Uma configuração JSON consiste em múltiplas 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 estão habilitados/permitidos por padrão.

Se você definir esta seção, então somente os runbooks mencionados nela serão utilizáveis por qualquer função / suporte e administrador.

Exemplo

  • Permitir apenas certos runbooks individuais fornecendo seu nome completo

    rjgit-group_general_remove-group

  • Permitir todos os runbooks relacionados a dispositivos do nosso repositório compartilhado

    rjgit-device_*

  • Permitir todos os runbooks de usuário compartilhados

    rjgit-user_*

  • Permitir todos os runbooks específicos do cliente (locais), relacionados a usuários

    user_*

Isto implicitamente exclui muitos runbooks baseados em group- e todos os baseados em org-. Fique atento.

DisabledRunbookPatterns

Uma lista de runbooks que são globalmente desabilitados / proibidos. Se esta seção for omitida ou vazia, todos os runbooks habilitados (fornecidos via EnabledRunbookPatterns) são utilizáveis.

Entradas nesta seção têm prioridade sobre entradas em EnabledRunbookPatterns - os runbooks serão ocultos/não utilizáveis para qualquer pessoa neste locatário.

Exemplo

Reutilizaremos a EnabledRunbookPatterns seção de antes.

  • Desabilitar todos os runbooks compartilhados (prefixo rjgit-) na categoria de segurança.

Funções

Nesta seção você pode atribuir uma lista de runbooks a um grupo do Entra ID. Isto permite definir múltiplas funções de suporte/operador em seu locatário.

Se esta seção for omitida, todo o suporte do RealmJoin e administradores têm acesso a todos os runbooks fornecidos nas seções anteriores.

circle-exclamation

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.

Vamos aplicar essas funções a múltiplos grupos do Entra ID e para cada função fornecer uma lista de runbooks permitidos. Esteja ciente - isto 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 ajudem o leitor fornecendo os nomes dos grupos do Entra ID.

Agora a UserAdmin função pode:

  • atribuir licenças a todos os usuários em seu locatário

  • modificar endereços de e-mail de todos os usuários em seu locatário

O DeviceAdmin função pode

  • limpar qualquer dispositivo em seu locatário

TargetEntityGroups

Talvez você tenha alguns usuários VIP cruciais. Não deveria ser possível para qualquer membro da equipe de suporte apagar o dispositivo de um VIP ou modificar o endereço de e-mail de um VIP. Podemos usar "targeting" para restringir funções em usuários críticos a equipes dedicadas.

"Dispositivos" serão direcionados pelo seu usuário primário/atribuído e 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 do 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 do Entra ID específicos (alvos).

Obviamente, se você omitir esta seção, todos os usuários/grupos/dispositivos em seu locatário são tratados igualmente.

Se você definir TargetEntityGroups isso não deve ter impacto em qualquer outro grupo não mencionado na seção.

Exemplo Completo

Suponha o grupo 0000c0af-c217-41e9-b790-3043788f0000 é nosso grupo de usuários VIP.

Introduzimos um novo grupo do Entra ID 4444c0af-c217-41e9-b790-3043788f4444 contendo 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 iremos adicioná-los às funções existentes.

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

Exemplo: Restringindo a Equipe de Suporte dos EUA para Gerenciar Apenas Usuários dos EUA

Neste cenário, temos equipe de suporte baseada nos EUA que deve gerenciar apenas Usuários localizados nos EUA. Para aplicar esta restrição:

  • Crie uma regra de permissão que explicitamente nega aos Suporters dos EUA a capacidade de executar Runbooks em todos os Usuários.

  • Adicione uma regra de exceção que especificamente permita a execução de Runbooks apenas para Usuários dos EUA.

Isto garante que os Suporters dos EUA tenham permissões estritamente limitadas ao público-alvo pretendido (Usuários dos EUA) e evita interações acidentais com usuários fora desse escopo.

Implementação

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

    1. Configurações > Permissões > Permissões de Runbook Runner

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

  2. Adicionando uma nova Função em Configurações > Permissões de Runbook

    1. Na seção Funções adicione a Função USSupporters com seu grupo Entra (object ID do grupo)

    2. Adicione AllowedRunbookPatterns para os USSupporters

  3. Modifique os TargetEntityGroups

    1. O grupo All-Users deve Restringir a Função USSupporters com um valor vazio (nenhum object ID de grupo Entra é adicionado aqui). Isto é uma negação implícita!

    2. O grupo US Users deve Restringir a Função USSupporters ao object ID do grupo Entra dos US Supporters

Restringindo a Equipe de Suporte dos EUA a gerenciar apenas Usuários dos EUA

Abaixo o exemplo completo para este cenário:

SchedulingEnabledRunbookPatterns

Esta seção contém uma lista de runbooks que serão marcados como "agendáveis". O Portal RealmJoin permitirá atribuir / gerenciar agendamentos para estes runbooks. Veja Agendamento de Runbooks.

O seguinte exemplo descreve o comportamento padrão se SchedulingEnabledRunbookPatterns não estiverem definidos:

SchedulingDisabledRunbookPatterns

Esta seçã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 / gerenciar agendamentos para estes runbooks. Veja Agendamento de Runbooks.

Um runbook presente tanto em SchedulingEnabledRunbookPatterns quanto em SchedulingDisabledRunbookPatterns irá retornaria ser agendável.

Por padrão nenhum runbook está na lista negra. O exemplo a seguir apenas demonstra a sintaxe:

Last updated

Was this helpful?