Este artigo descreve uma solução que controla as alterações feitas pelos administradores de serviço e adiciona um processo de aprovação a implantações para locatários do Microsoft 365. Ele pode ajudá-lo a evitar alterações não controladas em locatários do Microsoft 365 e evitar desvios de configuração entre vários locatários do Microsoft 365.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de Trabalho
- O Admin 1 adiciona, atualiza ou exclui uma entrada na bifurcação do Admin 1 do arquivo de configuração do Microsoft 365.
- O Admin 1 confirma e sincroniza as alterações com o repositório bifurcado do Admin 1.
- O administrador 1 cria uma solicitação pull (PR) para mesclar as alterações no repositório principal.
- O pipeline de construção é executado no PR.
- Os administradores revisam o código e mesclam o PR.
- O PR mesclado dispara um pipeline para compilar arquivos MOF (Managed Object Format). O pipeline chama o Azure Key Vault para recuperar as credenciais usadas nos arquivos MOF.
- Uma tarefa do Azure PowerShell em um pipeline de vários estágios usa os arquivos MOF compilados para implantar alterações de configuração por meio do Microsoft365DSC.
- Os administradores validam as alterações em um locatário do Microsoft 365 em estágios.
- Os administradores recebem notificação do processo de aprovação no Azure DevOps para o locatário de produção do Microsoft 365. Os administradores aprovam ou rejeitam as alterações.
Componentes
- Azure Pipelines é um serviço de DevOps do Azure para integração contínua e entrega contínua (CI/CD). Use o Azure Pipelines para testar e criar seu código e enviá-lo para qualquer destino. Você também pode usar o Azure Pipelines para implementar portas de qualidade para ajudar a garantir que você implante as alterações de maneira controlada e consistente.
- O Cofre de Chaves melhora a segurança do armazenamento de tokens, senhas, certificados, chaves de API e outros segredos. Ele também fornece acesso rigorosamente controlado a esses segredos. Use o Cofre da Chave para armazenar entidades de serviço e certificados que você usa para implantar alterações de configuração para 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 da Configuração de Estágio Desejado (DSC) do PowerShell. Use o Microsoft365DSC para implantar alterações de configuração em locatários do Microsoft 365 por meio do Azure Pipelines.
- O Windows PowerShell DSC é uma plataforma de gerenciamento no PowerShell. Você pode usá-lo para gerenciar sua infraestrutura de desenvolvimento usando um modelo de configuração como código. Este modelo é a tecnologia subjacente que o Microsoft365DSC usa.
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 Cofre da Chave para armazenar certificados do Serviço de Aplicativo do Azure ou credenciais de usuário 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. Usando uma máquina virtual (VM) do Azure para Windows e DSC, você pode aplicar e monitorar uma configuração para locatários do Microsoft 365 que usam o Microsoft365DSC. Você pode usar os grupos de ação do Azure para enviar emails aos administradores do Microsoft 365 quando a VM do Windows do Azure detetar um desvio de configuração usando o Microsoft 365DSC. Além disso, um grupo de ação do Azure pode executar um webhook para acionar um runbook do Azure para gerar um relatório de desvio de configuração em locatários do Microsoft 365.
Detalhes do cenário
Muitas empresas estão adotando práticas de DevOps e querem aplicar essas práticas aos seus locatários do Microsoft 365. Se você não adotar o DevOps para 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. Microsoft365DSC é um módulo DSC do PowerShell. Você pode usá-lo para configurar e gerenciar locatários do Microsoft 365 em um verdadeiro estilo DevOps, que é a configuração como código.
Potenciais casos de utilização
Esta solução pode ajudá-lo a gerenciar a configuração do locatário do Microsoft 365 de forma controlada e automatizada usando ferramentas e práticas de DevOps em:
- Ambientes de desenvolvimento, teste, aceitação e produção.
- Vários locatários de clientes, como em um cenário de provedor de serviços gerenciados.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
A maioria das pessoas que estão começando com o PowerShell DSC acham que leva um tempo para aprendê-lo. Isso ajuda se você tiver uma sólida compreensão do PowerShell e experiência com a criação de scripts.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
A maioria dos recursos do Microsoft365DSC suporta autenticação via nome de usuário e senha. Não recomendamos esse tipo de autenticação porque as práticas recomendadas da Microsoft recomendam a autenticação multifator. Se os recursos do Microsoft 365 oferecerem suporte a eles, as credenciais do aplicativo serão o método preferido. SharePoint no Microsoft 365, Microsoft Entra ID e outros recursos suportam credenciais de aplicativo.
Se você criar uma solução 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 para seu locatário de produção.
Otimização de Custos
A Otimização de Custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design para otimização de custos.
Para obter informações sobre preços do Azure DevOps, consulte Preços do Azure DevOps. Se você incorporar o Cofre da Chave em sua solução, consulte Preços do Cofre da Chave.
Você também pode usar a calculadora de preços do Azure para estimar custos.
Excelência Operacional
A Excelência Operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Lista de verificação de revisão de design para 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 equipas de operações podem:
- Armazene seus scripts em um repositório e adicione controle de origem e controle de versão.
- Automatize implantações de scripts.
- Use quadros para controlar tarefas e projetos.
Usar um modelo de configuração como código não é uma tarefa única. É uma mudança na sua forma de trabalhar e uma mudança fundamental para todos os membros da equipa. 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
Eficiência de desempenho é a capacidade de sua carga de trabalho de escalar para atender às demandas colocadas pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de revisão de projeto para eficiência de desempenho.
Você pode usar essa solução quando trabalha com vários ambientes, várias cargas de trabalho 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 implantar em vários locatários para cenários, incluindo cenários de desenvolvimento, teste, aceitação e produção, ou para várias organizações.
Implementar este cenário
O white paper do Microsoft 365 DSC, Managing Microsoft 365 in true DevOps style with Microsoft365DSC and Azure DevOps, fornece etapas detalhadas para implantar esse cenário.
Contribuidores
Este artigo está sendo mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Derek Smay - Brasil | Arquiteto de Soluções Cloud Sênior
Próximos passos
- Gerenciando o Microsoft 365 no verdadeiro estilo DevOps com Microsoft365DSC e Azure DevOps
- Código fonte Microsoft365DSC
- Canal do YouTube Microsoft365DSC
- Site do Microsoft365DSC
- Ferramenta geradora de exportação Microsoft365DSC