Skip to main content

AWS IAM Actions Reference - CLI and Python API for AWS IAM actions, resources, and condition keys

Project description

aws-iam-ref

PyPI version License: MIT

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_iam_ref-1.0.0.tar.gz (287.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_iam_ref-1.0.0-py3-none-any.whl (299.5 kB view details)

Uploaded Python 3

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

Hashes for aws_iam_ref-1.0.0.tar.gz
Algorithm Hash digest
SHA256 51d194f1af4d63c5dc4ba6f5288cc10ec92044ccde0c137dd758d9ff8d67c74e
MD5 ef5d22bf099066fb33020fc938283b14
BLAKE2b-256 f99f0757f36a55ac6b8e9751dd7a752cd93fe908e57997512b1b2e5696106440

See more details on using hashes here.

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

Hashes for aws_iam_ref-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c37f0262301209769823e3c147f594f780f975539095d808d2a86d8b8b57160
MD5 9f830a7445da25fff0e26c148839481b
BLAKE2b-256 e1ea6131afda03830216ec92bb07f77685d99951821f6b747b21accb87062dfd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page