All Projects → 99designs → Iamy

99designs / Iamy

Licence: mit
A cli tool for importing and exporting AWS IAM configuration to YAML files

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Iamy

Torchlambda
Lightweight tool to deploy PyTorch models to AWS Lambda
Stars: ✭ 83 (-58.5%)
Mutual labels:  aws, aws-cli, cli, yaml
Awless
A Mighty CLI for AWS
Stars: ✭ 4,821 (+2310.5%)
Mutual labels:  aws, aws-cli, cli, devops
Terragrunt
Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
Stars: ✭ 5,446 (+2623%)
Mutual labels:  aws, cli, devops
Bash My Aws
Bash-my-AWS provides simple but powerful CLI commands for managing AWS resources
Stars: ✭ 782 (+291%)
Mutual labels:  aws, aws-cli, cli
Aws Cost Saver
A tiny CLI tool to help save costs in development environments when you're asleep and don't need them!
Stars: ✭ 178 (-11%)
Mutual labels:  aws, aws-cli, cli
Aws Vault
A vault for securely storing and accessing AWS credentials in development environments
Stars: ✭ 5,626 (+2713%)
Mutual labels:  aws, cli, iam
Saws
A supercharged AWS command line interface (CLI).
Stars: ✭ 4,886 (+2343%)
Mutual labels:  aws, aws-cli, cli
Aegea
Amazon Web Services Operator Interface
Stars: ✭ 51 (-74.5%)
Mutual labels:  aws, cli, iam
Ahoy
Create self-documenting cli programs from YAML files. Easily wrap bash, grunt, npm, docker, (anything) to standardize your processes and make the lives of the people working on your project better.
Stars: ✭ 201 (+0.5%)
Mutual labels:  cli, yaml, devops
Module Security Public
The public documentation for the gruntwork-io/module-security repo, which contains packages for setting up best practices for managing secrets, credentials, and servers
Stars: ✭ 67 (-66.5%)
Mutual labels:  aws, devops, iam
Perun
A command-line validation tool for AWS Cloud Formation that allows to conquer the cloud faster!
Stars: ✭ 82 (-59%)
Mutual labels:  aws, aws-cli, yaml
Aws
A collection of bash shell scripts for automating various tasks with Amazon Web Services using the AWS CLI and jq.
Stars: ✭ 493 (+146.5%)
Mutual labels:  aws, aws-cli, iam
Org Formation Cli
Better than landingzones!
Stars: ✭ 471 (+135.5%)
Mutual labels:  aws, cli, devops
Aws Toolbox
A collection of DevOps tools including shell & python scripts that automate the boring stuff in AWS.
Stars: ✭ 89 (-55.5%)
Mutual labels:  aws, aws-cli, devops
Cw
The best way to tail AWS CloudWatch Logs from your terminal
Stars: ✭ 368 (+84%)
Mutual labels:  aws, cli, devops
Carvel Ytt
YAML templating tool that works on YAML structure instead of text
Stars: ✭ 816 (+308%)
Mutual labels:  cli, yaml, devops
Awless Templates
Repository of examples for awless templates (see https://github.com/wallix/awless)
Stars: ✭ 59 (-70.5%)
Mutual labels:  aws, cli, devops
Awesome Aws
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome.
Stars: ✭ 9,895 (+4847.5%)
Mutual labels:  aws, aws-cli, iam
Awsprocesscreds
Process credential providers for AWS SDKs and Tools
Stars: ✭ 123 (-38.5%)
Mutual labels:  aws, aws-cli, iam
Aws Serverless Cicd Workshop
Learn how to build a CI/CD pipeline for SAM-based applications
Stars: ✭ 158 (-21%)
Mutual labels:  aws, devops

IAMy

IAMy is a tool for dumping and loading your AWS IAM configuration into YAML files.

This allows you to use an Infrastructure as Code model to manage your IAM configuration. For example, you might use a github repo with a pull request model for changes to IAM config.

How it works

IAMy has two subcommands.

pull will sync IAM users, groups and policies from AWS to YAML files

push will sync IAM users, groups and policies from YAML files to AWS

For the push command, IAMy will output an execution plan as a series of aws cli commands which can be optionally executed. This turns out to be a very direct and understandable way to display the changes to be made, and means you can pick and choose exactly what commands get actioned.

Getting started

You can install IAMy on macOS with brew install iamy, or with the go toolchain go get -u github.com/99designs/iamy.

Because IAMy uses the aws cli tool, you'll want to install it first.

For configuration, IAMy uses the same AWS environment variables as the aws cli. You might find aws-vault an excellent complementary tool for managing AWS credentials.

Example Usage

$ iamy pull

$ find .
./myaccount-123456789/iam/user/joe.yml

$ mkdir -p myaccount-123456789/iam/user/foo

$ touch myaccount-123456789/iam/user/foo/bar.baz

$ cat << EOD > myaccount-123456789/iam/user/billy.blogs
Policies:
- arn:aws:iam::aws:policy/ReadOnly
EOD

$ iamy push
Commands to push changes to AWS:
        aws iam create-user --path /foo --user-name bar.baz
        aws iam create-user --user-name billy.blogs
        aws iam attach-user-policy --user-name billy.blogs --policy-arn arn:aws:iam::aws:policy/ReadOnly

Exec all aws commands? (y/N) y

> aws iam create-user --path /foo --user-name bar.baz
> aws iam create-user --user-name billy.blogs
> aws iam attach-user-policy --user-name billy.blogs --policy-arn arn:aws:iam::aws:policy/ReadOnly

Accurate cloudformation matching

By default, iamy will use a simple heuristic (does it end with an ID, eg -ABCDEF1234) to determine if a given resource is managed by cloudformation.

This behaviour is good enough for some cases, but if you want slower but more accurate matching pass --accurate-cfn to enumerate all cloudformation stacks and resources to determine exactly which resources are managed.

Inspiration and similar tools

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].