cloudfoundry-community-attic / aws-nat-bastion-bosh-cf

Set up a best practices Cloud Foundry with just a few commands.
2 stars 7 forks source link

[Doc] Provide more details on IAM user(s), group(s), and policies #13

Closed jahio closed 7 years ago

jahio commented 8 years ago

Consider a person coming to this project to try to "grok" the huge myriad of services, tools, concepts, etc. that is CF and all its friends. This person may not have any experience with things like IAM with AWS, so we need to explain in much more detail:

What if I don't have any IAM configuration - no users, no groups, nothing - in AWS?

Let's say a user set up a fresh account with Amazon to try this out (for whatever reason). They have no IAM groups, so telling them "add the new user to a group" is totally useless. First, they have to create a group; several questions come to mind there:

What if my organization already has IAM users, groups, and policies set up? What specific policy/policies or set of permissions do I need to run this code as intended?

Internally I was told when first reviewing this project to set up a "PowerUser" group with a policy allowing quite a wide array of permissions within AWS. Some organizations won't be comfortable with that and in fact may not be able to allow that for reasons of law, compliance requirements, auditors, etc.. So how do you create your IAM user and IAM group, or associate an existing user, group and policy, such that you're not grabbing ALL the privileges, but just the bare minimum you need to run this?

And finally... is there any way to segregate the user, group and/or policy such that this user cannot make any changes to existing AWS resources, nor can they even read existing resources? Think about "containment" in the event you have to create a superuser group and the key ID and secret somehow get divulged to "the bad guys"; if that happens, how do we prevent it from impacting our other AWS stuff?