Aws Iam Practice PDF
Aws Iam Practice PDF
”
Overview
AWS Identity and Access Management (IAM) is a powerful and flexible web service for controlling access to AWS resources. IAM enables customers to
leverage the agility and efficiency of the cloud while maintaining secure control of their organization’s AWS infrastructure. IAM Administrators new to AWS
can be sometimes overwhelmed by the options available as they face competing goals: securing the environment while quickly enabling new users to
accomplish their jobs. Further complicating the task, the initial controls they implement must grow and adapt without disrupting productivity as the company
navigates its path to the cloud
This document provides best practices and guidance to help IAM administrators quickly establish an initial set of controls that protect their infrastructure,
empower users, and allow for growth and change in their organization’s use of AWS. This document assumes a working knowledge of how to configure the
IAM service.
1 For a complete list of IAM best practices, refer to AWS documentation: http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
2For more information, see http://aws.amazon.com/iam/details/mfa/#Virtual_MFA_Applications
©&® 2016. Amazon Web Services, Inc. February 9, 2016 1
Make policies granular. Add privileges to a group using multiple granular policies rather than one giant policy. For example, a Data Scientist might
need access to write to Amazon Simple Storage Service (Amazon S3) to upload raw data, and also to Amazon EMR to launch clusters. Create a
managed policy for S3 and a separate managed policy for Amazon EMR rather than combining the privileges into a single policy. This will help
promote policy reuse and make it easier to manage permissions.
Use EC2 roles rather than access keys. An access key is a secret and must be stored in a location that is secure but also can be easily referenced
during the bootstrap process. Once acquired, the key must be securely stored on the EC2 instance yet retrievable in order to access AWS resources.
These conflicts create a perpetual risk in the DevOps process—a problem only exacerbated by the need to regularly rotate keys. EC2 Roles eliminate
the need for an access key, and the underlying technology of Temporary Security Tokens eliminates the need for key rotation.
Use roles rather than user credentials to grant cross-account access. The safest and easiest way to grant access to users in different AWS
accounts is to create a role with specific privileges and grant other accounts the right to assume that role. The administrator for the other account can
then allow specific IAM users to switch to the role as necessary to use its permissions on a temporary basis. Using roles eliminates the responsibility
of creating, managing, rotating, and securely delivering access keys for individual users from different accounts.
Use conditions to make policies more granular. IAM conditions provide a wealth of possibilities to refine policies. These include locking down
administrator accounts to only work from a specific IP address range, limiting developer permissions to specific subnets, granting a permission for a
specific time window, and much more. Learn the various conditions available and leverage them to create better policies.
First Steps
The following sections describe how to start using IAM, including how to secure an AWS account, create IAM users, groups, and policies, and how to prepare
for future growth and change in AWS use.