AWS Solutions Architect/training/Section 3: Identity Management and Permissions

From Freephile Wiki

17. Introduction

18. How IAM Works

19. Overview of Users, Groups, Roles and Policies

20. IAM Authentication Methods

21. AWS Security Token Service (STS)

22. Multi-Factor Authentication (MFA)

23. [HOL] Setup Multi-Factor Authentication (MFA)

24. Identity-Based Policies and Resource-Based Policies

25. Access Control Methods - RBAC & ABAC

Users are assigned permissions through policies attached to groups. There are AWS managed policies for job functions designed to closely align to common job functions in the IT industry.

Groups are organized by job function.

Best practice is to grant the minimum permissions required to perform the job (principal of least privilege).

Attribute-Based Access Control (ABAC) can be based on "Tag Key" Department, "Tag Value" DBAdmins. Tags can be applied to people and resources, so the policy can check for both.

26. Permissions Boundaries

A permission boundary policy can limit the permissions that are otherwise granted via groups, roles or directly.

27. IAM Policy Evaluation

Evaluation logic starts with 'Deny'. There is a flow diagram at the AWS IAM UserGuide policies evaluation logic docs

Steps for authorizing Requests to AWS - which may come from the Console, the CLI, or via an API

  1. Authentication
  2. Processing the request context of
    1. Actions
    2. Resources
    3. Principal
    4. Environment data
    5. Resource data
  3. Evaluating all policies within the account (both identity-based and resource-based)
  4. Determining whether a request is allowed or denied

Types of Policies

  • Identity-based policies - attached to Users, Groups, or Roles
  • Resource-based policies - attached to resource; define permissions for a principal accessing the resource.
  • IAM Permission boundaries - set the maximum permissions an identity-based policy can grant an IAM entity
  • AWS Organizations service control policies (SCP) - specify the maximum permissions for an organization or OU
  • Session policies - used with the AssumeRole* API actions

The effective permissions are the union of the two policies, [math]\displaystyle{ A \cup B }[/math] when combining an Identity-based policy with a Resource-based policy. But, are only the intersection [math]\displaystyle{ A \cap B }[/math] when combining with Permissions boundary or Organizations SCP[1]

28. IAM Policy Structure

29. [HOL] Using Role-Based Access Control (RBAC)

30. [HOL] Using Attribute-Based Access Control (ABAC)

Roles are assumed by users, applications and services.

Policies are JSON and may be either Identity based, or Resource based.

Authentication methods: password + optional MFA token; Access Key + Secret Access Key; X-509 Certificate

AWS Security Token Service (STS) sts:AssumeRole returns temporary security credentials.

Multi-Factor Authentication

Something you know
Something you have
Something you are

A Trust Policy is also an example of a resource-based policy.

A Permissions Policy is an identity-based policy.

31. [HOL] Apply Permissions Boundary

With Permissions Boundary, you can prevent escalation of privileges.

32. Use Cases for IAM Roles

cross-account access and 3rd-party access

33. [HOL] Cross-Account Access to S3

34. Access Keys and IAM Roles with EC2

35. [HOL] Amazon EC2 Instance Profile

36. AWS IAM Best Practices


References[edit source]