

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

# 使用敏感資訊篩選條件從對話中移除 PII
<a name="guardrails-sensitive-filters"></a>

 Amazon Bedrock Guardrails 可協助偵測敏感資訊，例如輸入提示中的個人身分識別資訊 (PII)，或使用敏感資訊篩選條件的模型回應。此篩選條件僅支援文字輸出，當模型透過支援的 APIs 以 tool\_use （函數呼叫） 輸出參數回應時， 不會偵測 PII 資訊。此篩選條件是一種機率式機器學習 (ML) 型解決方案，與內容相關，並根據輸入提示或模型回應中的內容偵測敏感資訊。您可以從 Amazon Bedrock Guardrails 針對您的使用案例或組織提供的一組內建 PIIs 中進行設定，方法為定義它，以及根據模式比對來封鎖或遮罩 PII 資料的規則表達式 （自訂 regex)。

敏感資訊偵測適用於自然語言和程式碼網域，包括程式碼語法、註解、字串常值和混合內容。這有助於識別內嵌在程式碼元素中的 PII，例如變數名稱、硬式編碼憑證或程式碼文件。

您可以設定下列模式來處理防護機制偵測到的敏感資訊：
+ **封鎖** - 敏感資訊篩選條件政策可以封鎖包含敏感資訊的請求或回應。這類應用程式的範例可能包括以公有文件為基礎的一般問題和答案。如果在提示或回應中偵測到敏感資訊，防護機制會封鎖所有內容，並傳回您設定的訊息。
+ **遮罩** - 敏感資訊篩選條件政策可以匿名化或修訂模型請求或回應中的資訊。例如，防護機制會遮罩 PII，同時產生使用者與客戶服務客服人員之間的對話摘要。如果在模型請求或回應中偵測到敏感資訊，防護機制會將其遮罩，並將其取代為 PII 類型 (例如 `{NAME}` 或 `{EMAIL}`)。

Amazon Bedrock 防護機制提供下列 PII 來封鎖或匿名化：
+ **一般**
  + **地址**

    實體地址，例如 "100 Main Street, Anytown, USA" 或 "Suite \#12, Building 123"。地址可以包括街道、建築物、位置、城市、州、國家/地區、郡、郵遞區號、分區、鄰里等資訊。
  + **AGE**

    個人的年齡，包括數量和時間單位。例如，在「我 40 歲」一詞中，Amazon Bedrock 防護機制會將「40 歲」視為年齡。
  + **名稱**

    個人的姓名。此實體類型不包含稱謂，例如醫師、先生、太太或小姐。Amazon Bedrock 防護機制不會將此實體類型套用至屬於組織或地址的名稱。例如，防護機制會將 "John Doe Organization" 辨識為一個組織，而將 "Jane Doe Street" 辨識為地址。
  + **EMAIL**

    電子郵件位址，例如 *marymajor@email.com*。
  + **電話**

    電話號碼。此實體類型還包括傳真和呼叫器號碼。
  + **使用者名稱**

    識別帳戶的使用者名稱，例如登入名稱、螢幕名稱、別名或控制代碼。
  + **密碼**

    用作密碼的英數字串，例如 "\**very20special\#pass\**"。
  + **DRIVER\_ID**

    指派給駕照的號碼，這是官方文件，允許個人在公有道路上操作一或多個機動車輛。駕照號碼由英數字元組成。
  + **LICENSE\_PLATE**

    車輛的車牌是由註冊車輛的州或國家/地區核發。客車的格式通常為 5 到 8 位數，由大寫字母和數字組成。格式會根據發行州或國家/地區的位置而有所不同。
  + **VEHICLE\_IDENTIFICATION\_NUMBER**

    車輛識別號碼 (VIN) 可唯一識別車輛。VIN 內容和格式在 *ISO 3779* 規格中定義。每個國家/地區都有 VIN 的特定代碼和格式。
