Security - Serverless Image Handler

Security

When you build systems on AWS infrastructure, security responsibilities are shared between you and AWS. This shared responsibility model reduces your operational burden because AWS operates, manages, and controls the components including the host operating system, the virtualization layer, and the physical security of the facilities in which the services operate. For more information about AWS security, visit AWS Cloud Security.

Important

This solution creates CloudFront and API Gateway resources that are publicly accessible. Be aware that while this is likely appropriate for publicly facing websites, it might not be appropriate for all customer use cases for this solution.

AWS offers several options for end-to-end security, such as AWS Identity and Access Management (IAM), Amazon Cognito user pools, AWS Certificate Manager, and CloudFront signed URLs. For private image handling use cases, AWS recommends using CloudFront signed URLs and implementing an API Gateway Lambda authorizer with CloudFront to secure your stack.

Demo UI

This solution optionally deploys a demo UI as a static website hosted in an S3 bucket. To help reduce latency and improve security, this solution includes a CloudFront distribution with an origin access identity, which is a CloudFront user that helps restrict access to the solution’s website S3 bucket contents. For more information, refer to Restricting access to an Amazon S3 origin in the Amazon CloudFront Developer Guide.

IAM roles

IAM roles allow customers to assign granular access policies and permissions to services and users on the AWS Cloud. This solution creates IAM roles that grant the solution’s Lambda functions access to create Regional resources.