Command-line tool for generating custom AWS IAM policies with ease. Specify services, resources, and permissions through simple commands to create tailored security policies for your AWS projects.
https://github.com/IamLizu/awspolicy.git
awspolicy is a command-line tool for generating custom AWS IAM policies with ease. Specify services, resources, and permissions through simple commands to create tailored security policies for your AWS projects.
Disclaimer: Not affiliated with AWS and is not an official AWS product. It is a personal project created to simplify the process of generating IAM policies for AWS services with a command-line interface. For a more user-friendly policy generator, consider using the Policy Generator of AWS.
$ npm install awspolicy -g
Options:
-v, --version output the version number
-s, --service <type> AWS service (e.g., s3, ecr)
-b, --bucket <name> S3 bucket name (required for S3)
-rp, --repositories <name> Comma-separated list of ECR repository names (required for ECR)
-rg, --region <region> AWS region (e.g., ap-southeast-2)
-a, --account-id <accountId> AWS account ID (e.g., 021704626424)
-p, --permission <levels> Permissions for the selected service.
For S3: binary format (e.g., 111).
For ECR: comma-separated list of actions (e.g., ListImages,PutImage)
-t, --template <name> Template for predefined permissions (e.g., generic for ECR)
-h, --help display help for command
$ awspolicy -s s3 -b my-bucket -p 111
We have a predefined template called generic which provides the following permissions,
BatchCheckLayerAvailabilityInitiateLayerUploadUploadLayerPartCompleteLayerUploadPutImageBatchGetImageGetDownloadUrlForLayerGetAuthorizationToken is added separately to the policy to allow the user to authenticate, no need to specify it.
$ awspolicy -s ecr -rg ap-southeast-2 -a 12345678 -rp my-repo -t generic
Permissions can be manually specified as well
$ awspolicy -s ecr -rg ap-southeast-2 -a 12345678 -rp my-repo -p BatchCheckLayerAvailability,InitiateLayerUpload,UploadLayerPart,CompleteLayerUpload,PutImage,BatchGetImage,GetDownloadUrlForLayer
Feel free to open an issue or submit a pull request. Adding other AWS services such as EC2, SES etc is highly encouraged.