Skip to main content

AWS IAM: User Access Control and User Management

AWS IAM helps you control access to your AWS services and resources

AWS IAM (Identity and Access Management) is a web service that helps you securely control access to AWS services and resources.

The service allows you to create and manage AWS users and groups within your account, and use permissions to permit or deny their access to AWS resources. A user is an identity (within an AWS Account) with unique security credentials that can be used to access AWS Services.

Without IAM, organizations with multiple users and systems would be forced to either create multiple AWS accounts, each with its own billing and subscriptions to AWS products, or employees would all have to share the security credentials of a single AWS account. There would be no way to control the tasks a particular user or system could perform and which AWS resources they might use.

Limiting user access with AWS IAM:

With IAM, you can control who can access which resources. For example, you can create individual users, each with their own user name, password, and access keys. You can assign them unique authority over precisely the resources and services they need.

Whenever a person or application communicates with an AWS resource, they are asked for security credentials. These credentials are helpful in classifying who is making the call and whether or not to allow the requested access.

But why not just rely on a single identity? Whenever you log into your AWS account using your email address and password, you get full access to all your account’s resources. Because that kind of access is very difficult to properly control, AWS suggests that you use only IAM credentials for your everyday interactions with AWS, and lock away your account credentials.

AWS IAM allows you to:

1. Create individual IAM users and groups to assign permissions to IAM users

You could, for example, set up an Administration Group as soon as you create your account. You could then add to it all the IAM users who will need administrator rights to your account. Now, they – and only they – will have full rights over your account resources.

2. Enable AWS Multi-Factor Authentication (AWS MFA) for privileged users

To help prevent fraudulent access, AWS recommends that you use multi-factor authentication (MFA) in addition to your AWS account’s email address and password. A device (like a smartphone) in the possession of MFA users can be configured to generate a unique authentication code and provide extra security.

3. Request temporary security credentials

For users or apps requiring on-demand access to your services and resources, AWS IAM allows you to offer one-off permissions, further limiting your exposure to risk.

4. Force your users to choose strong passwords

You can require that your users create passwords of a defined strength (minimum length, non-alphabetic characters, etc.) and that they change them regularly.

5. Rotate credentials regularly and remove unnecessary credentials

Remove unused IAM user credentials (i.e., passwords and access keys). For example, an IAM user that is used exclusively for an application does not need a password (passwords are necessary only to sign in to AWS websites). Similarly, if a user does not and will never use access keys, there’s no reason for the user to have them.

6. Use AWS IAM roles for applications running on Amazon EC2 instances

In order to access other AWS services, applications that run on an Amazon EC2 instance need credentials. Here IAM plays a vital role in providing these credentials to the applications in a secure way. A role is an entity that has its own set of permissions, but that isn’t a user or group.

AWS IAM dynamically provides temporary credentials to an EC2 instance, and these credentials are automatically rotated for you.

7. Use policies for extra security

You can apply permissions to an IAM principal entity (an IAM user, group or role) by attaching a custom policy to the principal entity.

For example, you can write conditions to specify a range of allowable IP addresses that a request must come from, or specify that a request is allowed only within a specified date or time range. You can also set conditions that require the use of SSL or MFA (multi-factor authentication). For example, you can require that a user has authenticated with an MFA device in order to be allowed to terminate an Amazon EC2 instance.

You can attach multiple policies to a principal entity, and each policy can contain multiple permissions.

AWS IAM user management

One cannot set usage quotas on IAM users, as all limits apply to the AWS account as a whole. So for example, if your AWS account has a limit of twenty Amazon EC2 instances, any IAM user with EC2 permissions will be able to launch up to that limit (assuming that there are no other instances associated with other account users).

While there is no limit to the number of AWS IAM roles you can assume, you can only act as one IAM role when making requests to AWS services. You are however limited to a maximum of 250 IAM roles for a single account. If you need more roles, submit an IAM limit increase request form with your use case and your AWS IAM role increase will be considered.

Conclusion

Protect your AWS environment by using the high-level security of AWS IAM. It costs nothing extra and greatly strengthens the value of your username and password credentials.

If you want to get a jump start on IAM, check out Cloud Academy’s Overview of AWS Identity & Access Management (IAM) course. 

Avatar

Written by

Sudhi Seshachala

Sudhi is part of Cloud Technology Partners & is a trusted advisor and strategic consultant to many C level executives and IT Directors. He brings 18+ years diverse experience covering software, IT operations, cloud technologies, and management. Have led several global teams in HP, Sun/Oracle, SeeBeyond and few startups to deliver scalable and highly available business/technology products and solutions. He has expertise in systems management, monitoring and integrated SaaS and on-premise applications addressing a wide range of business problems.

