🔐 Security
- Update sanitization technique for terms filtering by @noah-paige in #1692 and in #1693
- Move access logging to a separate environment logging bucket by @noah-paige in #1695
- Add explicit token duration config for both JWTs by @noah-paige in #1698
- Disable GraphQL introspection if prod sizing by @noah-paige in #1704
- Add snyk workflow on schedule by @noah-paige in #1705, #1708, #1713, #1745 and in in #1746
- Unify Logger Config for Tasks by @noah-paige in #1709
- Updating overly permissive policies tagged by checkov for environment role using least privilege principles by @mourya-33 in #1632
Data.all permission model has been reviewed to ensure all Mutations and Queries have proper permissions:
- Add MANAGE_SHARES permissions by @dlpzx in #1702
- Add permission check - is tenant to update SSM parameters API by @dlpzx in #1714
- Add GET_SHARE_OBJECT permissions to get data filters API by @dlpzx in #1717
- Add permissions on list datasets for env group + cosmetic S3 Datasets by @dlpzx in #1718
- Add GET_WORKSHEET permission in RUN_SQL_QUERY by @dlpzx in #1716
- Add permissions to Quicksight monitoring service layer by @dlpzx in #1715
- Add LIST_ENVIRONMENT_DATASETS permission for listing shared datasets and cleanup unused code by @dlpzx in #1719
- Add is_owner permissions to Glossary mutations + add new integration tests by @dlpzx in #1721
- Refactor env permissions + modify getTrustAccount by @dlpzx in #1712
- Add Feed consistent permissions by @dlpzx in #1722
- Add Votes consistent permissions by @dlpzx in #1724
- Consistent get_<DATA_ASSET> permissions - Dashboards by @dlpzx in #1729
🧪 Test improvements
Integration tests are in sync with main
without 2.7 planned features. In this PR all core modules, optional modules and submodules are tested. That includes: tenant-permissions, omics, mlstudio, votes, notifications and backwards compatiblity of s3 shares. by @SofiaSazonova, @noah-paige , @petrkalos and @dlpzx
In addition, the following PR adds functional tests that ensure the permission model of data.all is not corrupted.
- ⭐ Add resource permission checks by @petrkalos in #1711
Dependencies
- Update FastAPI by @petrkalos in #1577
- update fastapi dependency by @noah-paige in #1699
- Upgrade "cross-spawn" to "7.0.5" by @dlpzx in #1701
- Bump python runtime to bump cdk klayers cryptography version by @noah-paige in #1707