Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Automação do Azure é um serviço de nuvem do Azure que permite automatizar processos e gerenciamento de sistemas comuns ou repetitivos. Microsoft Graph é o ponto de extremidade da API unificada da Microsoft para os recursos do Microsoft Entra que gerenciam usuários, grupos, pacotes de acesso, revisões de acesso e outros recursos no diretório.
Você pode gerenciar a ID do Microsoft Entra em escala na linha de comando do PowerShell usando o SDK do Microsoft Graph PowerShell. Você também pode incluir os cmdlets do Microsoft Graph PowerShell a partir de um runbook baseado em PowerShell na Automação do Azure, para automatizar tarefas do Microsoft Entra usando um script simples.
A Automação do Azure e o SDK do Graph do PowerShell dão suporte à autenticação baseada em certificado e às permissões de aplicativo, para que os runbooks da Automação do Azure se autentiquem no Microsoft Entra ID sem precisarem de um contexto de usuário.
Este artigo mostra como começar a usar a Automação do Azure para a governança do Microsoft Entra ID, criando um runbook simples que consulta o gerenciamento de direitos por meio do PowerShell do Microsoft Graph.
Criar uma conta de Automação do Azure
Automação do Azure fornece um ambiente hospedado na nuvem para execução de runbook. Esses runbooks podem ser iniciados automaticamente com base em um agendamento ou ser disparados por webhooks ou por Aplicativos Lógicos.
O uso da Automação do Azure requer que você tenha uma assinatura do Azure.
Função de pré-requisito: assinatura do Azure ou proprietário do grupo de recursos
Entre no portal do Azure . Verifique se você tem acesso à assinatura ou ao grupo de recursos em que a conta de Automação do Azure estará localizada.
Selecione a assinatura ou o grupo de recursos e selecione Criar. Digite Automação, selecione o serviço de Automação do Azure da Microsoft e, em seguida, selecione Criar.
Depois que a conta de Automação do Azure tiver sido criada, selecione Controle de acesso (IAM). Em seguida, selecione Exibir em Exibir acesso a esse recurso. Esses usuários e entidades de serviço poderão interagir mais tarde com o serviço Microsoft por meio dos scripts a serem criados nessa conta de Automação do Azure.
Examine os usuários e as entidades de serviço listadas lá e certifique-se de que eles estejam autorizados. Remova todos os usuários não autorizados.
Criar um par de chaves autoassinadas e um certificado no computador
Para que possa operar sem precisar das credenciais pessoais, a conta de Automação do Azure criada precisará se autenticar no Microsoft Entra ID com um certificado.
Se você já tiver um par de chaves para autenticar o serviço no Microsoft Entra ID e um certificado recebido de uma autoridade de certificação, pule para a próxima seção.
Para gerar um certificado autoassinado,
Siga as instruções sobre como criar um certificado autoassinado, opção 2, para criar e exportar um certificado com sua chave privada.
Exibir a impressão digital do certificado.
$cert | ft Thumbprint
Depois de exportar os arquivos, você poderá remover o certificado e o par de chaves do repositório de certificados de usuário local. Nas próximas etapas, você também removerá os arquivos
.pfx
e.crt
, depois que o certificado e a chave privada forem carregados nos serviços de Automação do Azure e do Microsoft Entra.
Carregar o par de chaves na Automação do Azure
O seu runbook na Automação do Azure recupera a chave privada do arquivo .pfx
e a utiliza para autenticação no Microsoft Graph.
No portal do Azure para a conta de Automação do Azure, selecione Certificados e Adicione um certificado.
Carregue o arquivo
.pfx
já criado e digite a senha que você forneceu quando criou o arquivo.Depois que a chave privada for carregada, registre a data de validade do certificado.
Agora você pode excluir o arquivo
.pfx
do computador local. No entanto, não exclua o arquivo.crt
ainda, pois você precisará dele em uma próxima etapa.
Adicionar módulos do Microsoft Graph à conta de Automação do Azure
Por padrão, a Automação do Azure não tem módulos do PowerShell pré-carregados para o Microsoft Graph. Você precisa adicionar Microsoft.Graph.Authentication e, em seguida, módulos adicionais, da galeria à sua conta de Automação.
No portal do Azure para a conta de Automação do Azure, selecione Módulos e procure a galeria.
Na barra pesquisa, digite Microsoft.Graph.Authentication. Selecione o módulo, selecione Importar e selecione OK para que a ID do Microsoft Entra comece a importar o módulo. Depois de selecionar OK, a importação de um módulo poderá demorar alguns minutos. Não tente adicionar mais módulos do Microsoft Graph até que a importação do módulo Microsoft.Graph.Authentication seja concluída, pois os outros módulos têm esse como pré-requisito.
Retorne à lista Módulos e selecione Atualizar. Depois que o status do módulo Microsoft.Graph.Authentication for alterado para Disponível, você poderá importar o próximo módulo.
Se você estiver usando os cmdlets para recursos de Governança de ID do Microsoft Entra, como o gerenciamento de direitos, repita o processo de importação para o módulo Microsoft.Graph.Identity.Governance.
Importe outros módulos que seu script possa exigir, como Microsoft.Graph.Users. Por exemplo, se você estiver usando o Microsoft Entra ID Protection, poderá importar o módulo Microsoft.Graph.Identity.SignIns .
Criar um registro de aplicativo e atribuir permissões
Em seguida, você criará um registro de aplicativo no Microsoft Entra ID para que o Microsoft Entra ID reconheça o certificado do runbook de Automação do Azure para a autenticação.
- Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Aplicativos.
- Navegue até Entra ID>registros do aplicativo.
- Selecione Novo registro.
- Digite um nome para o aplicativo e selecione Registrar.
- Depois que o cadastro do aplicativo for criado, anote a ID do aplicativo (cliente) e a ID do diretório (locatário), pois precisará desses itens mais tarde.
- Selecione Certificados e Segredos>Certificados>Carregar certificado.
- Carregue o arquivo
.crt
criado anteriormente.
- Carregue o arquivo
- Selecione permissões> de APIAdicionar uma permissão.
- Selecioneas permissões de Aplicativo do >.
Selecione cada uma das permissões necessárias para sua conta de Automação do Azure e, em seguida, selecione Adicionar permissões.
- Se o runbook estiver executando apenas consultas ou atualizações em um único catálogo, você não precisará atribuir permissões de aplicativo para todo o locatário; em vez disso, você pode atribuir o principal de serviço ao proprietário do catálogo ou à função leitor de catálogo.
- Se o runbook estiver executando apenas consultas para gerenciamento de direitos, ele poderá usar a permissão EntitlementManagement.Read.All .
- Se o runbook estiver realizando alterações no gerenciamento de concessões, como criar atribuições em vários catálogos, use a permissão EntitlementManagement.ReadWrite.All.
- Para outras APIs, verifique se a permissão necessária foi adicionada. Por exemplo, para o Microsoft Entra ID Protection, a permissão IdentityRiskyUser.Read.All pode ser necessária.
Conceder consentimento do administrador
O aplicativo criado na seção anterior tem permissões que exigem que alguém com pelo menos a função de Administrador de funções com privilégios aprove antes de funcionar conforme o esperado.
- Entre no Centro de administração do Microsoft Entra como pelo menos um Administrador de Funções Com Privilégios.
- Navegue até Entra ID>Registros de aplicativos>Todos os aplicativos.
- Selecione o aplicativo criado na seção anterior.
- Selecione permissões de API e examine as permissões necessárias.
- Se apropriado, selecione Conceder consentimento do administrador para "Seu Nome de Locatário" para conceder essas permissões ao aplicativo.
Criar variáveis da Automação do Azure
Nesta etapa, você criará na conta de Automação do Azure três variáveis que o runbook usa para determinar como se autenticar no Microsoft Entra ID.
No portal do Azure, retorne à conta da Automação do Azure.
Selecione Variáveis e Adicione variável.
Crie uma variável chamada Thumbprint. Digite, como o valor da variável, a impressão digital do certificado que já foi gerada.
Crie uma variável chamada ClientId. Como o valor da variável, digite a ID do cliente para o aplicativo registrado no Microsoft Entra ID.
Crie uma variável chamada TenantId. Como o valor da variável, digite a ID do locatário do diretório em que o aplicativo foi registrado.
Criar um runbook do PowerShell da Automação do Azure que possa usar o Graph
Nesta etapa, você criará um runbook inicial. Você pode disparar esse runbook para verificar se a autenticação que usa o certificado já criado foi bem-sucedida.
Selecione Runbooks e Crie um runbook.
Digite o nome do runbook, selecione o PowerShell como o tipo de runbook a ser criado e selecione Criar.
Depois que o runbook for criado, um painel de edição de texto é exibido para você digitar o código-fonte do PowerShell do runbook.
Digite o PowerShell a seguir no editor de texto.
Import-Module Microsoft.Graph.Authentication
$ClientId = Get-AutomationVariable -Name 'ClientId'
$TenantId = Get-AutomationVariable -Name 'TenantId'
$Thumbprint = Get-AutomationVariable -Name 'Thumbprint'
Connect-MgGraph -clientId $ClientId -tenantId $TenantId -certificatethumbprint $Thumbprint
Selecione o painel Teste e selecioneIniciar. Aguarde alguns segundos até a conclusão do processamento do script de runbook realizado pela Automação do Azure.
Se a execução do seu runbook for bem-sucedida, a mensagem Bem-vindo ao Microsoft Graph! será exibida.
Agora que você verificou que o runbook pode se autenticar no Microsoft Graph, estenda-o adicionando cmdlets para interagir com os recursos do Microsoft Entra.
Estender o runbook para usar o gerenciamento de direitos
Se o registro do aplicativo para seu runbook tiver as permissões EntitlementManagement.Read.All ou EntitlementManagement.ReadWrite.All , ele poderá usar as APIs de gerenciamento de direitos.
- Por exemplo, para obter uma lista de pacotes de acesso de gerenciamento de direitos do Microsoft Entra, você pode atualizar o runbook criado acima e substituir o texto pelo PowerShell a seguir.
Import-Module Microsoft.Graph.Authentication
$ClientId = Get-AutomationVariable -Name 'ClientId'
$TenantId = Get-AutomationVariable -Name 'TenantId'
$Thumbprint = Get-AutomationVariable -Name 'Thumbprint'
$auth = Connect-MgGraph -clientId $ClientId -tenantid $TenantId -certificatethumbprint $Thumbprint
Import-Module Microsoft.Graph.Identity.Governance
$ap = @(Get-MgEntitlementManagementAccessPackage -All -ErrorAction Stop)
if ($null -eq $ap -or $ap.Count -eq 0) {
ConvertTo-Json @()
} else {
$ap | Select-Object -Property Id,DisplayName | ConvertTo-Json -AsArray
}
Selecione o painel Teste e selecioneIniciar. Aguarde alguns segundos até a conclusão do processamento do script de runbook realizado pela Automação do Azure.
Se a execução for bem-sucedida, a saída será uma matriz JSON em vez da mensagem de boas-vindas. A matriz JSON inclui a ID e o nome de exibição de cada pacote de acesso retornado da consulta.
Fornecer parâmetros para o runbook (opcional)
Você também pode adicionar parâmetros de entrada ao runbook adicionando uma seção Param
na parte superior do script do PowerShell. Por exemplo,
Param
(
[String] $AccessPackageAssignmentId
)
O formato dos parâmetros permitidos depende do serviço de chamada. Se o runbook requerer parâmetros do chamador, você precisará adicionar uma lógica de validação ao runbook para garantir que os valores do parâmetro fornecidos sejam apropriados para a forma como o runbook pode ser iniciado. Por exemplo, se o runbook for iniciado por um webhook, a Automação do Azure não executará nenhuma autenticação em uma solicitação de webhook, desde que ela seja feita na URL correta, portanto, você precisará de um meio alternativo para validar a solicitação.
Depois de configurar parâmetros de entrada de runbook, você poderá fornecer valores ao testar seu runbook por meio da página de Teste. Posteriormente, quando o runbook for publicado, você poderá fornecer parâmetros ao iniciar o runbook a partir do PowerShell, da API REST ou de um aplicativo lógico.
Analisar a saída de uma conta da Automação do Azure nos Aplicativos Lógicos (opcional)
Depois que o runbook for publicado, você poderá criar um agendamento na Automação do Azure e vincular o runbook para que ele seja executado automaticamente. O agendamento de runbooks a partir da Automação do Azure é adequado para os runbooks que não precisam interagir com outros serviços do Azure ou do Office 365 que não têm interfaces PowerShell.
Se você quiser enviar a saída do runbook para outro serviço, convém considerar o uso dos Aplicativos Lógicos do Azure para iniciar o runbook de Automação do Azure, pois os Aplicativos Lógicos também podem analisar os resultados.
No Azure Logic Apps, crie uma Logic App no Designer de Logic Apps começando com Recorrência.
Adicione a operação Criar trabalho da Automação do Azure. Autentique-se no Microsoft Entra ID e selecione a Assinatura, o Grupo de recursos e a Conta de automação já criados. Selecione Aguardar Trabalho.
Adicione o parâmetro nome do runbook e digite o nome do runbook a ser iniciado. Se o runbook tiver parâmetros de entrada, então forneça valores para eles.
Selecione Nova etapa e adicione a operação Obter saída do trabalho. Selecione a mesma Assinatura, o mesmo Grupo de Recursos, a mesma Conta de Automatização da etapa anterior e selecione o valor dinâmico da ID do trabalho na etapa anterior.
Em seguida, você pode adicionar mais operações ao Aplicativo Lógico, como a ação Analisar JSON que usa o Conteúdo retornado quando o runbook for concluído. (Se você estiver gerando automaticamente o esquema Parse JSON a partir de uma carga útil de exemplo, certifique-se de levar em conta que o script do PowerShell pode potencialmente retornar nulo; talvez seja necessário alterar parte do
"type": "string"
para"type": ["string", "null"]
no esquema.)
Na Automação do Azure, um runbook do PowerShell poderá não ser concluído se tentar gravar uma grande quantidade de dados no fluxo de saída de uma só vez. Normalmente, você pode resolver esse problema fazendo com que o runbook emita apenas as informações necessárias para o Aplicativo Lógico, como usando o cmdlet Select-Object -Property
para excluir as propriedades desnecessárias.
Planejar a atualização constante do certificado
Se você criou um certificado autoassinado seguindo as etapas acima para autenticação, tenha em mente que o certificado tem um tempo de vida limitado antes de expirar. Você precisará regenerar o certificado e carregar o novo certificado antes da data de validade dele.
Há dois locais em que você pode ver a data de validade no portal do Azure.
- Na Automação do Azure, a tela Certificados exibe a data de validade do certificado.
- No Microsoft Entra ID, no registro de aplicativo, a tela
Certificados & segredos exibe a data de validade do certificado usado para a conta de Automação do Azure.