The security considerations during the design and implementation of the prototype are as follows:
- It is highly encouraged to use resource-based permissions and policies wherever is possible
- Review the
createSignedPost
call that is used to help the client to upload CSV files. ItsExpires
parameter may be set to a shorter value (currently 5 mins).
We used the following tools to thoroughly review the security aspect of this project:
yarn audit --groups dependencies
- to investigate vulnerabilities in the npm packagesscanOnPush=1
when pushing docker imagetrivy
to scan for vulnerabilities in docker imagesbandit
- to scan for vulnerabilities in python codesonarcube
The following list is highly recommended to appliy to your resources in your account:
- Use KMS managed keys instead of S3_MANAGED
- Sagemaker Pipeline execution is granted
AmazonSageMakerFullAccess
which could be tightened even more based on the resources created in the deployment process. - The web application hosted via cloudfront is exposed to the internet. Use WAF in front of cloudfront to make it more secure.