Skip to content
This repository has been archived by the owner on May 20, 2019. It is now read-only.
/ botool Public archive

Hopefully useful botocore scripts for managing aws resources

License

Notifications You must be signed in to change notification settings

reedobrien/botool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

botool

Hopefully useful botocore scripts for managing aws resources

TODO

IAM

  • add backup flag to write out settings to file(s)
  • add capacity to remove users, groups, and roles
  • tests
  • allow "users" to have individual policies

Example Config

service: IAM

groups:
  - group_name: "group1"
    policy_name: "allow-rw-to-s3"
    policy_document: "example-allow-rw-to-s3.json"
  - group_name: "group2"
    policy_name: "allow-rw-to-s3"
    policy_document: "example-allow-rw-to-s3.json"
  - group_name: "group3"
    policy_name: "allow-rw-to-s3"
    policy_document: "example-allow-rw-to-s3.json"

users:
  - user_name: "user1"
    groups: [group2, group1]
  - user_name: "user2"
    groups: [group1]
  - user_name: "user3"
    groups: [group3, group2, group1]
  - user_name: "user4"
    groups: [group2, group3]

roles:
  - role_name: "role1-service"
    policy_name: "allow-rw-to-s3"
    assume_role_policy_document: "allow-assume-role-by-ec2-service.json"
    policy_document: "example-allow-rw-to-s3.json"
  - role_name: "role2-service"
    policy_name: "allow-rw-to-s3"
    assume_role_policy_document: "allow-assume-role-by-ec2-service.json"
    policy_document: "example-allow-rw-to-s3.json"
  - role_name: "role3-service"
    policy_name: "allow-rw-to-s3"
    assume_role_policy_document: "allow-assume-role-by-ec2-service.json"
    policy_document: "example-allow-rw-to-s3.json"

Example Policies

allow-assume-role-by-ec2-service.json

{
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
                ],
            "Principal":
            {
                "Service" :
                [
                    "ec2.amazonaws.com"
                ]
            }
        }
    ]
}

example-allow-rw-to-s3.json

{
    "Version":"2012-10-17",
    "Statement":
        [
            {
                "Effect":"Allow",
                "Action":
                [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:ListMultipartUploadParts",
                "s3:PutObject",
                "s3:PutObjectAcl"
                ],
                "Resource":
                    [
                    "arn:aws:s3:::hqmigrat-stage/*"
                    ]
            },
            {
                "Sid":"Stmt1391189122000",
                "Effect":"Allow",
                "Action":
                [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:ListMultipartUploadParts",
                "s3:PutObject",
                "s3:PutObjectAcl"
                ],
                "Resource":
                [
                "arn:aws:s3:::hqmigrat-prod/*"
                ]
            }
        ]
}

About

Hopefully useful botocore scripts for managing aws resources

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages