Como implementar controle de acesso e aprovação do seu código com o AWS CodeCommit
- Publicado em: 17 de março de 2022
- Autor: Gabriel Goltz
No cenário de DevOps, estamos familiarizados com as ferramentas de versionamento e controle de código, que auxiliam na gestão da infraestrutura e aplicações, estejam elas em Cloud Privadas ou Públicas.
O AWS CodeCommit é um serviço de controle de origem (código), gerenciado, seguro e altamente dimensionável, que hospeda repositórios privados do Git. Ele possibilita as equipes, colaborarem com segurança no código, contribuições criptografadas em trânsito e em repouso. Com ele, você não precisa gerenciar seu próprio sistema de controle de origem nem se preocupar com o dimensionamento da sua infraestrutura, todos estes pontos são gerenciados pela AWS. O CodeCommit pode ser usado para armazenar qualquer item, desde códigos a binários. Por ser compatível com a funcionalidade padrão do Git, ele funciona perfeitamente com suas ferramentas existentes.
Como o CodeCommit é integrado ao IAM, é possível criar políticas para segmentar os acessos por times/projetos, assim como a granularidade das permissões.
Neste exemplo, temos dois repositórios, onde cada um possui uma equipe responsável pelo seu desenvolvimento. As aplicações executam a versão do código da branch main. Então, vamos criar políticas por equipe e bloquear alterações na branch main diretamente.
- Equipe01 > App01
- Equipe02 > App02
Para a política de cada equipe, criaremos com permissão total nos repositórios, exceto para criação/exclusão de repositórios e alterações de regras de aprovações.
Em recursos, insira a região e o nome do repositório.
Salve a política e aplique ao grupo de usuários desejado.
Após, crie política para impedir alterações na branch main, e aplique aos grupos dos desenvolvedores.
Com essa política, os desenvolvedores não conseguirão realizar alterações na branch main diretamente. Será necessário realizar pull request e passar por aprovação. No exemplo abaixo, criamos uma regra onde requer no mínimo duas aprovações dos gestores selecionados e aplicada aos repositórios.
Estas medidas de segurança, protegem os repositórios de serem acessados indevidamente e impedem que alterações sem autorização sejam realizadas em ambiente de produção, podendo causar impactos e quebra na aplicação.
Abner Klug é AWS Solutions Architect Professional na 2CLOUD TECNOLOGIA