了解数据保护策略 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解数据保护策略

什么是数据保护策略?

Amazon SNS 使用数据保护策略选择要扫描的敏感数据,以及为了保护这些数据不被 Amazon SNS 主题交换而要采取的操作。要选择感兴趣的敏感数据,您可以使用数据标识符。Amazon SNS 消息数据保护功能随后使用机器学习和模式匹配来检测敏感数据。要对找到的数据标识符采取操作,您可以定义审计去身份识别拒绝操作。利用这些操作,您可以记录已找到(或未找到)的敏感数据,遮蔽或者去除敏感数据,或者拒绝消息传送。


            消息数据保护功能使用数据保护策略监控传入和传出您的 Amazon SNS 主题的敏感数据。

数据保护策略采用什么结构?

如下图所示,数据保护策略文档包含以下元素:

  • 文档顶部的可选策略范围信息

  • 一个或多个单独语句

每个语句都包含有关单个权限的信息。


                策略语句示例

每个 Amazon SNS 主题只能定义一个数据保护策略。数据保护策略可以有一个或多个拒绝或去身份识别语句,但只能有一个审计语句。

数据保护策略的 JSON 属性

数据保护策略需要以下基本策略信息用于识别:

  • Name(名称)– 策略名称。

  • Description(描述)(可选)– 策略描述。

  • Version(版本)– 策略语言版本。当前版本为 2021-06-01。

  • Statement(语句)– 指定数据保护策略操作的语句列表。

{ "Name": "basicPII-protection", "Description": "Protect basic types of sensitive data", "Version": "2021-06-01", "Statement": [ ... ] }

策略语句的 JSON 属性

策略语句设置数据保护操作的检测上下文。

  • Sid(可选)– 语句标识符。

  • DataDirection(数据方向)– 相对于 Amazon SNS 主题的入站(用于发布 API 请求)或出站(用于通知传送)方向。

  • DataIdentifier(数据标识符)– Amazon SNS 主题应扫描的敏感数据。例如,姓名、地址或电话号码。

  • 主体 – 发布到该主题的 IAM 主体或订阅该主题的 IAM 主体。

  • Operation(操作)– Amazon SNS 主题在找到敏感数据后执行的后续操作,可以为 Audit(审计)、De-identiyf(去身份识别)(即遮蔽或去除)或者 Deny(拒绝)(即阻止)。

{ "Sid": "basicPII-inbound-protection", "DataDirection": "Inbound", "Principal": ["*"], "DataIdentifier": [ "arn:aws:dataprotection::aws:data-identifier/Name", "arn:aws:dataprotection::aws:data-identifier/PhoneNumber-US" ], "Operation": { ... } }

策略语句操作的 JSON 属性

策略语句设置以下数据保护操作之一。

  • Audit(审计)– 发布指标并发现结果日志,而不中断消息发布或传输。

  • De-identify(去身份识别)– 遮蔽或去除敏感数据而不中断消息发布。

  • Deny(拒绝)– 阻止 Amazon SNS 发布请求或者使消息传输失败。

如何确定我的数据保护策略的 IAM 主体?

消息数据保护功能使用两个与 Amazon SNS 交互的 IAM 主体。

  1. Publish API Principal(发布 API 主体)(入站)– 调用 Amazon SNS Publish API 的经过身份验证的 IAM 主体。

  2. Subscription Principal(订阅主体)(出站)– 在订阅创建期间调用 Subscribe API 的经过身份验证的 IAM 主体。

SubscriptionPrincipal 是正式发布的 Amazon SNS 订阅属性,可以从 GetSubscriptionAttributes API 检索。

{ "Attributes": { "SubscriptionPrincipal": "arn:aws:iam::123456789012:user/NoNameAccess", "Owner": "123412341234", "RawMessageDelivery": "true", "TopicArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic", "Endpoint": "arn:aws:sqs:us-east-1:123456789012:NoNameAccess", "Protocol": "sqs", "PendingConfirmation": "false", "ConfirmationWasAuthenticated": "true", "SubscriptionArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic:5d8634ef-67ef-49eb-a824-4042b28d6f55" } }