
Génère des politiques IAM AWS du moindre privilège basées sur les ARNs de ressources et les niveaux d'accès, automatisant la création sécurisée de politiques pour l'infrastructure cloud.
Générateur de politiques IAM Least Privilege.

Pour des tutoriels détaillés et la documentation complète, veuillez consulter le projet sur ReadTheDocs.
Consultez le billet du blog Salesforce Engineering sur Policy Sentry.
Rédiger manuellement des politiques IAM soucieuses de la sécurité peut être très fastidieux et inefficace. De nombreux développeurs d'Infrastructure as Code ont déjà vécu quelque chose comme cela :
Un tel processus n'est idéal ni pour la sécurité ni pour les développeurs d'Infrastructure as Code. Nous devons faciliter la rédaction sécurisée de politiques IAM et abstraire la complexité de la rédaction de politiques IAM à privilèges minimaux. C'est pourquoi j'ai créé cet outil.
Policy Sentry permet aux utilisateurs de créer des politiques IAM à privilèges minimaux en quelques secondes, plutôt que de les rédiger laborieusement à la main. Ces politiques sont restreintes en fonction des niveaux d'accès et des ressources. En cas d'intrusion, cela permet de limiter le champ d'explosion des informations d'identification compromises en n'accordant aux principaux IAM que l'accès à ce dont ils ont besoin.
Avant cet outil, il fallait des heures pour élaborer une politique IAM avec des contraintes d'ARN de ressource — mais maintenant, cela peut prendre quelques secondes. Ainsi, les développeurs n'ont qu'à déterminer les ressources auxquelles ils ont besoin d'accéder, et Policy Sentry abstrait la complexité des politiques IAM de leurs processus de développement.
La fonctionnalité phare de Policy Sentry est qu'il peut créer des politiques IAM basées sur les ARN de ressources et les niveaux d'accès. Notre fonctionnalité CRUD adopte l'approche directive selon laquelle les développeurs d'IaC ne devraient pas avoir à comprendre les complexités d'AWS IAM - nous devrions abstraire la complexité pour eux. En fait, les développeurs devraient simplement pouvoir dire...
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"...et notre automatisation devrait créer des politiques correspondant à ces niveaux d'accès.
Comment y parvenons-nous ? Eh bien, Policy Sentry s'appuie sur la documentation AWS sur les [Actions, Ressources et Conditions Keys][1] pour rechercher les actions, les niveaux d'accès et les types de ressources, et génère des politiques en fonction des ARN et des niveaux d'accès. Considérez l'extrait de tableau ci-dessous :
| Actions | Niveau d'accès | Types de ressources |
|---|---|---|
| ssm:GetParameter | Lecture | parameter |
| ssm:DescribeParameters | Liste | parameter |
| ssm:PutParameter | Écriture | parameter |
| secretsmanager:PutResourcePolicy | Gestion des autorisations | secret |
| secretsmanager:TagResource | Étiquetage | secret |
Policy Sentry agrège toute cette documentation dans une base de données unique et utilise cette base pour générer des politiques en fonction des actions, des ressources et des niveaux d'accès.
brew tap salesforce/policy_sentry https://github.com/salesforce/policy_sentry
brew install policy_sentry
pip3 install --user policy_sentry
Pour activer l'autocomplétion Bash, placez ceci dans votre .bashrc :
eval "$(_POLICY_SENTRY_COMPLETE=bash_source policy_sentry)"
Pour activer l'autocomplétion ZSH, placez ceci dans votre .zshrc :
eval "$(_POLICY_SENTRY_COMPLETE=zsh_source policy_sentry)"