Introduction
AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can manage permissions that control which AWS resources users can access. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources. IAM provides the infrastructure necessary to control authentication and authorization for your AWS accounts.
Key features of IAM
- Granular Permissions: Define fine-grained access control to AWS resources.
- Multi-Factor Authentication (MFA): Add an extra layer of security.
- Identity Federation: Integrate with existing corporate directories.
- Access Analyzer: Identify resources shared with external entities.
- Temporary Security Credentials: Grant temporary access to resources.
AWS IAM Policy
- AWS Managed Policies
- Customer-Managed Policies
- Multi-Factor Authentication (MFA)
- Granular Control Using Policies
- Identity Federation
Types of IAM Policies
- Managed Policies
- AWS Managed Policies
- Customer Managed Policies
- Inline Policies
- Resource-Based Policies
- Permission Boundaries
- Service Control Policies (SCPs)
- Organizations SCPs (service control policy)
- Organizations RCPs (resource control policy)
- Access control lists (ACLs)
Grant least privilege
When you create IAM policies, follow the standard security advice of granting the least privilege or granting only the permissions required to perform a task. Determine what users and roles need to do and then craft policies that allow them to perform only those tasks.
Understand access level groupings
| Service | Access level | This policy provides the following |
|---|---|---|
| IAM | Full access | Access to all actions within the IAM service. |
| CloudWatch | Full: List | Access to all CloudWatch actions in the List access level, but no access to actions with the Read, Write, or Permissions management access level classification. |
| Data Pipeline | Limited: List, Read | Access to at least one but not all AWS Data Pipeline actions in the List and Read access level, but not the Write or Permissions management actions. |
| EC2 | Full: List, Read Limited: Write | Access to all Amazon EC2 List and Read actions and access to at least one but not all Amazon EC2 Write actions, but no access to actions with the Permissions management access level classification. |
| S3 | Limited: Read, Write, Permissions management | Access to at least one but not all Amazon S3 Read, Write, and Permissions management actions. |
Types of IAM roles
- Service roles
- Cross-account access roles
- Web identity roles
- SAML 2.0 federation roles
- Custom roles

Join the conversation! Your thoughts help the community grow.