Habilite o DevSecOps com o Azure e o GitHub
O DevSecOps, às vezes chamado de Secure DevOps, baseia-se nos princípios de DevOps, mas coloca a segurança no centro de todo o ciclo de vida do aplicativo. Esse conceito é chamado de "segurança shift-left": ele move a segurança upstream de uma preocupação somente com a produção para abranger os estágios iniciais de planejamento e desenvolvimento. Cada equipe e pessoa que trabalha em um aplicativo precisa considerar a segurança.
A Microsoft e o GitHub oferecem soluções para criar confiança no código que você executa em produção. Essas soluções inspecionam o código e permitem sua rastreabilidade até itens de trabalho e insights sobre os componentes de terceiros que estão em uso.
Proteger o código com o GitHub
Os desenvolvedores podem usar ferramentas de verificação de código que analisam rápida e automaticamente o código em um repositório do GitHub para encontrar vulnerabilidades de segurança e erros de codificação.
Você pode verificar o código para encontrar, fazer a triagem e priorizar correções para problemas existentes. A varredura de código também impede que os desenvolvedores introduzam novos problemas. É possível programar verificações para dias e horários específicos ou acionar varreduras quando ocorre um evento específico no repositório, como, por exemplo, um push. Você também pode acompanhar as dependências de seu repositório e receber alertas de segurança quando o GitHub detectar dependências vulneráveis.
- Examine seu código com CodeQL e verificação de token
- Gerencie avisos de segurança para seus projetos
- Proteja dependências do seu código com o Dependabot
Controle seu trabalho com o Azure Boards
As equipes podem usar o serviço Web do Azure Boards para gerenciar projetos de software. O Azure Boards fornece um conjunto avançado de recursos, incluindo suporte nativo para Scrum e Kanban, painéis personalizáveis e relatórios integrados.
Criar e implantar contêineres com o Azure Pipelines
Integre clusters do Azure Pipelines e do Kubernetes com facilidade. Você pode usar os mesmos documentos YAML para criar pipelines de vários estágios como código para integração contínua e entrega contínua.
O Azure Pipelines integra o rastreamento de metadados em suas imagens de contêiner, incluindo hashes de confirmação e números de problemas do Azure Boards, para que você possa inspecionar aplicativos com confiança.
A capacidade de criar pipelines de implantação com arquivos YAML e armazená-los no controle do código-fonte ajuda a gerar um loop de comentários mais curto entre equipes de desenvolvimento e operação que dependem de documentos claros e legíveis.
- Armazene imagens do Docker no Registro de Contêiner do Azure
- Crie uma imagem do Docker com o Azure Pipelines
- Implante no Kubernetes com rastreabilidade total
- Proteja seu Azure Pipelines
Executar e depurar contêineres com o Bridge to Kubernetes
Desenvolver um Aplicativo Kubernetes pode ser desafiador. Você precisa do Armazenamento de Arquivos do Kubernetes e do Docker. Você precisa imaginar como testar seu aplicativo localmente e interagir com outros serviços dependentes. Talvez seja necessário desenvolver e testar múltiplos serviços de uma só vez e com uma equipe de desenvolvedores.
O Bridge to Kubernetes permite que você execute e depure o código em seu computador de desenvolvimento, enquanto ainda está conectado ao cluster do Kubernetes com o restante do aplicativo ou dos serviços. Você pode testar seu código de ponta a ponta, acessar pontos de interrupção no código em execução no cluster e compartilhar um cluster de desenvolvimento entre os membros da equipe sem interferência.
Impor a segurança do contêiner com o Microsoft Defender para contêineres e o Azure Policy
O Microsoft Defender para contêineres é a solução nativa de nuvem para proteger contêineres.
- Visão geral do Microsoft Defender para Contêineres
- Noções básicas sobre clusters do Azure Policy para Kubernetes
- AKS (Serviço de Kubernetes do Azure)
Gerenciar identidades e acesso com a plataforma de identidade da Microsoft
A plataforma de identidade da Microsoft é uma evolução da plataforma de desenvolvedor do Azure AD (Azure Active Directory). Ela permite que os desenvolvedores criem aplicativos que conectem todas as identidades da Microsoft e obtenham tokens para chamar APIs da Microsoft, como o Microsoft Graph ou APIs que os desenvolvedores criaram.
O Azure AD B2C fornece a identidade de empresa para cliente como um serviço. Seus clientes usam suas identidades de conta social, empresarial ou local preferenciais para obter acesso de logon único a seus aplicativos e APIs.
O gerenciamento de acesso para recursos de nuvem é uma função crítica para organizações que usam a nuvem. O RBAC do Azure (controle de acesso baseado em funções do Azure) ajuda a gerenciar quem tem acesso aos recursos do Azure, o que pode fazer com esses recursos e a quais áreas pode acessar.
Você pode usar a plataforma de identidade da Microsoft para autenticar o restante das ferramentas de DevOps, incluindo suporte nativo no Azure DevOps e integrações com o GitHub Enterprise.
No momento, um cluster do AKS (Serviço de Kubernetes do Azure) (especificamente, o provedor de nuvem do Kubernetes) requer uma identidade para criar recursos adicionais, como balanceadores de carga e discos gerenciados no Azure. Essa identidade pode ser uma identidade gerenciada ou uma entidade de serviço. Se você usar uma entidade de serviço, deverá fornecer uma ou o AKS criará uma em seu nome. Se você usar a identidade gerenciada, uma será criada pelo AKS automaticamente. Para clusters que usam entidades de serviço, a entidade de serviço precisará ser renovada eventualmente para manter o cluster em funcionamento. O gerenciamento de entidades de serviço adiciona complexidade, motivo pelo qual é mais fácil usar identidades gerenciadas. Os mesmos requisitos de permissão se aplicam a entidades de serviço e identidades gerenciadas.
Identidades gerenciadas são basicamente um wrapper ao redor das entidades de serviço e simplificam o gerenciamento.
Gerenciar chaves e segredos com o Azure Key Vault
O Azure Key Vault pode ser usado para armazenar com segurança e controlar o acesso a tokens, senhas, certificados, chaves de API e outros segredos. Centralizar o armazenamento de segredos de aplicativo no Key Vault permite que você controle a distribuição. O Key Vault reduz consideravelmente a probabilidade de os segredos serem vazados acidentalmente. Quando você usa o Key Vault, os desenvolvedores de aplicativos não precisam mais armazenar informações de segurança no aplicativo, o que elimina a necessidade de tornar essas informações parte do código. Por exemplo, um aplicativo pode precisar se conectar a um banco de dados. Em vez de armazenar a cadeia de conexão no código do aplicativo, armazene-o com segurança no Key Vault.
Monitorar seus aplicativos
Com o Azure Monitor, você pode monitorar seu aplicativo e a infraestrutura em tempo real, identificando problemas com seu código e possíveis atividades suspeitas e anomalias. O Azure Monitor se integra a pipelines de lançamento no Azure Pipelines para habilitar a aprovação automática de portões de qualidade ou reversão de versão com base nos dados de monitoramento.
Saiba como monitorar aplicativos e infraestrutura com o Azure Application Insights e o Azure Monitor.
- Gerenciamento de desempenho de aplicativo com o Application Insights
- Monitore aplicativos conteinerizados com o Azure Monitor
Crie a arquitetura certa
A Segurança é um dos aspectos mais importantes de qualquer arquitetura. A segurança fornece garantias de confidencialidade, integridade e disponibilidade contra ataques deliberados e abuso de dados e sistemas valiosos. Se essas garantias forem perdidas, isso poderá afetar negativamente suas operações e receitas de negócios, bem como a reputação de sua organização no mercado.