This course provides detail on the AWS Security, Identity, and compliance services relevant to the AWS Developer - Associate exam. These services are used to help secure and protect your resources and environment through access control mechanisms and encryption.
Want more? Try a lab playground or do a Lab Challenge!
Learning Objectives
- Learn what Identity Federation is
- Learn about the AWS services that can be used with it
- Understand how it's implemented
- Understand the benefits of AWS SSO and how it can be used to simplify user access at scale
- Create your own authentication mechanisms using Amazon Cognito
- Create your own customized UI for user sign in
- Create a secure user directory for all your applications and users
- Understand what is meant identity and access management and the difference between authentication, authorization, and access control
- Learn the components of IAM as well as its reporting features
- Understand the core principles of cross-account access using IAM
- How to implement and configure cross-account access
- Define how the Key encryption process works
- Explain the differences between the different key types
- Create and modify Key policies
- Understand how to rotate, delete and reinstate keys
- Define how to import your own Key material
Alrighty, now let’s take a look at how authentication works with Identity pools.
The first part we should already be familiar with. Your application needs to have the user sign in with Cognito user pools and that can take place using either the user pool itself, a social sign-in, your SAML-backed authentication service or something of that ilk.
At this stage, an Identity Token is sent by the IDP back to the Cognito user Pool. Now Cognito does not store the credentials by the IDP or forward this to your mobile app, instead, the IDP token will be normalized into a standard token, called a Cognito User Pool Token, or CUP token and this will be used and stored by Cognito. This essentially means that it doesn’t matter if the user authenticated via an account in the User Pool, or federated access, all tokens will be standardized that are sent back to your app.
The actions carried out by the user on your app might also need to access back-end services or APIs that you have created, for example, you might be using API Gateway or Lambda - which accepts these CUP tokens, so Cognito will use the same CUP token to authenticate and authorize you to use those APIs with API Gateway, etc.
Now some services do not allow you to use the CUP tokens for authentication. If your mobile app requires access to services such as S3 or DynamoDB on the user’s behalf, then you will need to use the Identity Pool to authenticate.
The CUP Token can be sent to the Identity Pool, where an STS Token (Security Token Service) will be created based off of your CUP token, and this will be sent back to your application.
With these AWS credentials, your application will now be allowed to call upon those other AWS services.
These credentials will be linked to an AWS role you have associated with your users within the identity pool.
Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.
To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.
Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.
He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.
In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.
Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.