AWS Security Identity and compliance Flashcards
What does IAM stand for?
Identity and security access management
What is IAM purpose?
To manage:
- users
- groups
- access policies
- roles
- user credentials
- user password policies
- multi-factor authentication (MFA)
- API key for programmatic access (CLI)
What kind of access do users have by default to AWS services at first?
By default, new users are created with NO access to any AWS services
Who are IAM users?
IAM users are people who have been granted access to an AWS account.
What are the components of an IAM user?
The components of an IAM user are:
- username
- password
- permissions to access different resources
What is identity federation used for
Identity federation is used to allow secure access to resources in AWS account without creating an IAM user account.
What is MFA?
MFA (Multi Factor Authentication) uses an authentication device that continually generates random, six-digit, single-use authentication codes.
Is IAM specific to a given region?
IAM is universal (global) and does not apply to regions.
What should the root account be used for?
It is a best practice to not use the root account for anything other than billing.
What is a root account?
The “root account” is 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.
What is a principal?
A principal is an entity that can take an action on an AWS resource.
IAM users, roles, federated users, and applications are all AWS principals.
What do requests contain?
Requests contain:
- actions (or operations) that the principal wants to perform
- resources upon which the actions are performed
- principal information including the environment from which the request was made (IP address, user agent, SSL status, etc.)
What condition should a principal satisfy to send a request?
In order to send a request a principal must be authenticated.
How can a principal get authenticated?
- A principal can get authenticated via console with username and password.
- In addition it can be authenticated via API or CLI with access key and secret key
How is authorization implemented in AWS IAM?
By means of IAM policies which are stored in IAM as JSON documents and specify the permissions that are allowed or denied.
How are requests evaluated?
IAM checks each policy that matches the context of your request. If a single policy has a deny action IAM denies the request and stops evaluating (explicit deny).
If a single policy has a deny action IAM denies the request and stops evaluating (explicit deny).
By default, all requests are denied (implicit deny).
What are actions?
Actions are operations that can be performed on resources like: create, viewing, editing, deleting.
What happens to an action on a resource if it is not explicitly allowed?
An action on a resource that is not explicitly allowed gets denied.
How does a principal get allowed to perform an action?
In order for a principal to perform an action on a resource you must include the necessary actions in a policy that applies to the principal or the affected resource.
What is a resource?
A resource in entity that exists within a service.
E.g.: EC2 instances, S3 buckets, IAM users, and DynamoDB tables.
What are groups?
Groups are collections of users and have policies attached to them.
Use groups to assign permissions to users. Use the principal of least privilege when assigning permissions.
You cannot nest groups (groups within groups).
What is a role?
A role is a set of permissions that grant access to actions and resources in AWS. These permissions are attached to the role, not to an IAM user or group.
What are roles used for?
IAM roles are used to delegate access to users, applications, or services that do not normally have access to your AWS resources.
- users in your AWS account can have access to resources they normally have not.
- users in AWS account can access resources in another account.
- a mobile web app needs to use some AWS resources, but you don’t wanna embed AWS keys within the app.
- users who have identities defined outside of AWS, such as in your corporate directory.
- third parties so that they can perform an audit on your resources.
What are policies?
Policies are entities that define permissions and can be applied to principals (users, groups and roles) or to resources (S3 Bucket, etc.) in order to determine if a request should be allowed or denied.
Policies are stored in AWS within JSON documents.
