架构图
使用默认参数部署此解决方案将在AWS云中构建以下环境。
AWS上的敏感数据保护架构
- 应用负载均衡器用于分发托管在AWS Lambda中的解决方案前端Web UI资源。
- 身份提供者用于用户身份验证。
- AWS Lambda函数打包为Docker镜像,并存储在Amazon ECR(弹性容器注册表)中。
- 后端Lambda函数是应用负载均衡器的目标。
- 后端Lambda函数调用监控账户中的AWS Step Functions来进行敏感数据检测。
- 在AWS Step Functions工作流中,AWS Glue Crawler运行以列出结构化数据源,并将其作为元数据表存储在Glue数据库中。Amazon SageMaker processing job用于预处理S3桶中的非结构化文件,并将元数据存储在Glue数据库中。AWS Glue Job用于检测敏感数据。
- Glue作业运行后,Step Functions会将消息发送到Amazon SQS(简单队列服务)中的检测作业队列。
- Lambda函数从Amazon SQS中处理消息。
- Amazon Athena查询检测结果,并将其保存到Amazon RDS(关系型数据库服务)中的MySQL实例中。
该解决方案使用AWS Glue服务作为构建受监控账户中的数据目录和调用Glue作业以检测敏感数据个人身份识别信息(PII)的核心。分布式的Glue作业在每个受监控的账户中运行,而管理员账户包含了跨AWS账户的集中式数据源数据目录。这是AWS推荐的数据网格(Data Mesh)概念的一种实现方式。
更具体地说,该解决方案引入了事件驱动的流程,并使用AWS IAM角色在管理员账户和受监控账户之间触发和通信以进行敏感数据发现作业。管理员账户可以启动PII检测作业并检索数据目录。所有受监控的AWS账户都被允许连接到管理员账户,管理员账户能够区分和访问这些受监控的账户。