Allow terraform to generate the base role for cluster creation#34
Open
super-cob wants to merge 15 commits intopangeo-data:masterfrom
Open
Allow terraform to generate the base role for cluster creation#34super-cob wants to merge 15 commits intopangeo-data:masterfrom
super-cob wants to merge 15 commits intopangeo-data:masterfrom
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
yuvipanda
requested changes
May 18, 2020
Member
yuvipanda
left a comment
There was a problem hiding this comment.
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", |
Member
There was a problem hiding this comment.
use spaces to match the other lines?
Contributor
Author
There was a problem hiding this comment.
spaces instead of tabs everywhere i can is done
…into fix/no-users # Conflicts: # aws-creds/iam.tf
Contributor
Author
|
No longer a WIP, this is legit now! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a fork from https://github.com/yuvipanda/terraform-deploy/tree/fix/no-users and the idea is that you can
terraform applyfrom theaws-credsfolder to create a group that may assume a role from which you may then run the real terraform script from theawsfolder. 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.