📔
ServerlessDocs - Serverless File Service
  • Introduction
  • Why Serverless!!
  • Prerequisites
  • User Management
    • Authentication
    • Amazon Cognito
    • Create the User Pool
    • Create an App Client
    • Integrate the app with Cognito User Pool
    • Create the Identity Pool
    • Validate the setup
    • Troubleshooting
  • Manage Documents with AWS S3
    • Authorization
    • Update Cognito Identity Pool Auth Role
    • S3 Documents Bucket Folder Structure
    • Validate the Access Permissions
    • Public and Private files access
    • Upload Files to S3
    • Download Files
    • Delete Files
    • Share Files
  • More Security Configurations
    • Cognito user emails
    • Password policies
    • Allow only Organization and Whitelisted users to Signup
    • Allow admin users to upload Public files
    • Notify Admin users when a new user signup
    • Enable Multi-factor Authentication (MFA)
  • User Operations
    • Password Reset / Forgot Password
    • Resend Verification Code
  • Serverless APIs
    • APIs
    • Secure APIs using API Gateway Authorizer
    • Access Cognito values in Lambda function
    • Authorize APIs with OAuth 2 Scope
    • Fine-grained Access with AssumeRole
    • Notify Admin users on large file uploads
    • Generate a Month-To-Date Usage report
  • Source Code and Setup
    • Source Code
    • IAM Policies
    • S3 Bucket Policies
    • Suggestions / Feedback
    • More References
  • Deployment
    • AWS SAM
    • Serverless Framework
  • Contributors
    • Team
Powered by GitBook
On this page
  • ServerlessDocs - Securely store your documents with AWS Serverless
  • AWS Services we will use
  • Architecture Diagram

Was this helpful?

Introduction

This is a simple Document Management Web application. In this session, we will cover the setup part to integrate the Cognito User Pool and the Cognito Identity Pool with the application front-end.

NextWhy Serverless!!

Last updated 4 years ago

Was this helpful?

ServerlessDocs - Securely store your documents with AWS Serverless

This application is created for the demonstration purpose only :) Please check and validate all the configurations before you upload sensitive data. Remember AWS follows the Shared Responsibility model when it comes to security ().

This application is mainly created to showcase some of the best AWS Managed/Serverless Services like Amazon Cognito, API Gateway, Lambda, and DynamoDB. Below is the list of features that the app will support and we will be using various Amazon Cognito features to accomplish those using the Serverless-way.

  • Organization or Whitelisted Users will be able to Signup

  • Users can upload Public/Private Files from the web page

  • Public files will be visible to all authenticated users

  • Users can comment on public files or their own private files

  • Users can share their private files with other users

I am using vanilla JavaScript, so don't get offended by the front-end code. The purpose of this doc is to show the walkthrough of various services to solve a use case and not create a state-of-art web application. JavaScript SDK still works, but I would recommend using instead.

AWS Services we will use

  • S3 - For web app hosting and to store actual files

  • Cognito - For User Authentication and Authorization

  • Lambda - Wherever we need to run business logic

  • IAM - To control access and other limitations

  • API Gateway - For the APIs

  • Pinpoint - To send Emails

Architecture Diagram

This is based on the implementation that I have so far, but this may change in the future.

https://aws.amazon.com/compliance/shared-responsibility-model/
Amplify