1 技术背景
在大量 saas 平台客户需求实践中,有非常多的 User 担心敏感数据如何保存,如何安全隔离敏感数据。本文主要针对 saas 平台敏感数据加密需求,利用 AWS KMS 服务,结合用户场景构建数据安全加密方案。
1.1 问题描述
对客户数据里的指定数据加密(如:姓名,电话,地址等);
密码与加解密权限要有严格的管理方案(隔离租户与用户间的使用权限);
隔离除系统管理员外其他开发和运维用户访问用户数据;
记录CMK 访问记录,用户可以审计data key使用情况;
用户可以拥有全部的CMK管理权限(可以随时修改CMK使用策略);
采用行业认证的公开加密算法和加密流程加密数据(信封加密)。
1.2 系统架构
AWS cognito 实现saas平台认证机制集成;
通过AWS KMS 服务实现主密钥的安全管理;
AWS encryption SDK 实现信封加密;
IAM Policy 实现系统层的安全隔离;
Cloud trail 实现操作审计;
1.3 数据加密解密流程
2 KMS 配置
2.1 创建 KMS CMK
2.2 创建别名
2.3 配置 CMK 及管理权限
安全考虑 CMK 管理和数据加密权限是分开管理
防止管理员误删除 CMK
2.4 配置用户使用用户(方案中选定角色,与下面 Cognito 角色一致)
2.5 编辑 KMS 策略(只允许指定的租户可以使用 CMK)
Java
本文转载自 AWS 技术博客。
原文链接:https://amazonaws-china.com/cn/blogs/china/aws-kms-enables-secure-data-encryption-across-tenants/
评论