-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow terraform to generate the base role for cluster creation #34
base: master
Are you sure you want to change the base?
Conversation
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
…into fix/no-users
Only needs to run describe-cluster on the one we just created
There was a problem hiding this 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:CreateCluster", | ||
"eks:DeleteCluster", | ||
"eks:DescribeCluster", | ||
"eks:ListClusters", | ||
"eks:UpdateClusterConfig", | ||
"eks:DescribeUpdate", | ||
"iam:GetInstanceProfile", | ||
"iam:GetOpenIDConnectProvider", |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
…into fix/no-users # Conflicts: # aws-creds/iam.tf
No longer a WIP, this is legit now! |
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 theaws-creds
folder to create a group that may assume a role from which you may then run the real terraform script from theaws
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.