image
User Pools Authentication Flow
Start course
Difficulty
Intermediate
Duration
4h 50m
Students
314
Ratings
4.3/5
Description

This section of the AWS Certified Solutions Architect - Professional learning path introduces the key identity management, security, and encryption services within AWS relevant to the AWS Certified Solutions Architect - Professional exam. Core to security is AWS Identity & Access Management commonly referred to as IAM. This service manages identities and their permissions that can access your AWS resources, so understanding how this service works and what you can do with it will help you to maintain a secure AWS environment. IAM is an important service in ensuring your resources are secure.

Want more? Try a Lab Playground or do a Lab Challenge

Learning Objectives

  • Learn about identity and access management on AWS, including users, groups & roles, IAM policies, MFA, identity federation, and cross-account access
  • Learn the fundamentals of AWS Web Application Firewall (WAF), including what it is, when to use it, how it works, and why use it
  • Understand how to configure and monitor AWS WAF
  • Learn about AWS Firewall Manager and its components
  • Learn how to configure AWS Shield
  • Learn the fundamentals of AWS Cognito
Transcript

Now that we know a little bit more about User pools, let’s quickly examine how the authentication flow is handled by your application and the service.

Your user will be presented with a login screen or terminal of some sort from within your application. They will submit their credentials, either from having created an account directly or by logging into a third-party provider. 

The application will call the  InitiateAuth operation with those credentials. This API call kicks off the authentication flow. It directly indicates to amazon Cognito that you want to authenticate. 

If the call is successful - Cognito will respond either with a token or with a challenge.

A challenge can include CAPTCHAs or Dynamic challenge questions. These are normally used to help screen for bots. You can insert your own custom challenges if you wish. This will be sent back to the client and it now becomes Their problem.

When the client is ready to respond back to the server(cognito), they can reply with RespondToAuthChallenge and provide whatever information the challenge requires back. If the user fails the challenge, you can have Cognito set up to resend a new one. This can include multiple rounds until the user is successful or fails out.

If successful Cognito will shoot back some tokens for the client to use - Hurray authentication!

For a deeper dive into the process please take a look over here.

About the Author
Students
62168
Courses
32
Learning Paths
31

Danny has over 20 years of IT experience as a software developer, cloud engineer, and technical trainer. After attending a conference on cloud computing in 2009, he knew he wanted to build his career around what was still a very new, emerging technology at the time — and share this transformational knowledge with others. He has spoken to IT professional audiences at local, regional, and national user groups and conferences. He has delivered in-person classroom and virtual training, interactive webinars, and authored video training courses covering many different technologies, including Amazon Web Services. He currently has six active AWS certifications, including certifications at the Professional and Specialty level.