O blog da AWS

Provisionamento SCIM sob demanda do Azure AD para o AWS IAM Identity Center com PowerShell

Por Aidan Keane, arquiteto de Soluções na AWS

 

6 de Junho de 2023: Fizemos pequenas atualizações na seção “Conceda permissão à API Graph para acessar o Default Directory no Azure AD”.

Neste post, demonstrarei como você pode usar um script PowerShell para iniciar uma sincronização sob demanda entre o Azure Active Directory e o AWS IAM Identity Center  e evitar o tempo padrão de sincronização de 40 minutos entre os dois provedores de identidade. Essa solução ajuda as empresas a sincronizar rapidamente as alterações feitas em usuários, grupos ou permissões no Azure AD com o AWS IAM Identity Center. Isso permite que alterações de usuários ou de permissões sejam rapidamente refletidas nas contas associadas da AWS.

Pré-requisitos

Você precisa do seguinte para concluir esta sessão:

Esta postagem se concentra nas etapas necessárias para configurar a solução de sincronização sob demanda. Você pode encontrar detalhes sobre como configurar e usar o PowerShell e os módulos PowerShell do Azure em Instalando Azure PowerShell.

Figure 1: Triggering the SCIM Endpoint to sync all users and groups

Figura 1: Acionando o SCIM Endpoint para sincronizar todos os usuários e grupos

Conceda permissão à API Graph para acessar o Default Directory no Azure AD

Para começar, conceda as permissões necessárias para que o aplicativo tenha acesso ao endpoint do diretório.

Para conceder permissões

  1. Entre no Portal do Azure e navegue até o painel do Azure AD.
  2. No painel de navegação esquerdo, selecione App registrations. Se você não encontrar seu aplicativo listado, selecione a guia All applications.
    Neste exemplo, estou usando um aplicativo chamado AWS.

    Figure 2: Select the AWS app registration

    Figura 2: Selecione o registro do aplicativo da AWS

  3. Escolha API permissions no painel de navegação.
  4. Escolha a opção Add a permission.

    Figura 3: Selecione a permissão Add API

  5. Na página de configurações que se abre, escolha a opção Microsoft Graph.

    Figure 4: Request API permissions

    Figura 4: Solicitar permissões de API

    Em What type of permissions does your application require, selecione Application permissions e digite Application.ReadWrite.OwnedBy no campo de pesquisa de permissões. Selecione Application.ReadWrite.OwnedBy e escolha Add permissions na parte inferior da página. Repita esta etapa para a permissão Synchronization.ReadWrite.All.

    Figure 5: Request API permissions – Add permissionsFigura 5: Solicitar permissões de API — Adicionar permissões

  6. Na página de permissões da API, escolha Grant admin consent for Default Directory e selecione Yes.

    Figure 6: Grant permission to the Application

    Figura 6: Conceder permissão ao aplicativo

Crie um certificado e um segredo para acessar o aplicativo

Para começar, crie um certificado e um segredo que concedam acesso seguro ao aplicativo da AWS.

Para criar um certificado e um segredo

  1. Escolha Certificate & Secrets no menu de navegação à esquerda e escolha New client secret.

    Figure 7: Creating a client secret for 1 year

    Figura 7: Criação de um client secret que expira em 1 ano

  2. Selecione o tamanho desejado do certificado.
  3. Forneça uma descrição e escolha Add.
    1. Copie o valor do certificado gerado e salve-o para uso posterior nesse processo.
    2. After you’ve saved the value to use later, select Home from the top left corner of the screen.

    Figure 8: Make sure you click Copy to clipboard to store the value of the secret

    Figura 8: Certifique-se de clicar em Copy to clipboard para armazenar o valor do segredo

Pré-requisitos para acionar o endpoint SCIM

Você precisa dos seguintes itens para executar o código PowerShell que aciona o endpoint.

  1. No registro do aplicativo, recupere os itens mostrados abaixo. Observe que você deve usar o client secret salvo anteriormente quando o certificado foi criado.
    • Tenant ID
    • Display name
    • Application ID
    • Client secret
  2. Copie os itens para um bloco de notas na mesma ordem indicada anteriormente. Na execução do script você poderá colar um único bloco de texto com todos os parâmetros.
  3. No menu, selecione Azure Active Directory
  4. Escolha Apps registrations e selecione o AWS App que foi configurado.
  5. Copie o Application (client) ID e o Directory (tenant) ID.

Figure 9: App registration contains all the items needed for the PowerShell script

Figura 9: O registro do aplicativo contém todos os itens necessários para o script PowerShell

