O que é política como código?
A política como código é uma abordagem para o gerenciamento de políticas em que as políticas são definidas, atualizadas, compartilhadas e aplicadas usando código. Ao aproveitar a automação baseada em código, em vez de depender de processos manuais para gerenciar políticas, a política como código permite que as equipes se movimentem mais rapidamente e reduzam o potencial de erros devido a falhas humanas.
Ao mesmo tempo, uma abordagem de política como código para domínios como segurança possibilita definir e gerenciar políticas de forma que diferentes tipos de participantes, como desenvolvedores e engenheiros de segurança, possam entender.
Esta página explica como funciona a política como código, por que ela é importante e como aproveitá-la no contexto da segurança.
Definição de política como código
Para entender o que significa política como código, o senhor deve primeiro entender a definição de "política".
Nesse contexto, uma política é qualquer tipo de regra, condição ou instrução que rege as operações ou os processos de TI. Uma política pode ser uma regra que define quais condições devem ser atendidas para que um código passe por um controle de segurança e seja implantado, por exemplo. Ou pode ser um conjunto de procedimentos que são executados automaticamente em resposta a um evento de segurança.
Política como código é o uso de código para definir e gerenciar regras e condições. Em uma abordagem de política como código, as equipes escrevem políticas usando algum tipo de linguagem de programação, como Python, YAML ou Rego. O idioma específico geralmente depende das ferramentas de gerenciamento e aplicação de políticas como código que o senhor está usando.
Quando os engenheiros precisam fazer atualizações, eles o fazem modificando o código existente. Eles também podem compartilhar o código com outras pessoas para dar visibilidade às suas políticas usando sistemas de controle de versão (VCS). E, por último, mas não menos importante, eles podem usar um mecanismo de aplicação de política como código para garantir que as políticas sejam cumpridas. Um mecanismo de aplicação pode ser um código de política como código autônomo ou pode ser integrado a uma plataforma maior.
Política como código vs. Infraestrutura como código
O conceito de política como código pode parecer semelhante ao de Infraestrutura como código, ou IaC. A IaC, que usa arquivos baseados em código para automatizar a configuração e o provisionamento da infraestrutura, tem sido uma prática comum para as equipes de operações de TI há anos.
Enquanto a IaC é benéfica para as equipes de operações de TI que precisam fazer o provisionamento da infraestrutura, a política como código pode melhorar as operações de segurança, o gerenciamento da conformidade, o gerenciamento de dados e muito mais.
Benefícios da política como código
Em comparação com a alternativa, que é gerenciar regras, condições e procedimentos manualmente, a política como código oferece vários benefícios essenciais:
- Eficiência: Quando as políticas são definidas como código, elas podem ser compartilhadas e aplicadas automaticamente em escala praticamente ilimitada. Isso é muito mais eficiente do que exigir que os engenheiros apliquem uma política manualmente sempre que for necessário. A atualização e o compartilhamento de políticas também são mais eficientes quando as políticas são definidas em um código claro e conciso, em vez de serem descritas em linguagem humana que alguns engenheiros podem interpretar de forma diferente dos outros.
- Velocidade: A capacidade de automatizar a aplicação de políticas também significa que a política como código resulta em operações mais rápidas do que uma abordagem manual.
- Visibilidade: Quando as políticas são definidas em código, é fácil para todas as partes interessadas usar o código para entender o que está acontecendo em um sistema. Eles podem revisar as regras de alerta ou de correção simplesmente verificando quais políticas baseadas em código estão em vigor, por exemplo, em vez de ter que perguntar a outros engenheiros e esperar por uma resposta.
- Colaboração: Ao fornecer um meio uniforme e sistemático de gerenciar políticas, a política como código simplifica a colaboração. Isso inclui a colaboração não apenas dentro da mesma equipe, mas também entre diferentes tipos de equipes, especialmente entre desenvolvedores (que estão acostumados a pensar e trabalhar em termos de código) e especialistas em outros domínios, como segurança ou operações de TI.
- Precisão: Quando as equipes definem e gerenciam políticas usando código, elas evitam o risco de cometer erros de configuração ao gerenciar um sistema manualmente.
- Controle de versão: Se o senhor acompanhar as diferentes versões dos arquivos de política à medida que elas mudam, a política como código garante que seja possível reverter facilmente para uma configuração anterior caso uma nova versão da política crie um problema.
- Teste e validação: Quando as políticas são escritas em código, é fácil validá-las usando ferramentas de auditoria automatizadas. Dessa forma, a política como código pode ajudar a reduzir o risco de introdução de erros críticos nos ambientes de produção.
Como usar a política como código
A maneira mais fácil de aproveitar as vantagens da política como código hoje é adotar ferramentas que suportem nativamente a política como código para qualquer domínio que o senhor queira gerenciar por meio de uma abordagem de política como código.
Por exemplo, no campo da segurança, Prisma Cloud, Bridgecrew e Checkov permitem que as equipes de segurança definam políticas de segurança usando código. Eles também podem verificar e auditar automaticamente os arquivos de política para detectar configurações incorretas ou vulnerabilidades antes da implantação. Essa abordagem é uma das maneiras pelas quais essas ferramentas simplificam o gerenciamento da postura de segurança na nuvem.
O senhor também pode querer explorar ferramentas como o Open Policy Agent, que tem como objetivo fornecer uma estrutura comum para aplicar a política como código a qualquer domínio. Até o momento, no entanto, a adoção pelo fornecedor de estruturas de política como código baseadas na comunidade como essa permanece limitada, e é por isso que procurar ferramentas de fornecedores com suporte nativo a política como código é o caminho mais simples para a implementação de uma abordagem de política como código para a segurança ou qualquer outro domínio de TI.