Skip to content

Conversation

@super-cob
Copy link
Contributor

This is a fork from https://github.com/yuvipanda/terraform-deploy/tree/fix/no-users and the idea is that you can terraform apply from the aws-creds folder to create a group that may assume a role from which you may then run the real terraform script from the aws folder. You simply add yourself to the group and then use awsudo or sts to assume the role in a shell before creating your EKS cluster. Looking for direction here, I took a lot of liberties and I want to gauge interest in adopting this system for other orgs.

yuvipanda and others added 7 commits April 29, 2020 20:42
We were creating AWS service users, giving them keys
and then checking those keys in with git-crypt. This isn't
good security practice. We should be creating roles with
minimal permissions instead. These roles can then be 'assumed'
by different entities - an EC2 instance running GitHub actions,
a local user on a computer, etc. This also removes need to
managed EC2 access credentials in a repo - dangerous, and bothersome
to rotate.

This needs corresponding changes in hubploy to use assumed
roles before it can work.
Currently, only the user who created the cluster can
access the cluster. We need to explicitly set role in
[aws-auth](https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html)
to let roles access the cluster.

We set this up, so the hubploy role can actually talk to the
kubernetes cluster
We create a role that can assume only the two roles
necessary for hubploy. This role can only be attached
to ec2 instances
Only needs to run describe-cluster on the one we just
created
Copy link
Member

@yuvipanda yuvipanda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments, but is in the right path! Would love for a README when it's done.

aws-creds/iam.tf Outdated
"eks:UpdateClusterConfig",
"eks:DescribeUpdate",
"iam:GetInstanceProfile",
"iam:GetOpenIDConnectProvider",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use spaces to match the other lines?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spaces instead of tabs everywhere i can is done

@super-cob super-cob changed the title WIP allow terraform to generate the base role for cluster creation Allow terraform to generate the base role for cluster creation May 19, 2020
@super-cob
Copy link
Contributor Author

No longer a WIP, this is legit now!

@super-cob super-cob requested a review from yuvipanda May 20, 2020 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants