Skip to content

Secure and Scalable APIs With AWS Cognito, IAM, Lambda, and APIGateway

Using a few of the services provided by the AWS Cloud Platform, we can build and implement a secure and scaleable web API, with substantially less time and fewer resources than would be required if we were to build our own custom solution, or even integrate other third party products.   Here is a quick mention of the AWS Services that will be used in the video shown below to create such a solution.

Amazon Cognito is a service that will allow you to create unique identifiers for end users, which are kept consistent across devices and platforms. Cognito also delivers temporary, limited-privilege credentials to your application allowing access to secure resources.

AWS Identity and Access Management (IAM) allows you to securely control access to AWS services and resources for your users, be creating and managing AWS users and groups, and assigning permissions to allow and deny access to AWS resources.

AWS Lambda is a compute service enabling code to run in response to events (such as an API request) and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security

Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models.

 

The following video will demonstrate the Secure Pet Store sample, which is an application built in Java for AWS Lambda. It uses Amazon API Gateway to expose the Lambda function as HTTP endpoints and uses Identity and Access Management (IAM) and Amazon Cognito to retrieve temporary credentials for a user and authorize access to its APIs with.

We have also provided a link to the full source code.

 

Written for ServerlessArchitecture.com

Leave a Reply