Gerenciar a configuração de locatário do Microsoft 365 usando o Microsoft365DSC e o Azure DevOps

Azure DevOps
Cofre de Chave do Azure
Máquinas Virtuais do Windows do Azure
Microsoft 365

A solução descrita aqui acompanha as alterações feitas pelos administradores de serviços e adiciona um processo de aprovação às implantações para locatários do Microsoft 365. Isso pode ajudar você a evitar alterações não rastreadas nos locatários do Microsoft 365. E também ajuda a evitar a discrepância de configuração entre vários locatários do Microsoft 365.

Arquitetura

Diagrama que mostra a arquitetura para automatizar alterações feitas nas configurações de locatário do Microsoft 365.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  1. O administrador 1 adiciona, atualiza ou exclui uma entrada no fork do administrador 1 do arquivo de configuração do Microsoft 365.
  2. O administrador 1 faz commit e sincroniza as alterações no repositório bifurcado do administrador 1.
  3. O administrador 1 cria um PR (pull request) para mesclar as alterações no repositório principal.
  4. O pipeline de build é executado no PR.
  5. Os administradores revisam o código e fazem a mesclagem do PR.
  6. O PR mesclado dispara um pipeline para compilar arquivos MOF (Managed Object Format). O pipeline chama o Azure Key Vault para recuperar credenciais usadas nos MOFs.
  7. A tarefa do Azure PowerShell em um pipeline de várias etapas usa os arquivos MOF compilados para implantar alterações de configuração por meio do Microsoft365DSC.
  8. Os administradores validam as alterações em um ambiente de teste do Microsoft 365.
  9. Os administradores recebem uma notificação do processo de aprovação no Azure DevOps para o ambiente de produção do Microsoft 365. Os administradores aprovam ou rejeitam as alterações.

Componentes

  • O Azure Pipelines permite a CI (integração contínua) e a CD (entrega contínua) para testar e compilar seu código e enviá-lo para qualquer destino. O Azure Pipelines permitirá que você coloque portões de qualidade para garantir que as alterações sejam implantadas de maneira controlada e consistente.
  • O Azure Key Vault melhora a segurança do armazenamento para tokens, senhas, certificados, chaves de API e outros segredos. Ele também fornece acesso fortemente controlado a esses segredos. O Azure Key Vault será usado para armazenar a entidade de serviço e o certificado usados para implantar alterações de configuração em locatários do Microsoft 365.
  • O Microsoft365DSC fornece automação para a implantação, configuração e monitoramento de locatários do Microsoft 365 por meio do DSC do PowerShell. O Micrsosoft365DSC será usado para implantar alterações de configuração em locatários do Microsoft 365 por meio do Azure Pipelines.
  • O DSC do Windows PowerShell é uma plataforma de gerenciamento no PowerShell. Você pode usá-la para gerenciar sua infraestrutura de desenvolvimento usando um modelo de configuração como código. Essa é a tecnologia subjacente usada pelo Microsoft365DSC.

Alternativas

Você pode usar o DSC na Automação do Azure para armazenar configurações em um local central e adicionar relatórios de conformidade com o estado desejado.

Essa arquitetura usa o Key Vault para armazenar certificados do Serviço de Aplicativo do Azure ou credenciais de usuário que são usadas para autenticação no locatário do Microsoft 365. O Key Vault fornece escalabilidade. Como alternativa, você pode usar variáveis de pipeline para reduzir a complexidade da solução. Ao usar uma VM do Windows e DSC do Azure, você pode aplicar e monitorar uma configuração para o locatário do Microsoft 365 utilizando Microsoft365DSC. O Grupo de Ações do Azure pode ser usado para enviar emails para administradores do Microsoft 365 quando a VM do Windows do Azure detecta um descompasso de configuração utilizando o Microsoft 365DSC. Além disso, um grupo de ações do Azure pode executar um webhook para disparar um RunBook do Azure para gerar um relatório de descompasso de configuração no locatário do Microsoft 365.

