

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解 Amazon SNS 資料保護政策
<a name="sns-message-data-protection-policies"></a>

**重要**  
Amazon SNS 訊息資料保護不再提供給新客戶。如需替代方案的詳細資訊和指引，請參閱 [Amazon SNS 訊息資料保護可用性變更](https://docs.aws.amazon.com/sns/latest/dg/sns-message-data-protection-availability-change.html)。

## 什麼是資料保護政策？
<a name="what-are-data-protection-policies"></a>

Amazon SNS 使用**資料保護政策**來選取您要掃描的敏感資料，以及您想要採取的動作以防止 Amazon SNS 主題交換該資料。若要選擇感興趣的敏感資料，請使用[資料識別符](sns-message-data-protection-managed-data-identifiers.md)。然後，Amazon SNS 訊息資料保護會使用機器學習和模式比對來偵測敏感資料。若要根據找到的資料識別符採取行動，您可以定義**稽核**、**去識別化**或**拒絕**操作。這些操作可讓您記錄找到 (或找不到) 的敏感資料、遮罩或修訂敏感資料，或拒絕訊息傳遞。

![Amazon SNS 利用資料保護政策來管理和保護不同 之間的敏感資料 AWS 服務。它會顯示傳入和傳出訊息的工作流程，詳細說明如何根據稽核、取消識別或拒絕資料傳輸等政策設定來監控資料和採取動作，以保護個人身分識別資訊 (PII) 和受保護醫療資訊 (PHI) 等資訊。](http://docs.aws.amazon.com/zh_tw/sns/latest/dg/images/message-data-protection-policies-overview.png)


## 資料保護政策的結構如何？
<a name="overview-of-data-protection-policies"></a>

如下圖所示，資料保護政策文件包含以下元素：
+ 在文件最上方選用的整體政策資訊
+ 一或多個個別的陳述式

每個陳述式包含關於單一許可的資訊。

![Amazon SNS 中資料保護政策的結構，說明政策如何由政策名稱、描述、版本和多個陳述式等各種元素組成，這些元素指定了動作，例如根據資料方向、識別符和涉及的主體進行稽核、取消識別或拒絕。](http://docs.aws.amazon.com/zh_tw/sns/latest/dg/images/payload-policy-process.png)


每個 Amazon SNS 主題只能定義一個資料保護政策。資料保護政策可以有一或多個拒絕或去識別化陳述式，但只能有一個稽核陳述式。

### 資料保護政策的 JSON 屬性
<a name="data-protection-policy-json-properties"></a>

資料保護政策需要下列基本政策資訊才能識別：
+ **Name** - 政策名稱。
+ **Description** (選用) - 政策描述。
+ **Version** - 政策語言版本。目前版本是 2021-06-01。
+ **Statement** - 指定資料保護政策動作的陳述式清單。

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

### 政策陳述式的 JSON 屬性
<a name="policy-statement-json-properties"></a>

政策陳述式會設定資料保護操作的偵測內容。
+ **Sid** (選用) - 陳述式識別符。
+ **DataDirection** - 與 Amazon SNS 主題相關的傳入 (針對發佈 API 請求) 或傳出 (用於通知交付)。
+ **DataIdentifier** - Amazon SNS 主題應掃描的敏感資料。例如，姓名、地址或電話號碼。
+ **Principal** - 發布至主題的 IAM 主體，或訂閱主題的 IAM 主體。
+ **操作** - Amazon SNS 主題找到敏感資料後會執行的後續動作：**Audit** (稽核)、**De-identify** (去識別化) (遮罩或修改) 或**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 屬性
<a name="statement-operation-json-properties"></a>

政策陳述式會設定下列其中一項資料保護操作。
+ [**Audit**](sns-message-data-protection-operations.md#statement-operation-json-properties-audit) - 發出指標和發現結果日誌，但不中斷訊息發佈或傳遞。
+ [**去識別化**](sns-message-data-protection-operations.md#statement-operation-json-properties-deidentify) - 遮罩或修改敏感資料，而不中斷訊息發佈。
+ [**Deny**](sns-message-data-protection-operations.md#statement-operation-json-properties-deny) - 封鎖 Amazon SNS 發佈請求或讓訊息傳遞失敗。

## 如何判斷資料保護政策的 IAM 主體？
<a name="data-protection-policy-iam-principal-determined"></a>

訊息資料保護使用兩個與 Amazon SNS 互動的 IAM 主體。

1. **發佈 API 主體** (傳入) - 已驗證的 IAM 主體，呼叫 Amazon SNS `Publish` API。

1. **訂閱主體** (傳出) - 已驗證的 IAM 主體，在建立訂閱期間呼叫 `Subscribe` API。

`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"
  }
}
```