AWS Points of Presence (Edge Location)
Amazon has 400+ points of presence (400+ edge locations and 10+ regional caches) in 90+ cities across 40+ countries. Content is delivered to end users with low latency
It is a global service as we are going to create users and assign them to groups. Groups only contain users. Some users don’t belong to a group. Also a user can belong to multiple groups.
IAM: Permissions
To allow users to use AWS account, permissions have to be given to them. Users or Groups can be assigned JSON documents called policies. These policies define the permissions of the users. In AWS, you apply the least privilege principle: don’t give more permissions than a user needs.
IAM POLICIES
Assume 3 groups, Developers, Audit Team and Operations containing respective users as shown. All the users inherit the policy from their respective user groups. User not under any group, gets assigned an inline policy (i.e. policy assigned to only one user).
IAM Policy Structure
Consists of:
Statement consists of
{
"Version": "2012-10-17",
"Id": "S3-Account-Permissions",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": ["arn:aws:iam::123456789012:root"]
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": ["arn:aws:s3:::mybucket/*"]
}
]
}
IAM Multi-Factor Authentication Overview
In AWS you can set up a password policy:
Multi-Factor Authentication (MFA)
This is useful because even if a password is stolen or hacked, the account (root account/IAM users) is not compromised.
“MFA = password you know + security device you own (for MFA generating token)”
The following are the MFA device options in AWS:
AWS Access Keys, CLI and SDK
Note: Access keys are generated through the AWS Console, and should not be shared. Users manage their own access keys.
IAM Roles for AWS Services
In AWS, some services need to perform actions on your behalf. To facilitate this, you assign permissions to these services using IAM Roles.
Consider an EC2 instance, which functions like a virtual server. If this instance needs to perform actions within AWS, it requires specific permissions. These permissions are granted through an IAM Role. By assigning an IAM Role to the EC2 instance, you allow it to execute actions according to the permissions defined in that role.
IAM Security Tools