Detalhes do cenário

Muitas empresas estão adotando práticas de DevOps e desejam aplicar essas práticas aos locatários do Microsoft 365. Se você não adotar o DevOps para o Microsoft 365, poderá encontrar alguns problemas comuns:

  • Configuração incorreta
  • Desafios com o acompanhamento de alterações de configuração
  • Nenhum processo de aprovação para modificações de locatário

Você pode usar a solução descrita neste artigo para automatizar alterações nas configurações de locatário do Microsoft 365 usando o Azure DevOps e o Microsoft365DSC. O Microsoft365DSC é um módulo de DSC (Desired State Configuration) do PowerShell. Você pode usá-lo para configurar e gerenciar locatários do Microsoft 365 em um verdadeiro estilo DevOps: configuração como código.

Possíveis casos de uso

Essa solução pode ajudar você a gerenciar a configuração de locatário do Microsoft 365 de maneira controlada e automatizada, usando as ferramentas e práticas do DevOps em:

  • Ambientes de desenvolvimento, teste, aceitação e produção.
  • Vários locatários do cliente, como em um cenário de provedor de serviço gerenciado.

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

A maioria das pessoas que começam com o DSC do PowerShell acha que leva algum tempo para aprender. Ajudará se você tiver uma compreensão sólida do PowerShell e da experiência com a criação de scripts.

Segurança

A maioria dos recursos do Microsoft365DSC dá suporte à autenticação por meio de nome de usuário e senha. Mas não recomendamos esse tipo de autenticação porque as práticas recomendadas da Microsoft recomendam a autenticação multifator. As credenciais de aplicativo são o método preferencial, nas quais há suporte para os recursos do Microsoft 365. Por exemplo, o SharePoint Online, o Microsoft Entra ID e outros recursos dão suporte às credenciais do aplicativo.

Se você criar uma solução do Microsoft365DSC no Azure DevOps, também poderá aproveitar a segurança no Azure Pipelines e um processo de aprovação para proteger a implantação em seu locatário de produção.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Para obter informações sobre os preços do Azure DevOps, consulte Preços do Azure DevOps. Se você incorporar o Key Vault em sua solução, poderá encontrar informações de preços aqui.

Também é possível usar a Calculadora de Preços do Azure para estimar os custos.

Excelência operacional

Algumas equipes de operações consideram o Azure DevOps uma ferramenta para desenvolvedores. Mas essas equipes podem se beneficiar do uso do Azure DevOps. As equipes de operações podem:

  • Armazenar seus scripts em um repositório e adicionar controle de código-fonte e de versão.
  • Automatizar implantações de scripts.
  • Usar quadros para acompanhar tarefas, projetos e muito mais.

Usar um modelo de configuração como código não é uma tarefa única. É uma mudança em sua maneira de trabalhar e uma mudança fundamental para todos os membros da equipe. Você não faz mais alterações manualmente. Em vez disso, tudo é implementado em scripts e implantado automaticamente. Todos os membros da equipe precisam ter as habilidades para fazer essa mudança.

Eficiência de desempenho

Você pode usar essa solução quando estiver trabalhando com vários ambientes, várias cargas de trabalho e/ou várias equipes. Você pode configurar o processo de validação para que os especialistas precisem aprovar cada carga de trabalho. Você também pode estender a solução para ser implantada em vários locatários, para um cenário de desenvolvimento/teste/aceitação/produção e/ou para várias organizações.

Implantar este cenário

O white paper do Microsoft365 DSC, Gerenciar o Microsoft 365 no verdadeiro estilo DevOps com o Microsoft365DSC e o Azure DevOps, fornece etapas detalhadas para implantar esse cenário.

Colaboradores

Este artigo está sendo mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

  • Derek Smay | Arquiteto Sênior de Soluções de Nuvem

Próximas etapas

Governança de ponta a ponta no Azure ao usar CI/CD