What are the possible capabilities of IAM in AWS?

2019-05-22 01:16发布

问题:

One of my clients wants to understand IAM feature before migrating business application to Amazon cloud.

I have figured out two use cases which we can recommend to our client, these are:

Resource-Level Permissions for EC2

• Allow users to act on a limited set of resources within a larger, multi-user EC2 environment.

• Control which users can terminate which instances.

• Restricting a user access to a single EC2 instance ( currently not supported by amazon API’s)

IAM Roles for Amazon ec2 resources

Command Line Usage

• Unix/Linux/Windows - Use the AWS Command Line Interface, which is a unified tool to manage the AWS services. We can access the Command Line Interface using the EC2 instance launched with IAM role support without specifying the credentials explicitly.

Programmatic Usage

• Use the appropriate AWS SDK for your language of choice. Configure it without specifying the credentials.

I would like to know other capabilities of IAM which we can recommend to our client and other use cases which you can recommend to us. Please let us know if any further explanation is required.

Any prompt response will be highly appreciated.

Thanks in advance

回答1:

This is a very useful feature of AWS !

  1. User Management - If you are a large team, you will have to give different users (or developers/testing, deployment) different type of permissions. Access levels like (say S3 read-only, DynamoDB full-access etc). Manage Users : http://aws.amazon.com/iam/details/manage-users/
  2. Not to keep credentials in code. Is you use IAM roles, you can mention that say an EC2 should work on this role. This will help you achieve things like "cluster with only access to S3, not DB") IAM Roles for Amazon EC2 - Amazon Elastic Compute Cloud : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
  3. Handle Release staging. This is a benefit from the ROLE. You move apps from dev, qa, staging and prod. I usually keep different accounts for this. In this case, if you configure the EC2 to run on roles, then the stage difference can be handled witout code change. Just move the build from one account to another, and it works with no risk!

Lot of other benefits; Product Details : http://aws.amazon.com/iam/details/