Acione o endpoint SCIM com o PowerShell

Agora que você concluiu todas as etapas anteriores, você precisa copiar o código do repositório do GitHub para sua máquina local e executá-lo. Configuramos o código para ser executado manualmente, mas você também pode automatizá-lo para acionar um runbook de automação do Azure quando os usuários são adicionados ao Azure por meio de alertas. Você também pode configurar CloudWatch Events para executar uma função Lambda em intervalos periódicos.

Para acionar o endpoint SCIM

  1. Copie o código do repositório do GitHub.
  2. Salve o código usando o editor de código de sua escolha, ou você pode baixar o Visual Studio Code. Dê ao arquivo um nome fácil de usar, como Sync.ps1.
  3. Navegue até o local em que você salvou o arquivo e execute ./sync.ps1.
  4. Quando solicitado, insira os valores do bloco de notas. Você pode colar tudo de uma vez para não precisar copiar e colar cada item individual.

    Nota: Ao copiar e colar no Windows, escolha o ícone do PowerShell e, em seguida, Edit > Paste.

    Figure 10: Windows Command Prompt – Select Paste to copy all items needed to trigger the sync

    Figura 10: Prompt de comando do Windows — Selecione Paste para copiar todos os itens necessários para acionar a sincronização

Depois de colar os valores na janela do PowerShell, você verá a entrada do script conforme mostrado na captura de tela a seguir. O client secret e a senha do cliente são valores seguros e são mascarados para fins de segurança.

Figure 11: PowerShell script with input values pasted in

Figura 11: Script do PowerShell com valores de entrada colados

Depois que a tarefa for iniciada no PowerShell, duas mensagens serão exibidas. Uma indicando que a sincronização está sendo iniciada e outra quando a sincronização for concluída. Ambos são mostrados na figura a seguir.

Figure 12: Output from a successful run of the PowerShell script

Figura 12: Saída de uma execução bem-sucedida do script PowerShell

Exibir o status e os registros da sincronização

Para verificar se a tarefa foi executada com êxito, você pode verificar a hora de conclusão no portal do Azure. Você pode verificar a hora em que o script foi executado visualizando o tempo de conclusão junto com o status atual.

Para ver o status e os registros

  1. No menu, escolha Azure Active Directory.
  2. Escolha Enterprise Applications e selecione o AWS App.
  3. No menu de navegação à esquerda, escolha Provisioning e escolha View provisioning details. Isso exibe a última vez que a sincronização foi concluída.

    Figure 13: View the Provisioning details about the job

    Figura 13: Exibir os detalhes de provisionamento sobre a tarefa

Resumo

Neste post, demonstro como você pode usar um script PowerShell para acionar o endpoint SCIM para sincronizar sob demanda o Azure AD com o AWS IAM Identity Center. Você pode encontrar o código nesse repositório do GitHub e usá-lo para sincronizar alterações de usuários e grupos sob demanda.

 

Este artigo foi traduzido do Blog da AWS em Inglês.


Sobre o autor

Aidan Keane é arquiteto de Soluções senior, especializado em workloads da Microsoft na AWS. Ele trabalha com tecnologias de nuvem há mais de 5 anos e tem mais de 20 anos de experiência técnica. Fora do trabalho, ele é um entusiasta de esportes que gosta de jogar golfe, andar de bicicleta e assistir ao Liverpool FC, passar tempo com a família e viajar para a Irlanda e a América do Sul.

 

 

 

 

Tradutores e revisores

Luciano Bernardes trabalha atualmente como Sr Solutions Architect na AWS, especializado em workloads Microsoft. Com 16 anos de experiência no mercado, trabalhou a maior parte em consultoria técnica especializada em Microsoft, em clientes de várias verticais, com demandas voltadas para infraestrutura on-premises e em nuvem. Como SA, trabalha próximo a clientes e parceiros de consultoria em U.S. e LATAM, para apoiá-los em tomadas de decisão e revisão de arquitetura de workoads Microsoft na nuvem AWS.

 

 

 

 

Ariane Vieira Schmidt é arquiteta de soluções na AWS com o foco em GovTechs, onde atua apoiando os clientes em suas diversas fases de adoção da nuvem, passando por projetos de migração de dados, de aplicações e otimização de custos e melhores práticas. Trabalha com TI há 8 anos e anteriormente atuou no setor financeiro em projetos de inovação em canais digitais para o contato com os clientes, adquirindo experiencia em sistemas distribuídos, de mensageira em ambientes on-premises e realizando migrações para AWS.