AWS Identity and Access Management (IAM) Flashcards
A web service that helps you securely control access to AWS resources.
AWS Identity and Access Management (IAM)
AWS Identity and Access Management (IAM) Features and Benefits
You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources.
IAM makes it easy to provide multiple users secure access to AWS resources.
AWS account root user
When you first create an AWS account, you begin with a single sign-in identity that has complete access to all AWS services and resources in the account.
This identity is called the AWS account root user and is accessed by signing in with the email address and password that you used to create the account.
IAM can be used to manage:
Users.
Groups.
Access policies.
Roles.
User credentials.
User password policies.
Multi-factor authentication (MFA).
API keys for programmatic access (CLI).
IAM provides the following features:
Shared access to your AWS account.
Granular permissions.
Secure access to AWS resources for application that run on Amazon EC2.
Multi-Factor authentication.
Identity federation.
Identity information for assurance.
PCI DSS compliance.
Integrated with may AWS services.
Eventually consistent.
Free to use.
Ways to access AWS Identity and Access Management
AWS Management Console.
AWS Command Line Tools.
AWS SDKs.
IAM HTTPS API.
IAM User Facts
By default new users are created with NO access to any AWS services – they can only login to the AWS console.
Permission must be explicitly granted to allow a user to access an AWS service.
IAM users are individuals who have been granted access to an AWS account.
IAM User Components
A username.
A password.
Permissions to access various resources.
Identity and Access Management Facts
You can apply granular permissions with IAM.
You can assign users individual security credentials such as access keys, passwords, and multi-factor authentication devices.
IAM is not used for application-level authentication.
Identity Federation
Identity Federation (including AD, Facebook etc.) can be configured allowing secure access to resources in an AWS account without creating an IAM user account.
IAM Multi-Factor Authentication
Multi-factor authentication (MFA) can be enabled/enforced for the AWS account and for individual users under the account.
MFA uses an authentication device that continually generates random, six-digit, single-use authentication codes.
You can authenticate using an MFA device in the following ways:
Through the AWS Management Console – the user is prompted for a user name, password, and authentication code.
Using the AWS API – restrictions are added to IAM policies and developers can request temporary security credentials and pass MFA parameters in their AWS STS API requests.
Using the AWS CLI by obtaining temporary security credentials from STS (aws sts get-session-token).
Other IAM Benefits and Features
It is a best practice to always setup multi-factor authentication on the root account.
IAM is universal (global) and does not apply to regions.
IAM replicates data across multiple data centers around the world.
IAM integrates with many different AWS services.
The account created when you setup the AWS account. It has complete Admin access and is the only account that has this access by default.
Root Account/User
Allows all permissions except the management of groups and users in IAM.
Power user access
Temporary security credentials consist of:
AWS access key ID,
secret access key,
and security token.
True or False:
IAM can assign temporary security credentials to provide users with temporary access to services/resources.
True
To sign-in you must provide your account ID or account alias in addition to a user name and password.
The sign-in URL includes the account ID or account alias, e.g.:
https://My_AWS_Account_ID.signin.aws.amazon.com/console/
Alternatively, you can sign-in at the following URL and enter your account ID or alias manually:
https://console.aws.amazon.com/
IAM Authentication Methods
Console password
Access Keys
Server certificates:
Console Password Authentication Method
A password that the user can enter to sign in to interactive sessions such as the AWS Management Console.
You can allow users to change their own passwords.
You can allow selected IAM users to change their passwords by disabling the option for all users and using an IAM policy to grant permissions for the selected users.
Access Key Authentication Method
A combination of an access key ID and a secret access key.
You can assign two active access keys to a user at a time.
These can be used to make programmatic calls to AWS when using the API in program code or at a command prompt when using the AWS CLI or the AWS PowerShell tools.
You can create, modify, view, or rotate access keys.
When created IAM returns the access key ID and secret access key.
The secret access is returned only at creation time and if lost a new key must be created.
Ensure access keys and secret access keys are stored securely.
Users can be given access to change their own keys through IAM policy (not from the console).
You can disable a user’s access key which prevents it from being used for API calls.
Server Certificates Authentication Method
SSL/TLS certificates that you can use to authenticate with some AWS services.
AWS recommends that you use the AWS Certificate Manager (ACM) to provision, manage and deploy your server certificates.
Use IAM only when you must support HTTPS connections in a region that is not supported by ACM.
An entity that represents a person or service
IAM Users
IAM Users can be assigned:
An access key ID and secret access key for programmatic access to the AWS API, CLI, SDK, and other development tools.
A password for access to the management console.