AWS Identity and Access Management (IAM) enables you to securely control access to AWS services and resources for your users. Using IAM you can create and manage AWS users and groups and use permissions to allow and deny their permissions to AWS resources.
First time users should visit the IAM Best Practices section of our IAM user guide. To get started using IAM, sign in to the AWS Management Console.
IAM also enables identity federation between your corporate directory and AWS services. This lets you use existing corporate identities to grant secure access to AWS resources, such as Amazon S3 buckets, without creating new AWS identities for those users. To learn more, try our sample application.
Web identity federation introduces a new AWS Security Token Service (STS) API, AssumeRoleWithWebIdentity, which you can use to create cloud-backed mobile apps that use public identity providers such as Facebook, Google, or the newly launched Login with Amazon service for authentication. With web identity federation, you have an easy way to integrate Amazon.com, Facebook, or Google sign-in into your apps without having to write any server-side code and without distributing long-term AWS security credentials with the app.
For more information about web identity federation, please see Creating Temporary Security Credentials for Mobile Apps Using Public Identity Providers in the AWS STS guide.
IAM allows you to:
Manage IAM users and their access - You can create users in IAM, assign them individual security credentials (i.e., access keys, passwords, and Multi-Factor Authentication devices) or request temporary security credentials to provide users access to AWS services and resources. You can manage permissions in order to control which operations a user can perform.
Manage IAM roles and their permissions - You can create roles in IAM, and manage permissions to control which operations can be performed by the entity, or AWS service, that assumes the role. You can also define which entity is allowed to assume the role.
Manage federated users and their permissions - You can enable identity federation to allow existing identities (e.g. users) in your enterprise to access the AWS Management Console, to call AWS APIs, and to access resources, without the need to create an IAM user for each identity.
You enable identity federation by requesting temporary security credentials that can be used to sign requests to AWS. The temporary security credentials are comprised of short- lived access keys and session tokens associated with the keys. Your enterprise users can use the access keys the same way as before, as long as they pass the token along in the calls that they make to the AWS APIs. The permissions associated with temporary security credentials are at most equal to those of the IAM user who issued them; you can further restrict them by specifying explicit permissions as part of the request to create them. There is no limit on the number of temporary security credentials that can be issued.
As an example, an enterprise might want an application running on all employee laptops to perform daily backups to an employee-specific subfolder in Amazon S3. The enterprise could run a small application that would serve as an “identity broker”, requesting an AWS temporary security credential for each user after they login to their corporate network. This credential could specify the exact permissions granted (i.e. write access to a particular S3 bucket/folder), and the duration of the permissions (i.e. 12 hours). The credential would be passed back to the backup application on the employee's laptop, providing secure and direct access to Amazon S3. To learn more about configuring identity federation with your corporate directory, try out our sample application.
IAM enables the following use cases:
Fine-grained access control to your AWS resources: IAM enables you to control access to AWS service APIs and to specific resources. IAM also enables you to add specific conditions to control how a user can use AWS, such as time of day, their originating IP address, whether they are using SSL, or whether they have authenticated with a Multi-Factor Authentication device.Enhanced security IAM enables security best practices by allowing you to grant unique security credentials to every user and specify which AWS service APIs and resources they can access. IAM is secure by default; users have no access to AWS resources until permissions are explicitly granted.
Control IAM provides the granularity to control a user’s access to specific AWS services and resources (e.g., terminating EC2 instances or deleting Amazon S3 buckets).
Seamlessly integrated with other AWS services IAM is natively integrated into most AWS Services.
Reliable IAM is built using Amazon’s world-class technology infrastructure. Like other Amazon Web Services, the service runs within Amazon’s global network infrastructure and data centers.
IAM provides features for managing access to AWS service APIs and resources your AWS account has access to, including the ability to:
Developer Resources |
You can manage access to AWS using the AWS Management Console, which gives you a point-and-click, web-based interface to create and manage IAM users, IAM roles, permissions and security credentials. IAM also provides a set of APIs and Command Line Tools for fully scripted access for the above capabilities. For a full list of the available IAM APIs, see the AWS Identity and Access Management API Reference Guide. Some of the commonly used APIs and their functionality are listed below:
The best way to understand IAM is to review the Getting Started Guide, part of our Technical Documentation. Within a few minutes, you will be able to create your own users, roles and groups and assign permissions.
Your use of this service is subject to your agreement with us governing your use of AWS. Please see the Amazon Web Services Customer Agreement for more details.