Parliament

AWS IAM linting library

AWS Open Source Self Hosted Only
Category Identity & Access Management
GitHub Stars 1053
Last Commit 6 months ago
This page updated a month ago
Pricing Details Free and open source
Target Audience Developers and DevOps teams managing AWS IAM policies.

Parliament addresses the critical security and operational challenge of ensuring the integrity and correctness of AWS IAM policies, which is often cumbersome and error-prone when done manually. This library provides a comprehensive solution by analyzing IAM policies for a range of issues, including malformed JSON, missing required elements, incorrect prefix and action names, and type mismatches.

Technically, Parliament is designed to be integrated as a library within other projects. It can analyze policy documents using the analyze_policy_string method, which returns a list of findings that highlight potential problems. The library supports both private and community auditors, allowing users to customize their auditing rules by storing them in separate folders and configuring the analysis process accordingly. For example, you can pass a custom config override YAML file and specify a path to private auditors when calling the analyze_policy_string method.

Operationally, Parliament is flexible and can be run from the command line or integrated into CI/CD pipelines. However, it does have some limitations, such as the need for periodic updates to its IAM data to ensure it remains effective. Issues like incorrect ARN matching and parsing errors have been reported, highlighting the importance of keeping the library up-to-date and addressing any bugs promptly. Additionally, the library's performance and accuracy can be affected by the complexity and size of the IAM policies being analyzed, so careful configuration and testing are essential.

In terms of specific technical details, Parliament supports JSON output for findings, making it easier to integrate with other tools and scripts. It also allows for the inclusion of community auditors by specifying the --include-community-auditors flag, which can enhance the breadth of policy checks without additional custom configuration. However, users need to be mindful of potential performance impacts when using extensive auditing rules or large policy documents.

Improve this page