Closed ckamps closed 4 years ago
A walkthrough of the early draft sample policy has been created. As we rapidly iterate on the sample policy, we'll need to keep the walkthrough doc in sync.
OK, so an initial rough customer permission set has been added and incorporated in the guide to align with most of the requirements listed here in this issue. The remaining task is to address the privilege escalation gap via IAM boundary permissions.
We moved to a NotAction approach in both the SAML and PB policies to make it more of a least privileged approach where access to specific IAM permissions needs to be explicitly allowed.
Out of the many resources/examples for permissions boundaries, this one has stood out in my mind:
https://identity-round-robin.awssecworkshops.com/permission-boundaries/build/
Demo using with Lambda:
https://www.youtube.com/watch?v=eVNvjQ0wr84&feature=youtu.be
The initial draft form of the SAML policy and Permissions Boundary (PB) policy have been integrated and are undergoing initial testing and review.
Our next step is to move the VPC deny permissions that are currently both the SAML and PB policies up to SCPs that get applied to the Development OU so that:
A few considerations based on initial review and testing:
To control access to IAM actions and resources, should we move from the current black list approach to a white list of explicitly allowed IAM actions? What are the pros and cons?
Which, if any, of the permissions could be moved to Service Control Policies (SCPs) in an effort to simplify the dev team SAML and PB policies?
Sample SCPs have been merged along with updated docs and IAM policy samples.
We initially directed the customer to use the
AWSPowerUserAccess
permission set when associating their development team groups in AWS SSO with the development team AWS accounts.However, since the underlying AWS-managed permission
PowerUser
doesn't allow for IAM access, it's not sufficient to meet the requirements.Background
See where the doc currently suggests using this AWS-managed permission set:
https://github.com/ckamps/aws-foundation-journey/blob/master/1-dev-environments/2-8-onboard-dev-teams.md
For example, it does not enable dev team members to create IAM roles associated with typical application level deployments.
Reproduce
As a dev team member, access your team AWS account. In the AWS Management Console attempt to view IAM resources and create an IAM role.
Requirements
Requirements have been moved to a reference doc:
https://github.com/ckamps/aws-foundation-journey/blob/master/1-dev-environments/3-3-controlling-dev-team-access.md