Automatically generate least-privilege IAM policies for AWS based on resource ARNs and access levels.
Policy Sentry is an IAM least-privilege policy generator for AWS that automates the creation of secure IAM policies. It solves the problem of manually writing complex, scoped-down policies by allowing users to specify resource ARNs and access levels, then generating the appropriate JSON policies automatically. This tool helps enforce security best practices by limiting permissions to only what is necessary.
Infrastructure as Code developers, cloud security engineers, and DevOps teams working with AWS who need to create and manage IAM policies with least-privilege principles efficiently.
Developers choose Policy Sentry because it drastically reduces the time and expertise required to write secure IAM policies, from hours to seconds. Its unique selling point is the ability to generate policies based on resource constraints and access levels, abstracting AWS IAM complexity while ensuring compliance with least-privilege security models.
IAM Least Privilege Policy Generator
Drastically reduces policy creation time from hours to seconds by mapping resource ARNs to AWS actions based on CRUD access levels, as demonstrated in the tutorial with SSM and SecretsManager examples.
Offers both a CLI for quick policy generation and a Python library for programmatic integration, enabling seamless use in scripts or CI/CD pipelines.
Includes a comprehensive, queryable database of AWS actions, resources, and condition keys for exploration and validation, shown in the cheat sheet with commands like 'policy_sentry query action-table'.
Generates policies in JSON format compatible with AWS IAM, Terraform, and other IaC tools, simplifying deployment across different environments.
Requires creating and maintaining YAML templates for policy generation, which can be cumbersome and error-prone for users unfamiliar with the format or handling complex policies.
Exclusively supports AWS IAM, making it ineffective for hybrid or multi-cloud environments where policies for other providers like Azure or GCP are needed.
Relies on a local SQLite database that must be manually updated via 'initialize --fetch' to include new AWS services, risking stale data if not maintained regularly.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.