AWS Identity and Access Management (IAM)
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.
Identity federation between your enterprise and AWS services: IAM can be used to grant your employees, and applications access to AWS Management Console and AWS service APIs, using your existing identity systems.
Mobile and browser-based applications: You can enable your mobile and browser-based applications to securely access AWS resources by requesting temporary security credentials that only grant access to specific AWS resources, for a configurable period of time.
IAM provides features for managing access to AWS service APIs and resources your AWS account has access to, including the ability to: