
Gera políticas AWS IAM de privilégio mínimo com base em ARNs de recursos e níveis de acesso, automatizando a criação segura de políticas para infraestrutura em nuvem.
Gerador de Políticas IAM de Menor Privilégio.

Para tutoriais e documentação completa, visite o projeto no ReadTheDocs.
Veja o post no blog de engenharia da Salesforce sobre o Policy Sentry.
Escrever Políticas IAM com consciência de segurança manualmente pode ser muito tedioso e ineficiente. Muitos desenvolvedores de Infraestrutura como Código já passaram por algo assim:
Tal processo não é ideal para a segurança nem para os desenvolvedores de Infraestrutura como Código. Precisamos facilitar a escrita segura de Políticas IAM e abstrair a complexidade de escrever políticas IAM de menor privilégio. Foi por isso que criei esta ferramenta.
O Policy Sentry permite que os usuários criem políticas IAM de menor privilégio em questão de segundos, em vez de escrever políticas IAM tediosamente manualmente. Essas políticas são reduzidas de acordo com os níveis de acesso e recursos. No caso de uma violação, isso ajuda a limitar o raio de explosão de credenciais comprometidas, dando aos principais IAM apenas o acesso de que precisam.
Antes desta ferramenta, podia levar horas para criar uma Política IAM com restrições de ARN de recurso — mas agora pode levar questão de segundos. Dessa forma, os desenvolvedores só precisam determinar os recursos que precisam acessar, e o Policy Sentry abstrai a complexidade das políticas IAM de seus processos de desenvolvimento.
A principal funcionalidade do Policy Sentry é que ele pode criar políticas IAM com base em ARNs de recursos e níveis de acesso. Nossa funcionalidade CRUD assume a abordagem opinativa de que os desenvolvedores de IAC não precisam entender as complexidades do AWS IAM — devemos abstrair a complexidade para eles. Na verdade, os desenvolvedores deveriam apenas poder dizer...
arn:aws:s3:::example-org-sbx-vmimport"arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret"arn:aws:ssm:us-east-1:123456789012:parameter/test"...e nossa automação deve criar políticas que correspondam a esses níveis de acesso.
Como fazemos isso? Bem, o Policy Sentry aproveita a documentação da AWS sobre [Ações, Recursos e Chaves de Condição][1] para consultar as ações, níveis de acesso e tipos de recursos, e gera políticas de acordo com os ARNs e níveis de acesso. Considere o trecho da tabela abaixo:
| Ações | Nível de Acesso | Tipos de Recurso |
|---|---|---|
| ssm:GetParameter | Leitura | parâmetro |
| ssm:DescribeParameters | Listagem | parâmetro |
| ssm:PutParameter | Escrita | parâmetro |
| secretsmanager:PutResourcePolicy | Gerenciamento de permissões | segredo |
| secretsmanager:TagResource | Marcação | segredo |
O Policy Sentry agrega toda essa documentação em um único banco de dados e usa esse banco de dados para gerar políticas de acordo com ações, recursos e níveis de acesso.
brew tap salesforce/policy_sentry https://github.com/salesforce/policy_sentry
brew install policy_sentry
pip3 install --user policy_sentry
Para habilitar o autocompletar do Bash, coloque isso no seu .bashrc:
eval "$(_POLICY_SENTRY_COMPLETE=bash_source policy_sentry)"
Para habilitar o autocompletar do ZSH, coloque isso no seu .zshrc:
eval "$(_POLICY_SENTRY_COMPLETE=zsh_source policy_sentry)"
policy_sentry create-template --output-file crud.yml --template-type crud