dumbtv
dumbtv takes the ads, screen tracking and update nags out of your Fire TV over ADB. No root, none of your apps touched, every step can be undone. Free and open source.
Get the IAM policy a CloudFormation or SAM stack needs from its template, before you deploy it.
SecurityPythonGitHub @mrliklOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A tool to automatically generate minimal IAM policy to deploy a CloudFormation stack from its template.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Generate the IAM policy a CloudFormation stack needs, from its template, before you deploy it.
Deploy roles are usually far broader than the stack needs, often AdministratorAccess, because working out the minimum by hand means reading the docs for every resource type in the template. IAM Access Analyzer can generate a policy, but it works from CloudTrail, so you have to deploy with broad permissions first and narrow them afterwards. cfn2iam reads the template instead.
Requires Python 3.9+ and network access to the schema host (see How it works).Read the full README ↗Generate the IAM policy a CloudFormation stack needs, from its template, before you deploy it.
Deploy roles are usually far broader than the stack needs, often AdministratorAccess, because working out the minimum by hand means reading the docs for every resource type in the template. IAM Access Analyzer can generate a policy, but it works from CloudTrail, so you have to deploy with broad permissions first and narrow them afterwards. cfn2iam reads the template instead.
pip install cfn2iam # or: uv tool install cfn2iam
pip install "cfn2iam[iam]" # adds boto3, for --create-role and registry lookups of private types
Requires Python 3.9+ and network access to the schema host (see How it works).
cfn2iam template.yaml
This writes policy-<random>.json to the current directory:
{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": ["s3:CreateBucket", "s3:GetBucketTagging", "..."], "Resource": "*" },
{ "Effect": "Deny", "Action": ["s3:DeleteBucket", "..."], "Resource": "*" }
]
}
| Option | Effect |
|---|---|
-d, --allow-delete | Allow the delete-only actions instead of denying them |
-c, --create-role | Also create an IAM role CloudFormation can assume, with this policy inline (needs cfn2iam[iam] and AWS credentials) |
-r, --role-name NAME | Role name for --create-role (default cfn2iam-<random>) |
-p, --permissions-boundary ARN | Permissions boundary for the created role |
--ignore-unknown | Skip resource types found in neither the public schemas nor the CloudFormation registry, instead of failing |
--registry | Look up every resource type with CloudFormation DescribeType in your account instead of the published schemas (needs cfn2iam[iam] and AWS credentials) |
--region REGION | Region for CloudFormation registry lookups (default: your AWS config) |
--version | Print the version |
Examples:
cfn2iam template.yaml -d # allow deletes, e.g. for stacks you tear down
cfn2iam template.yaml -c -r MyDeployRole # create the role as well
cfn2iam template.yaml -c -p arn:aws:iam::123456789012:policy/boundary
!Ref) and collects the resource types.AWS::Serverless::*) into the resources SAM creates, using rules that check the resource's properties (for example, a function with an SQS event also needs the event source mapping).backend/sam_rules.DescribeType in your account and region. This needs cfn2iam[iam], AWS credentials and cloudformation:DescribeType. With --registry, every type is looked up this way; SAM rules still come from the published rules.create, read, update and list handlers as Allow, and the permissions only its delete handler needs as Deny (or Allow with -d).If any resource type can't be resolved, cfn2iam lists them, writes no policy, and exits with status 1. A partial policy would fail mid-deploy at best. Network failures can't be skipped; types found nowhere can, with --ignore-unknown.
"Resource": "*". Resource ARNs mostly don't exist until the stack does, so the policy is least-privilege on actions only.-d if the role also has to delete these resources.Custom::*, AWS::CloudFormation::CustomResource, AWS::CDK::Metadata). Anything they need, such as permission to invoke their Lambda function, isn't included.MIT. See LICENSE.