Related Posts

Jeff Hyatt
Jeff Hyatt
— June 18, 2019

10 Steps for an Effective Reserved Instances Strategy

Amazon Web Services (AWS) offers three different ways to pay for EC2 Instances: On-Demand, Reserved Instances, and Spot Instances. This article will focus on effective strategies for purchasing Reserved Instances. While most of the major cloud platforms offer pre-pay and reservation dis...

Read more
  • AWS
  • EC2
Joe Nemer
Joe Nemer
— June 18, 2019

AWS Certification Practice Exam: What to Expect from Test Questions

If you’re building applications on the AWS cloud or looking to get started in cloud computing, certification is a way to build deep knowledge in key services unique to the AWS platform. AWS currently offers 11 certifications that cover major cloud roles including Solutions Architect, De...

Read more
  • AWS
  • AWS Certifications
Avatar
John Chell
— June 13, 2019

AWS Certified Solutions Architect Associate: A Study Guide

The AWS Solutions Architect - Associate Certification (or Sol Arch Associate for short) offers some clear benefits: Increases marketability to employers Provides solid credentials in a growing industry (with projected growth of as much as 70 percent in five years) Market anal...

Read more
  • AWS
  • AWS Certifications
Chris Gambino and Joe Niemiec
Chris Gambino and Joe Niemiec
— June 11, 2019

Moving Data to S3 with Apache NiFi

Moving data to the cloud is one of the cornerstones of any cloud migration. Apache NiFi is an open source tool that enables you to easily move and process data using a graphical user interface (GUI).  In this blog post, we will examine a simple way to move data to the cloud using NiFi c...

Read more
  • AWS
  • S3
Avatar
Chandan Patra
— June 11, 2019

Amazon DynamoDB: 10 Things You Should Know

Amazon DynamoDB is a managed NoSQL service with strong consistency and predictable performance that shields users from the complexities of manual setup.Whether or not you've actually used a NoSQL data store yourself, it's probably a good idea to make sure you fully understand the key ...

Read more
  • AWS
  • DynamoDB
Avatar
Andrew Larkin
— June 6, 2019

The 11 AWS Certifications: Which is Right for You and Your Team?

As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...

Read more
  • AWS
  • AWS Certifications
Sam Ghardashem
Sam Ghardashem
— May 15, 2019

Aviatrix Integration of a NextGen Firewall in AWS Transit Gateway

Learn how Aviatrix’s intelligent orchestration and control eliminates unwanted tradeoffs encountered when deploying Palo Alto Networks VM-Series Firewalls with AWS Transit Gateway.Deploying any next generation firewall in a public cloud environment is challenging, not because of the f...

Read more
  • AWS
Joe Nemer
Joe Nemer
— May 3, 2019

AWS Config Best Practices for Compliance

Use AWS Config the Right Way for Successful ComplianceIt’s well-known that AWS Config is a powerful service for monitoring all changes across your resources. As AWS Config has constantly evolved and improved over the years, it has transformed into a true powerhouse for monitoring your...

Read more
  • AWS
  • Compliance
Avatar
Francesca Vigliani
— April 30, 2019

Cloud Academy is Coming to the AWS Summits in Atlanta, London, and Chicago

Cloud Academy is a proud sponsor of the 2019 AWS Summits in Atlanta, London, and Chicago. We hope you plan to attend these free events that bring the cloud computing community together to connect, collaborate, and learn about AWS. These events are all about learning. You can learn how t...

Read more
  • AWS
  • AWS Summits
Paul Hortop
Paul Hortop
— April 2, 2019

How to Monitor Your AWS Infrastructure

The AWS cloud platform has made it easier than ever to be flexible, efficient, and cost-effective. However, monitoring your AWS infrastructure is the key to getting all of these benefits. Realizing these benefits requires that you follow AWS best practices which constantly change as AWS...

Read more
  • AWS
  • Monitoring
Joe Nemer
Joe Nemer
— April 1, 2019

AWS EC2 Instance Types Explained

Amazon Web Services’ resource offerings are constantly changing, and staying on top of their evolution can be a challenge. Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with...

Read more
  • AWS
  • EC2
Avatar
Nitheesh Poojary
— March 26, 2019

How DNS Works – the Domain Name System (Part One)

Before migrating domains to Amazon's Route53, we should first make sure we properly understand how DNS worksWhile we'll get to AWS's Route53 Domain Name System (DNS) service in the second part of this series, I thought it would be helpful to first make sure that we properly understand...

Read more
  • AWS