+ **財務**
  + **CREDIT\_DEBIT\_CARD\_CVV**

    VISA、MasterCard 卡和 Discover 信用卡和簽帳卡上存在 3 位數卡驗證碼 (CVV)。在美國運通信用卡或簽帳卡，CVV 是一個 4 位數的數字代碼。
  + **CREDIT\_DEBIT\_CARD\_EXPIRY**

    信用卡或簽帳卡到期日。該數字通常為 4 位數，格式為*月/年*或 *MM/YY*。Amazon Bedrock 防護機制會辨識過期日期，例如 *01/21*、*01/2021* 和 *2021 年 1 月*。
  + **CREDIT\_DEBIT\_CARD\_NUMBER**

    信用卡或簽帳卡號碼。這些數字的長度從 13 到 16 位數不等。不過，當只有最後 4 位數時，Amazon Bedrock 也會辨識信用卡或簽帳金融卡號碼。
  + **PIN**

    您可以用來存取銀行帳戶的 4 位數個人識別號碼 (PIN)。
  + **INTERNATIONAL\_BANK\_ACCOUNT\_NUMBER**

    國際銀行帳戶號碼在每個國家/地區都有特定的格式。如需詳細資訊，請參閱 [www.iban.com/structure](https://www.iban.com/structure)。
  + **SWIFT\_CODE**

    SWIFT 代碼是銀行識別符代碼 (BIC) 的標準格式，用於指定特定的銀行或分行。銀行使用這些代碼進行匯款，例如國際電匯。

    SWIFT 代碼由 8 個或 11 個字元組成。11 位數代碼是指特定的分行，而 8 位數代碼 (或結尾為 'XXX' 的 11 位數代碼) 是指總部或主要辦公室。
+ **IT**
  + **IP\_ADDRESS**

    IPv4 位址，例如 *198.51.100.0*。
  + **MAC\_ADDRESS**

    *媒體存取控制* (MAC) 地址是指派給網路介面控制器 (NIC) 的唯一識別符。
  + **URL**

    網址，例如 *www.example.com*。
  + **AWS\_ACCESS\_KEY**

    與私密存取金鑰相關聯的唯一識別符；您要使用存取金鑰 ID 和私密存取金鑰，以密碼編譯的方式來簽署程式設計的 AWS 請求。
  + **AWS\_SECRET\_KEY**

    與存取金鑰相關聯的唯一識別符。您可以使用存取金鑰 ID 和私密存取金鑰，以密碼編譯方式簽署程式設計 AWS 請求。
+ **美國特定**
  + **US\_BANK\_ACCOUNT\_NUMBER**

    美國銀行帳號，通常為 10 到 12 位數。
  + **US\_BANK\_ROUTING\_NUMBER**

    美國銀行帳戶的分行代碼。這些通常為 9 位數，
  + **US\_INDIVIDUAL\_TAX\_IDENTIFICATION\_NUMBER**

    美國個人納稅人識別號碼 (ITIN) 是一個以 "9" 開頭的 9 位數號碼，其中包含 "7" 或 "8" 作為第 4 位數。ITIN 的格式可以在第 3 和第 4 個數字後面使用空格或破折號。
  + **US\_PASSPORT\_NUMBER**

    美國護照號碼。護照號碼範圍為 6 到 9 個英數字元。
  + **US\_SOCIAL\_SECURITY\_NUMBER**

    美國社會安全號碼 (SSN) 是核發給美國公民、永久居民和臨時工作居民的 9 位數號碼。
+ **加拿大特定**
  + **CA\_HEALTH\_NUMBER**

    加拿大健康服務號碼是 10 位數的唯一識別符，個人需要此識別符才能使用醫療保健權益。
  + **CA\_SOCIAL\_INSURANCE\_NUMBER**

    加拿大社會保險號碼 (SIN) 是 9 位數的唯一識別符，個人需要此識別符才能使用政府計劃和權益。

    SIN 格式為三組 3 個位數，例如 *123-456-789*。SIN 可以透過稱為 [Luhn 演算法](https://www.wikipedia.org/wiki/Luhn_algorithm)的簡單檢查位數程序進行驗證。
+ **英國特定**
  + **UK\_NATION\_HEALTH\_SERVICE\_NUMBER**

    英國國家衛生服務號碼是 10-17 位數的數字，例如 *485 777 3456*。目前的系統格式為 10 位數的數字，並在第 3 位數和第 6 位數之後加上空格。最後一個數字是錯誤偵測檢查總和。
  + **UK\_國家\_保險\_編號**

    英國國民保險號碼 (NINO) 可讓個人存取國民保險 (社會安全) 權益。它也用於英國稅務系統中的某些目的。

    數字為 9 位數，以 2 個字母開頭，隨後接著 6 個數字和 1 個字母。NINO 的格式可為在 2 個字母後面以及在第 2、4 和 6 位數後面加上空格或破折號。
  + **UK\_UNIQUE\_TAXPAYER\_REFERENCE\_NUMBER**

    英國唯一納稅人參考 (UTR) 是識別納稅人或企業的 10 位數號碼。
+ **Custom**
  + **Regex 篩選條件**

    您可以使用規則表達式來定義護欄的模式，以識別和處理序號、預訂 ID 或其他自訂模式。

**注意**  
PII 模型在取得足夠的內容時，會更有效率地執行。為了提高其準確性，請包含更多內容資訊，並避免向模型提交單字或短語。由於 PII 可能會與內容相關 (例如，數字字串可能代表 AWS KMS key 或使用者 ID，視周圍資訊而定)，因此提供完整的內容對於準確識別至關重要。

**注意**  
PII 遮罩僅適用於傳送至推論模型的內容 （輸入提示），以及從推論模型傳回的內容 （模型回應）。它不適用於下列項目：  
**模型調用日誌** — 如果您啟用 [使用 CloudWatch Logs 和 Amazon S3 監控模型調用](model-invocation-logging.md)，Amazon CloudWatch Logs 中的 `input` 欄位一律包含原始、未修改的請求，無論護欄介入為何。若要保護日誌中的敏感資訊，請使用 [Amazon CloudWatch 日誌資料保護](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html)。
**Guardrails 追蹤輸出** — [GuardrailPiiEntityFilter](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_GuardrailPiiEntityFilter.html) 中在 API 回應 （例如 Converse API 的 `trace` 物件） 中傳回`match`的欄位包含原始 PII 值，而非遮罩的輸出。此行為的設計可讓應用程式針對自己的邏輯使用偵測結果。

**注意**  
敏感資訊篩選條件的自訂 regex 篩選條件不支援 regex 預期相符項目。

## 為您的防護機制設定敏感資訊政策
<a name="guardrails-sensitive-information-policy-configure"></a>

您可以使用 AWS 管理主控台 或 Amazon Bedrock API 來設定防護機制的敏感資訊政策。

------
#### [ Console ]

1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 從左側導覽窗格中，選擇**防護機制**，然後選擇**建立防護機制**。

1. 在**提供防護機制詳細資訊**頁面中，執行下列動作：

   1. 在**防護機制詳細資訊**區段中，提供防護機制的**名稱**和選用的**描述**。

   1. 在**封鎖提示的訊息**中，輸入套用防護機制時顯示的訊息。選取**為回應套用相同的封鎖訊息**核取方塊，以在將防護機制套用至回應時，使用相同的訊息。

   1. (選用) 若要為您的防護機制啟用[跨區域推論](guardrails-cross-region.md)，請展開**跨區域推論**，然後選取**為您的防護機制啟用跨區域推論**。選擇護欄設定檔，定義可路由護欄推論請求 AWS 區域 的目的地。

   1. （選用） 根據預設，您的護欄會使用 加密 AWS 受管金鑰。若要使用您自己的客戶受管 KMS 金鑰，請展開 **KMS 金鑰選取範圍**，然後選取**自訂加密設定 (進階)** 核取方塊。

      您可以選取現有的 AWS KMS 金鑰，或選取**建立金鑰以建立新的 AWS KMS 金鑰**。

   1. (選用) 若要將標籤新增至防護機制，請展開**標籤**，然後為您定義的每個標籤選取**新增標籤**。

      如需詳細資訊，請參閱[標記 Amazon Bedrock 資源](tagging.md)。

   1. 選擇**下一步**。

1. 在**新增敏感資訊篩選條件**頁面上，執行下列動作來設定篩選條件，以封鎖或遮罩敏感資訊：

   1. 在 **PII 類型**區段中，設定個人身分識別資訊 (PII) 類別，以封鎖、遮罩或不採取任何動作 (偵測模式)。您有下列選項：
      + 若要新增所有 PII 類型，請選取**新增 PII 類型**旁的下拉箭頭。然後選取要對其套用的防護機制行為。
**警告**  
如果您指定行為，則您為 PII 類型設定的任何現有行為都會遭到覆寫。
      + 若要刪除 PII 類型，請選取垃圾桶圖示 (![Trash can icon representing a delete action.](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/icons/trash.png))。
      + 若要刪除包含錯誤的資料列，請選取**全部刪除**，然後選取**刪除發生錯誤的所有列**
      + 若要刪除所有 PII 類型，請選取**全部刪除**，然後選取**刪除所有資料列**
      + 若要搜尋資料列，請在搜尋列中輸入運算式。
      + 若要僅顯示有錯誤的資料列，請選取標記為**顯示全部**的下拉式功能表，然後選取**僅顯示錯誤**。
      + 若要設定資料表中每個頁面的大小或資料表中的資料欄顯示，請選取設定圖示 (![Gear icon representing settings or configuration options.](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/icons/settings.png))。設定您的偏好設定，然後選取**確認**。

   1. 在**規則運算式**區段中，使用規則運算式來定義要篩選的防護機制模式。您有下列選項：
      + 若要新增模式，請選取**新增規則運算式模式**。設定下列欄位：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/guardrails-sensitive-filters.html)
      + 若要編輯模式，請在**動作**欄位中選取與主題相同資料列中的三個點圖示。然後，選取**編輯**。完成編輯後，請選取**確認**。
      + 若要刪除模式，請選取要刪除模式的核取方塊。選取**刪除**，然後選取**刪除選取的項目**。
      + 若要刪除所有模式，請選取**刪除**，然後選取**全部刪除**。
      + 若要搜尋模式，請在搜尋列中輸入運算式。
      + 若要設定資料表中每個頁面的大小或資料表中的資料欄顯示，請選取設定圖示 (![Gear icon representing settings or configuration options.](http://docs.aws.amazon.com/zh_tw/bedrock/latest/userguide/images/icons/settings.png))。設定您的偏好設定，然後選取**確認**。

   1. 當您完成設定敏感資訊篩選條件時，請選取**下一步**或**跳至檢閱和建立**。

------
#### [ API ]

若要使用敏感資訊政策建立防護機制，請傳送 [CreateGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html) 請求。請求格式如下：

```
POST /guardrails HTTP/1.1
Content-type: application/json

{
    "blockedInputMessaging": "string",
    "blockedOutputsMessaging": "string",
    "sensitiveInformationPolicyConfig": {
        "piiEntitiesConfig": [{
            "type": "ADDRESS | EMAIL | PHONE | NAME | SSN | ...",
            "action": "BLOCK | ANONYMIZE | NONE",
            "inputAction": "BLOCK | ANONYMIZE | NONE",
            "inputEnabled": true,
            "outputAction": "BLOCK | ANONYMIZE | NONE",
            "outputEnabled": true
        }],
        "regexesConfig": [{
            "name": "string",
            "pattern": "string",
            "action": "BLOCK | ANONYMIZE | NONE",
            "description": "string",
            "inputAction": "BLOCK | ANONYMIZE | NONE",
            "inputEnabled": true,
            "outputAction": "BLOCK | ANONYMIZE | NONE",
            "outputEnabled": true
        }]
    },
    "description": "string",
    "kmsKeyId": "string",
    "name": "string",
    "tags": [{
        "key": "string",
        "value": "string"
    }],
    "crossRegionConfig": {
        "guardrailProfileIdentifier": "string"
    }
}
```
+ 為防護機制指定 `name` 和 `description`。
+ 指定當防護機制成功封鎖 `blockedInputMessaging` 和 `blockedOutputsMessaging` 欄位中的提示或模型回應時的訊息。
+ 在 `sensitiveInformationPolicyConfig` 物件中設定敏感資訊政策：
  + 使用 `piiEntitiesConfig` 陣列來設定預先定義的 PII 實體類型：
    + 在 `type` 欄位中指定 PII 實體類型。有效值包括 `ADDRESS`、`EMAIL`、`PHONE`、`NAME`、`US_SOCIAL_SECURITY_NUMBER` 等。
    + 指定在 `action` 欄位中偵測到 PII 實體時所要採取的動作。選擇 `BLOCK` 以封鎖內容、選擇 `ANONYMIZE` 以遮罩內容，或選擇 `NONE` 以不採取任何動作，但傳回偵測資訊。
    + (選用) 使用 `inputAction`、`inputEnabled`、`outputAction` 和 `outputEnabled` 來設定提示和回應的不同行為。
  + 使用 `regexesConfig` 陣列來定義要偵測的自訂模式：
    + 為 regex 模式指定 `name` (1-100 個字元)。
    + 定義要偵測的規則運算式 `pattern` (1-500 個字元)。
    + 指定在偵測到模式時要採取的 `action`。選擇 `BLOCK` 以封鎖內容、選擇 `ANONYMIZE` 以遮罩內容，或選擇 `NONE` 以不採取任何動作，但傳回偵測資訊。
    + (選用) 為規則運算式模式提供 `description` (1-1000 個字元)。
    + (選用) 使用 `inputAction`、`inputEnabled`、`outputAction` 和 `outputEnabled` 來設定提示和回應的不同行為。
+ (選用) 將任何標籤連接到防護機制。如需詳細資訊，請參閱[標記 Amazon Bedrock 資源](tagging.md)。
+ (選用) 為了安全起見，請在 `kmsKeyId` 欄位中包含 KMS 金鑰的 ARN。
+ (選用) 若要啟用[跨區域推論](guardrails-cross-region.md)，請在 `crossRegionConfig` 物件中指定防護機制設定檔。

回應格式如下：

```
HTTP/1.1 202
Content-type: application/json

{
    "createdAt": "string",
    "guardrailArn": "string",
    "guardrailId": "string",
    "version": "string"
}
```

------