2022-12-21如何根据Macie检测结果为S3自动打上自定

2022-12-26  本文已影响0人  清风晓星辰

写写我的学习笔记,本文仅为个人学习心得,与AWS无关

内容简介

对敏感数据发现后,进行相应的分类分级后打个性化标签的是企业数据管理过程中的首要一步。
Amazon Macie https://docs.aws.amazon.com/macie/latest/user/what-is-macie.html 是一项数据安全服务,它使用机器学习和规则匹配来发现敏感数据,实现可见性和自动防范数据安全风险。很多客户在使用Macie发现S3中的数据后,希望可以自动为S3中的Object打上敏感数据标签,并且希望是由企业自己定义的内容而不是由Macie中的Severity简单定义的高(High)、中(Medium)、低(Low)。https://docs.aws.amazon.com/macie/latest/user/findings-severity.html

本篇博文中将提供一个支持自定义标签内容的并根据Macie发现结果自动打标签的方案,并提供自动部署的Cloudformation模板以及CLI示例命令行。

先决条件

架构与工作原理

Macie在执行完成敏感数据发现任务后,其扫描结果会自动传递至Eventbrige,我们通过建立一条rule,触发Lambda对S3中的文件进行打标签的操作,整体流程如下图:


架构图

本例中提供的是将敏感数据标签分为四个级别,具体在下一章中进行详细定义说明。

部署方法

请将附录中的两份模板文件保存至CLI本地运行目录下, 完成下列参数的设置:

{
  "ADDRESS": 2,
  "AUSTRALIA_DRIVERS_LICENSE": 0,
  "AUSTRALIA_TAX_FILE_NUMBER": 0,
  "AUSTRIA_DRIVERS_LICENSE": 0,
  "AWS_CREDENTIALS": 0,
  "BANK_ACCOUNT_NUMBER": 0,
  "BELGIUM_DRIVERS_LICENSE": 0,

以下为示例命令行

tagkey='敏感度标识'
level0='公开'
level1='内部'
level2='保密'
level3='机密'
s3filepath=mapping.json
region=us-east-1
stackname=MacieAutotag
template=blog-template.yaml
aws cloudformation create-stack --stack-name $stackname --template-body file://$template \
--parameters  \
ParameterKey=level0,ParameterValue=$level0 \
ParameterKey=level1,ParameterValue=$level1 \
ParameterKey=level2,ParameterValue=$level2  \
ParameterKey=level3,ParameterValue=$level3 \
ParameterKey=tagkey,ParameterValue=$tagkey  \
ParameterKey=s3filepath,ParameterValue=$s3filepath \
--capabilities CAPABILITY_IAM \
--region=$region

Cloudformation 需要几分钟运行完成,请运行以下CLI示例命令,将mapping.json上传至新建立的S3中供Lambda使用:

aws s3 cp  $s3filepath s3://$(aws cloudformation --region $region describe-stacks --stack-name $stackname --query 'Stacks[*].Outputs[0].OutputValue' --output text)/ --region=$region

登录AWS控制台,打开新建的lambda function->Configuration->Environment variables,可以看到我们之前定义的标签信息都已经体现在这里,而lambda会根据这些定义,针对Macie的发现结果给S3中的Object打上对应的标签。


lambda的环境变量

结果展示

当macie完成一次扫描后,我们可以登录AWS控制台查看Lambda的Cloudwatch group,如下图示例,lambda根据Macie的发现结果CREDIT_CARD_NUMBER,为文件1-financial-data.txt打上了三级对应的标签:机密。


lambda的执行记录 S3中的标签

小结

在这篇博文中,我向您展示了一种自定义敏感数据标签并由Macie扫描结果自动触发打标签的方法,非常简单方便。本文中定义的是四级标准,您完成可以根据企业的需求改为三级或者五级,只需要在lambda中的环境变量进行修改即可。mapping.json中列出的是Macie所有MDI的,如果您使用custom data identifiers https://docs.aws.amazon.com/macie/latest/user/custom-data-identifiers.html(CDI)扫描只需将CDI名称加进去即可。本文中的示例仅部署在us-east-1一个region,您可以使用AWS的CloudFormation StackSets https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html,将模板部署在多个AWS Account以及多个regions中。

上一篇下一篇

猜你喜欢

热点阅读