Part 2 - IAM, Identity and Access Management

Defining Terms

Root Account

Groups

Users

IAM Policy Structure

Example Policy

{
    "Version": "2012-10-17", // specifies the version of the policy language.
    "Statement": [ // contains an array of individual statements, each of which represents a permission rule.
        {
            "Effect": "Allow", // indicates that the actions specified will be allowed.
            "Action": [ // specifies the AWS API actions that are allowed.
                "iam:GenerateCredentialReport",
                "iam:GenerateServiceLastAccessedDetails",
                "iam:Get*", // any action prefixed with `Get`        
                "s3:GetObject", // allows `s3:GetObject` (to read objects)
                "s3:ListBucket" // allows `s3:ListBucket` (to list objects in the bucket)
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket-name", // represents the bucket itself
                "arn:aws:s3:::your-bucket-name/*" // represents all objects within the bucket
            ]
        }
    ]
}