policyuniverse

Parse and Process AWS IAM Policies, Statements, ARNs, and wildcards.

AWS Open Source Self Hosted Only
Category Identity & Access Management
GitHub Stars 427
Last Commit 1 year ago
This page updated a month ago
Pricing Details Free and open-source under Apache License 2.0.
Target Audience Cloud security professionals, DevOps engineers, and AWS administrators.

The policyuniverse tool addresses the complex challenge of managing and analyzing AWS IAM and resource policies, which can be cumbersome due to their complexity and size limits. This tool provides a robust technical architecture for parsing, expanding, and minimizing these policies.

At its core, policyuniverse uses Python classes to parse AWS IAM policies, including statements, ARNs, and wildcards. It can expand wildcard permissions using data from the AWS Policy Generator, which helps in understanding the full scope of permissions granted by a policy. For instance, an action like rds:* can be expanded into approximately 88 individual permissions, providing a clear view of what is allowed or denied.

Operationally, policyuniverse allows for the minification of policies to stay under AWS's policy size limits, although this can result in less readable policies. It also categorizes actions into types such as Write, Permissions, and Tagging, making it easier to summarize and analyze policy effects.

Key operational considerations include the handling of conditions and principals. The tool can determine if a policy is internet-accessible by analyzing conditions like IpAddress and Principal settings. For example, a policy allowing access from 0.0.0.0/0 would be flagged as internet-accessible.

Technically, policyuniverse uses unit tests to ensure the accuracy of its parsing and expansion functions. It supports various policy versions and can handle complex condition statements, including StringNotLike and NotIpAddress conditions. The tool's ability to expand and summarize actions into categories like s3, sqs, and sns with their respective action types simplifies policy analysis and auditing.

Improve this page