AWS IAM Actions Reference - CLI and Python API for AWS IAM actions, resources, and condition keys
Project description
aws-iam-ref
A Python library and CLI tool for accessing AWS IAM actions, resources, and condition keys reference data.
Features
- 🔍 Search IAM actions by name, service, or access level
- 🏷️ Filter by tag support (RequestTag, ResourceTag, TagKeys)
- 🔗 Identify dependent actions required for each operation
- 📊 Reference 20,000+ IAM actions from 441 AWS services
- 🚀 Fast local CLI with no AWS credentials required
- 🐍 Python API for programmatic access
Installation
pip install aws-iam-ref
CLI Usage
Search for actions
# Search for S3 actions
ref search s3
# Search for specific action
ref search iam:CreateRole
# Find actions with RequestTag support
ref search --tag request
# Find actions with dependent actions
ref search --dependent
# Filter by service and access level
ref search --service ec2 --access-level Write
# Show all actions (paginated)
ref search --limit 100
Show action details
ref show iam:CreateRole
Output:
iam:CreateRole
============================================================
Description: Grants permission to create a new role
Access Level: Write
Tag Support:
RequestTag: Yes
ResourceTag: No
TagKeys: Yes
Resource-Level Permissions: Yes
Resources (1):
- role*
Condition Keys (3):
- iam:PermissionsBoundary
- aws:TagKeys
- aws:RequestTag/${TagKey}
Dependent Actions (0):
List all services
ref services
Show statistics
ref stats
Output:
AWS IAM Reference Statistics
==================================================
Total Services: 441
Total Actions: 20,256
With RequestTag: 2,143
With ResourceTag: 1,891
Dependent Action Relations: 625
Last Updated: 2026-02-02 10:30:00
Update data
ref-update
This scrapes the latest data from AWS documentation (takes 5-10 minutes).
Python API
from ref import IAMReference
# Initialize
ref = IAMReference()
# Search actions
actions = ref.search_actions(
query="s3:Get",
has_request_tag=True
)
for item in actions:
service = item['service']
action = item['action']
print(f"{service['service']}:{action['name']}")
print(f" Description: {action.get('description')}")
print(f" Access Level: {action['accessLevel']}")
print(f" Has RequestTag: {action['hasRequestTag']}")
# Get specific action
result = ref.get_action('iam', 'CreateRole')
if result:
print(result['action']['conditionKeys'])
# Get statistics
stats = ref.get_stats()
print(f"Total actions: {stats['total_actions']}")
Data Source
Data is scraped from the AWS Service Authorization Reference documentation.
Requirements
- Python 3.7+
- requests
- beautifulsoup4
License
MIT License - see LICENSE file for details.
Contributing
Contributions welcome! Please open an issue or pull request on GitHub.
Related Projects
- AWS IAM Actions Web Reference - Web interface for the same data
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aws_iam_ref-1.0.0.tar.gz.
File metadata
- Download URL: aws_iam_ref-1.0.0.tar.gz
- Upload date:
- Size: 287.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51d194f1af4d63c5dc4ba6f5288cc10ec92044ccde0c137dd758d9ff8d67c74e
|
|
| MD5 |
ef5d22bf099066fb33020fc938283b14
|
|
| BLAKE2b-256 |
f99f0757f36a55ac6b8e9751dd7a752cd93fe908e57997512b1b2e5696106440
|
File details
Details for the file aws_iam_ref-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aws_iam_ref-1.0.0-py3-none-any.whl
- Upload date:
- Size: 299.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c37f0262301209769823e3c147f594f780f975539095d808d2a86d8b8b57160
|
|
| MD5 |
9f830a7445da25fff0e26c148839481b
|
|
| BLAKE2b-256 |
e1ea6131afda03830216ec92bb07f77685d99951821f6b747b21accb87062dfd
|