As organizações podem usar o Visualizador de Governança do Azure para capturar informações de governança pertinentes sobre seus locatários do Azure. A ferramenta captura:
- hierarquia do grupo de gerenciamento.
- Informações de política, como definições de política personalizadas, definições de política personalizadas órfãs e atribuições de política.
- Informações de controle de acesso baseado em função (RBAC), como definições de função personalizadas, definições de função personalizadas órfãs e atribuições de função.
- Análise de segurança e práticas recomendadas do Azure.
- Insights do Microsoft Entra ID.
O Visualizador de Governança do Azure deve ser automatizado por meio de workflows do GitHub. O visualizador gera o resumo como arquivos HTML, MD e CSV. Idealmente, o relatório HTML gerado é facilmente acessível aos usuários autorizados na organização. Este artigo mostra como automatizar a execução do Visualizador de Governança do Azure e hospedar a saída de relatórios de forma segura e econômica no recurso Aplicativos Web do Serviço de Aplicativo do Azure.
Um exemplo de implementação está disponível no GitHub no acelerador do Visualizador de Governança do Azure.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de dados
A arquitetura da solução implementa o seguinte fluxo de trabalho:
- Um temporizador aciona o fluxo de Ações do GitHub.
- O fluxo faz uma conexão do OpenID Connect com o Azure. Em seguida, ele executa a ferramenta Azure Governance Visualizer. A ferramenta coleta os insights necessários na forma de relatórios HTML, MD e CSV.
- Os relatórios são enviados por push para o repositório do GitHub.
- A saída HTML da ferramenta Visualizador de Governança do Azure é publicada no Serviço de Aplicativo.
Fluxo dos usuários
Esse fluxo explica como um usuário pode usar a ferramenta:
- O usuário navega até a URL do Serviço de Aplicativo para acessar o relatório HTML do visualizador. O usuário é obrigado a autenticar por meio da autorização Microsoft Entra ID.
- O usuário pode revisar os insights fornecidos pelo visualizador.
Componentes
A automação apresentada neste cenário consiste nos seguintes componentes:
- O Microsoft Entra ID é um serviço de identidade empresarial que fornece logon único, autenticação multifator e acesso condicional. Nessa arquitetura, ela é usada para fornecer autenticação e autorização seguras para o aplicativo Web do Visualizador de Governança do Azure para um grupo de IDs do Entra específico.
- O Serviço de Aplicativo do Azure é uma plataforma totalmente gerenciada para criar e implantar aplicativos de nuvem. Ele permite definir um conjunto de recursos de computação para um aplicativo Web executar, implantar aplicativos Web e configurar slots de implantação. Nessa arquitetura, ela é usada para hospedar a saída do Visualizador de Governança do Azure para fornecer acesso seguro e suave em toda a organização.
- O GitHub é uma oferta SaaS popular da Microsoft, frequentemente usada por desenvolvedores para criar, enviar e manter seus projetos de software. Nessa arquitetura, ela é usada para hospedar a infraestrutura como código para a solução e as ações do GitHub usadas para implantá-la e mantê-la.
- o GitHub Actions é uma plataforma de CI/CD (integração contínua e entrega contínua) que permite automatizar o pipeline de build, teste e implantação. Nessa arquitetura, ela fornece integração contínua e recursos de implantação contínua para implantar e atualizar o Visualizador de Governança do Azure.
Alternativas
O Visualizador de Governança do Azure é um script do PowerShell, que pode ser executado diretamente em um computador local. O visualizador pode ser configurado para ser executado como parte das Ações do GitHub ou do pipeline de DevOps do Azure para receber informações atualizadas sobre seu ambiente. O visualizador produz um wiki como uma saída que pode ser publicada no GitHub ou no Azure DevOps.
O visualizador também pode ser hospedado em qualquer outra plataforma de hospedagem que seja segura e também econômica, como os Aplicativos Web Estáticos do Azure.
Detalhes do cenário
O Visualizador de Governança do Azure é um script baseado em PowerShell que itera a hierarquia do Grupo de Gerenciamento do locatário do Azure até o nível de assinatura. Ele captura os recursos de governança do Azure mais relevantes, como Política do Azure, RBAC, ID do Microsoft Entra e Blueprints. A partir dos dados coletados, o Visualizador de Governança do Azure visualiza todas essas informações em um relatório HTML fácil de navegar.
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.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.
É importante restringir o HTML de relatório apenas aos usuários autorizados a exibir esses dados. Esses dados são uma mina de ouro para ameaças internas e externas, pois expõem seu cenário do Azure, incluindo controles de segurança.
Use a autenticação do Microsoft Entra para restringir o acesso a indivíduos autorizados. Considere o uso da autenticação de Aplicativos Web para fornecer esse serviço. O código de implantação no GitHub configura os Aplicativos Web e verifica ativamente se a autenticação está habilitada antes da implantação.
Considere aplicar controles de segurança de rede para expor o site para sua equipe somente em um ponto de extremidade privado. E para restringir o tráfego, considere usar as restrições de IP dos Aplicativos Web.
Habilite o log de acesso no aplicativo Web do Azure para poder auditar o acesso. Configure o aplicativo Web do Azure para enviar esses logs para um espaço de trabalho do Log Analytics.
Verifique se a comunicação segura está habilitada no aplicativo Web do Azure. Somente HTTPS e FTPs são permitidos, e a versão mínima do TLS é configurada como 1.2.
Considere usar o Microsoft Defender para Serviço de Aplicativo no Microsoft Defender para Nuvem.
Use as versões mais recentes da pilha de tempo de execução do aplicativo Web do Azure.
Certifique-se de girar o segredo desta entidade de serviço regularmente e monitorar sua atividade. Para coletar todas as informações necessárias, o visualizador implantado depende de uma entidade de serviço com permissões de ID do Microsoft Entra.
Para obter mais informações sobre constroles de segurança, consulte Linha de base de segurança do Azure para Serviço de Aplicativo.
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.
A camada B1 (Básica) é usada para o aplicativo Web do Azure implantado no Serviço de Aplicativo. O Serviço de Aplicativo hospeda a saída HTML da ferramenta Visualizador de Governança do Azure para que seja leve.
Use a calculadora de preços do Azure para ver uma estimativa de preços para essa solução.
O exemplo no GitHub implanta apenas uma instância do Serviço de Aplicativo, mas você pode optar por implantar mais, se necessário.
Excelência operacional
A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar de excelência operacional.
A solução consiste principalmente em um aplicativo Web do Azure que hospeda a saída HTML da ferramenta de visualização. Recomendamos que você habilite as configurações de diagnóstico do aplicativo Web para monitorar o tráfego, acessar logs de auditoria, métricas e muito mais.
É importante monitorar o desempenho do aplicativo Web. Isso ajuda a identificar se você precisa aumentar ou reduzir a escala dependendo da quantidade de uso do visualizador.
Também é importante sempre executar as versões mais recentes da pilha de tempo de execução do aplicativo Web do Azure.
O Visualizador de Governança do Azure atualiza as versões regularmente com novos recursos, correções de bugs ou melhorias. No repositório do GitHub, um fluxo de trabalho dedicado do GitHub lida com o processo de atualização. Há uma opção configurável para atualizar o código do visualizador automaticamente ou manualmente, apenas abrindo uma solicitação pull com alterações que você pode revisar e mesclar.
O código de aceleração pode ser atualizado com novas configurações no código bicep do Serviço de Aplicativo ou com novas instruções para os pré-requisitos do visualizador. No repositório GitHub, um fluxo de trabalho dedicado do GitHub lida com esse processo de atualização. Há uma opção configurável para atualizar o código do visualizador automaticamente ou manualmente, apenas abrindo uma solicitação pull com alterações que você pode revisar e mesclar.
Implantar este cenário
Para implantar esse cenário, consulte o repositório GitHub do acelerador da Governança do Azure.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Seif Bassem | Arquiteto de soluções de nuvem
Para ver perfis não públicos no LinkedIn, entre no LinkedIn.
Próximas etapas
- Repositório GitHub do acelerador do Azure Governance Visualizer
- Projeto de software livre do Azure Governance Visualizer