保護用於 AI 應用程式的資料

1. 簡介

總覽

在本實驗室中,您將建構自動化資料清除管道,保護 AI 開發所用的私密資訊。您可以使用 Google Cloud 的 Sensitive Data Protection (舊稱 Cloud DLP),檢查、分類及去識別化各種資料格式 (包括非結構化文字、結構化表格和圖片) 中的個人識別資訊 (PII)

背景資訊

您是開發團隊的安全性與隱私權專家,目標是建立工作流程,找出機密資訊並去識別化,然後再提供給開發人員和模型。您的團隊需要真實的高品質資料,才能調整及測試新的生成式 AI 應用程式,但使用原始顧客資料會造成嚴重的隱私權問題。

下表列出您最想降低的隱私權風險:

風險

緩解措施

非結構化文字檔中顯示 PII (例如支援即時通訊記錄、意見回饋表單)。

建立去識別化範本,將私密值替換為 infoType,在保留內容的同時移除曝光。

移除個人識別資訊後,結構化資料集 (CSV) 的資料實用性會降低

使用記錄轉換功能,有選擇性地遮蓋識別資訊 (例如名稱),並套用字元遮蓋等技術,保留字串中的其他字元,讓開發人員仍可使用資料進行測試。

圖片內嵌文字洩漏個人識別資訊 (例如掃描文件、使用者相片)。

建立圖片專用的去識別化範本,遮蓋圖片中的文字。

手動遮蓋不同資料類型時,容易發生不一致或錯誤

設定單一自動化 Sensitive Data Protection 工作,根據處理的檔案類型,持續套用正確的去識別範本。

課程內容

本實驗室的內容包括:

  • 定義檢查範本,偵測特定類型的私密/機密資訊 (infoType)。
  • 為非結構化、結構化和圖片資料建立不同的去識別化規則
  • 設定及執行單一工作,根據檔案類型自動套用正確的遮蓋效果,遮蓋整個 bucket 的內容。
  • 確認敏感資料已成功轉換,並儲存在安全輸出位置。

2. 專案設定

Google 帳戶

如果沒有個人 Google 帳戶,請建立 Google 帳戶

使用個人帳戶,而非公司或學校帳戶。

登入 Google Cloud 控制台

使用個人 Google 帳戶登入 Google Cloud 控制台

啟用計費功能

兌換 $5 美元的 Google Cloud 抵免額 (選用)

如要參加這個研討會,您需要有具備部分抵免額的帳單帳戶。如果您打算使用自己的帳單,可以略過這個步驟。

  1. 按一下這個連結,然後登入個人 Google 帳戶。您會看到類似下方的畫面:按這裡前往「抵免額」頁面
  2. 按一下「按這裡存取抵免額」按鈕。系統會將您帶往設定帳單資料的頁面設定帳單資料頁面
  3. 按一下「確認」。您現在已連結至 Google Cloud Platform 試用帳單帳戶。帳單總覽的螢幕截圖

設定個人帳單帳戶

如果使用 Google Cloud 抵免額設定計費,可以略過這個步驟。

如要設定個人帳單帳戶,請前往這裡在 Cloud 控制台中啟用帳單

注意事項:

  • 完成本實驗室的 Cloud 資源費用應不到 $1 美元。
  • 您可以按照本實驗室結尾的步驟刪除資源,避免產生額外費用。
  • 新使用者可享有價值 $300 美元的免費試用期

建立專案 (選用)

如果沒有要用於這個實驗室的現有專案,請在這裡建立新專案

3. 啟用 API

設定 Cloud Shell

成功建立專案後,請按照下列步驟設定 Cloud Shell

啟動 Cloud Shell

前往 shell.cloud.google.com,如果看到要求授權的彈出式視窗,請點選「Authorize」(授權)

設定專案 ID

在 Cloud Shell 終端機中執行下列指令,設定正確的專案 ID。將 <your-project-id> 替換為您在上述專案建立步驟中複製的實際專案 ID。

gcloud config set project <your-project-id>

現在,您應該會看到 Cloud Shell 終端機中已選取正確的專案。

啟用 Sensitive Data Protection

如要使用 Sensitive Data Protection 服務和 Cloud Storage,請務必在 Google Cloud 專案中啟用這些 API。

  1. 在終端機中啟用 API:
    gcloud services enable dlp.googleapis.com storage.googleapis.com
    

或者,您也可以在控制台中依序前往「安全性」>「機密資料保護」和「Cloud Storage」,然後在系統提示時,點選每個服務的「啟用」按鈕,啟用這些 API。

4. 建立含有私密資料的 bucket

建立輸入和輸出值區

在這個步驟中,您會建立兩個 bucket:一個用於存放需要檢查的私密/機密資料,另一個則用於存放 Sensitive Data Protection 產生的去識別化輸出檔案。您也可以下載範例資料檔案,並上傳至輸入值區。

  1. 在終端機中執行下列指令,為輸入資料和輸出資料各建立一個 bucket,然後從 gs://dlp-codelab-data 將範例資料填入輸入 bucket:
    PROJECT_ID=$(gcloud config get-value project)
    gsutil mb gs://input-$PROJECT_ID
    gsutil mb gs://output-$PROJECT_ID
    

將機密資料新增至輸入值區

在這個步驟中,您會從 GitHub 下載含有測試 PII 的範例資料檔案,並上傳至輸入值區。

  1. 在 Cloud Shell 中執行下列指令,複製 devrel-demos 存放區,其中包含本實驗室所需的範例資料。
    REPO_URL="https://github.com/GoogleCloudPlatform/devrel-demos.git"
    TARGET_PATH="security/sample-data"
    OUTPUT_FOLDER="sample-data"
    
    git clone --quiet --depth 1 --filter=blob:none --sparse "$REPO_URL" temp_loader
    cd temp_loader
    git sparse-checkout set "$TARGET_PATH"
    cd ..
    mv "temp_loader/$TARGET_PATH" "$OUTPUT_FOLDER"
    rm -rf temp_loader
    
  2. 接著,將範例資料複製到先前建立的輸入 bucket:
    gsutil -m cp -r sample-data/* gs://input-$PROJECT_ID/
    
  3. 依序前往「Cloud Storage」>「Buckets」,然後點選輸入 bucket,查看匯入的資料。

5. 建立檢查範本

在這項工作中,您將建立範本,告知 Sensitive Data Protection 要尋找的內容。這樣一來,您就能專注於與資料和地理位置相關的 infoTypes 進行檢查,進而提升效能和準確度。

建立檢查範本

在這個步驟中,您要定義規則,說明哪些資料屬於需要檢查的機密資料。去識別化工作會重複使用這個範本,確保一致性。

  1. 在導覽選單中,依序前往「敏感資料保護」>「設定」>「範本」
  2. 按一下「建立範本」
  3. 在「範本類型」部分,選取「檢查 (搜尋機密資料)」
  4. 將「範本 ID」設為 pii-finder
  5. 繼續進行設定偵測作業
  6. 按一下「管理 infoType」
  7. 使用篩選器搜尋下列 infoTypes,並勾選每個項目旁的核取方塊:
    • CREDIT_CARD_EXPIRATION_DATE
    • CREDIT_CARD_NUMBER
    • DATE_OF_BIRTH
    • DRIVERS_LICENSE_NUMBER
    • EMAIL_ADDRESS
    • GCP_API_KEY
    • GCP_CREDENTIALS
    • ORGANIZATION_NAME
    • PASSWORD
    • PERSON_NAME
    • PHONE_NUMBER
    • US_SOCIAL_SECURITY_NUMBER
  8. 選取其他感興趣的項目,然後按一下「完成」
  9. 檢查產生的資料表,確認已加入所有 infoType。
  10. 點選「建立」

6. 建立去識別化範本

接著,您要建立三個不同的去識別化範本,以處理不同的資料格式。這項功能可讓你精細控管轉換程序,為每種檔案類型套用最合適的方法。這些範本會與您剛建立的檢查範本搭配使用。

為非結構化資料建立範本

這個範本會定義如何將自由格式文字 (例如即時通訊記錄或意見回饋表單) 中找到的機密資料去識別化。所選方法會將敏感值替換為 infoType 名稱,並保留內容。

  1. 在「範本」頁面中,按一下「建立範本」
  2. 定義去識別化範本:

    屬性

    值 (輸入或選取)

    範本類型

    去識別化 (移除機密資料)

    資料轉換類型

    InfoType

    範本 ID

    de-identify-unstructured

  3. 按一下「繼續」,前往「設定去識別化作業」
    • 在「轉換方法」下方,選取「轉換」:替換為 infoType 名稱
  4. 點選「建立」
  5. 按一下 [測試]。
  6. 測試含有 PII 的訊息,看看系統會如何轉換:
    Hi, my name is Alex and my SSN is 555-11-5555. You can reach me at +1-555-555-5555.
    

為結構化資料建立範本

這個範本專門用於偵測結構化資料集 (例如 CSV 檔案) 中的私密資訊。您將設定遮蓋資料,以保留資料的實用性,同時去識別化機密欄位。

  1. 返回「範本」頁面,然後按一下「建立範本」
  2. 定義去識別化範本:

    屬性

    值 (輸入或選取)

    範本類型

    去識別化 (移除機密資料)

    資料轉換類型

    錄影

    範本 ID

    de-identify-structured

  3. 繼續設定去識別化。由於這個範本適用於結構化資料,我們通常可以預測哪些欄位或資料欄會包含特定類型的機密資料。您知道應用程式使用的 CSV 檔案在 user_id 下有使用者電子郵件,且 message 通常包含客戶互動中的 PII。您不擔心遮蓋 agent_id,因為這些是員工,對話應可歸因。請按照下列方式填寫這個部分:
    • 要轉換的欄位或資料欄user_idmessage
    • 轉換類型:比對 infoType
    • 轉換方法:按一下「新增轉換」
      • 轉換:使用字元遮蔽。
      • 要忽略的字元:美國標點符號。
  4. 點選「建立」

為圖片資料建立範本

這個範本的設計目的是將圖片中內嵌的機密文字去識別化,例如掃描文件或使用者提交的相片。這項功能會運用光學字元辨識 (OCR) 技術偵測及遮蓋 PII。

  1. 返回「範本」頁面,然後按一下「建立範本」
  2. 定義去識別化範本:

    屬性

    值 (輸入或選取)

    範本類型

    去識別化 (移除機密資料)

    資料轉換類型

    圖片

    範本 ID

    de-identify-image

  3. 按一下「繼續」,前往「設定去識別化作業」
    • 要轉換的 InfoType:系統偵測到的所有 infoType (已於檢查範本或檢查設定中定義,但並未在其他規則中指定)
  4. 點選「建立」

7. 建立及執行去識別化工作

定義範本後,您現在可以建立單一工作,根據偵測和檢查的檔案類型套用正確的去識別化範本。這項功能可自動保護儲存在 Cloud Storage 中的資料,避免機密資料外洩。

設定輸入資料

在此步驟中,您會指定需要去識別化的資料來源,也就是包含各種檔案類型 (內含私密資訊) 的 Cloud Storage 值區。

  1. 透過搜尋列前往「安全性」>「Sensitive Data Protection」
  2. 按一下選單中的「檢查」
  3. 按一下「建立工作和工作觸發條件」
  4. 設定工作:

    屬性

    值 (輸入或選取)

    工作 ID

    pii-remover

    儲存空間類型

    Google Cloud Storage

    位置類型

    透過選用的納入/排除規則掃描 bucket

    值區名稱

    input-[your-project-id]

設定偵測作業和動作

現在,您要將先前建立的範本連結至這項工作,告知 Sensitive Data Protection 如何檢查 PII,以及根據內容類型套用哪種去識別化方法。

  1. 檢查範本projects/[your-project-id]/locations/global/inspectTemplates/pii-finder
  2. 在「新增動作」下方,選取「建立去識別化副本」,並將轉換範本設為您建立的範本。
  3. 系統會開啟彈出式視窗,請點選「停用抽樣」Confirm whether you want to de-identify the findings

    要求停用取樣的彈出式視窗螢幕截圖

    屬性

    值 (輸入或選取)

    去識別化範本

    projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-unstructured

    結構化去識別化範本

    projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-structured

    圖片遮蓋範本

    projects/[your-project-id]/locations/global/deidentifyTemplates/de-identify-image

  4. 設定 Cloud Storage 輸出位置:
    • 網址gs://output-[your-project-id]
  5. 在「時間表」下方,將選取項目保留為「無」,即可立即執行工作。
  6. 點選「建立」
  7. 系統會開啟彈出式視窗,點選「確認建立」Confirm job or job trigger create

    確認建立工作或工作觸發條件的彈出式視窗螢幕截圖

8. 驗證結果

最後一個步驟是確認輸出值區中所有檔案類型的機密資料都已成功且正確地經過修訂。確保去識別化管道正常運作。

查看工作狀態

監控工作,確保工作順利完成,並在檢查輸出檔案前查看調查結果摘要。

  1. 在「Jobs details」(工作詳細資料) 分頁中,等待工作狀態顯示為「Done」(完成)
  2. 在「總覽」下方,查看發現項目數量和偵測到的每個 infoType 百分比。
  3. 按一下「設定」
  4. 向下捲動至「動作」,然後按一下輸出值 bucket,即可查看去識別化資料:gs://output-[your-project-id]

比較輸入和輸出檔案

在這個步驟中,您將手動檢查去識別化檔案,確認系統已根據範本正確套用資料清除作業。

  1. 圖片:開啟輸出值區中的圖片。確認輸出檔案中所有敏感文字都已經過修訂

    螢幕截圖:表單圖片中的 PII 已以黑色方塊遮蓋。

  2. 未結構化記錄:查看兩個值區的記錄檔。確認輸出記錄中的 PII 已替換為 infoType 名稱 (例如 [US_SOCIAL_SECURITY_NUMBER])。
  3. 結構化 CSV 檔案:開啟兩個值區的 CSV 檔案。確認輸出檔案中的使用者電子郵件地址和 SSN 已遮蓋,並以 ####@####.com 取代。

    螢幕截圖:比較原始 CSV 資料 (顯示電子郵件和 SSN) 和經過修訂的 CSV 資料 (顯示經過遮蓋的電子郵件和 SSN)。

9. 從實驗室到現實:如何在自己的專案中使用這項功能

您套用的原則和設定,是確保 Google Cloud 中實際 AI 專案安全無虞的藍圖。您剛建立的資源 (檢查範本去識別化範本自動化工作) 可做為安全入門範本,用於任何新的資料擷取程序。

自動化資料清除管道:安全無虞的資料擷取方式

如何在設定中使用這項功能

每當團隊需要擷取新的原始客戶資料以進行 AI 開發時,您會透過納入所設定 Sensitive Data Protection 工作的管道,引導團隊完成這項作業。您不必手動檢查及編輯,而是運用這項自動化工作流程。確保資料科學家和 AI 模型只會與去識別化資料互動,大幅降低隱私權風險。

連結至正式版

在實際工作環境中,您可以進一步運用這個概念,方法如下:

  • 透過工作觸發條件自動執行:您不必手動執行工作,只要在有新檔案上傳至輸入 Cloud Storage 值區時,設定工作觸發條件即可。這會建立全自動的偵測和去識別化程序,完全不需要人工介入
  • 與資料湖泊/倉儲整合:去識別化輸出資料通常會匯入安全的資料湖泊 (例如 Cloud Storage) 或資料倉儲 (例如 BigQuery) 進行進一步分析和模型訓練,確保資料生命週期全程維持隱私權。

精細的去識別化策略:兼顧隱私權和實用性

如何在設定中使用這項功能

您建立的不同去識別化範本 (非結構化、結構化、圖片) 是關鍵。您會根據 AI 模型的特定需求,套用類似的差異化策略。這樣一來,開發團隊就能取得實用性高的模型資料,同時兼顧隱私權。

連結至正式版

在實際工作環境中,這項精細控管功能對於下列事項更加重要:

  • 自訂 infoType 和字典:如要處理高度特定或特定領域的機密資料,您可以在 Sensitive Data Protection 中定義自訂 infoType 和字典。確保系統能根據貴商家獨特的業務脈絡,全面偵測異常活動。
  • 格式保留加密 (FPE):如果去識別化資料必須保留原始格式 (例如用於整合測試的信用卡號碼),您可以探索格式保留加密等進階去識別化技術。這樣一來,您就能以真實的資料模式進行測試,同時確保隱私權。

監控與稽核:確保持續符合規定

如何在設定中使用這項功能

您會持續監控 Sensitive Data Protection 記錄,確保所有資料處理作業都符合隱私權政策,且不會意外洩漏私密資訊。定期查看工作摘要和調查結果,是持續稽核的一部分。

連結至正式版

如要打造穩健的生產系統,請考慮採取下列重要行動:

  • 將發現項目傳送至 Security Command Center:如要整合威脅管理作業,並集中查看安全防護狀態,請將 Sensitive Data Protection 工作設為直接將發現項目摘要傳送至 Security Command Center。這項功能會整合安全快訊和洞察資訊。
  • 快訊和事件應變:您可以根據 Sensitive Data Protection 發現的結果或工作失敗情形,設定 Cloud Monitoring 快訊。確保安全團隊能立即收到任何潛在的政策違規或處理問題通知,以便快速應變事件。

10. 結語

恭喜!您已成功建構資料安全工作流程,可自動探索多種資料類型中的個人識別資訊並去識別化,確保這些資訊可用於下游的 AI 開發和分析作業。

重點回顧

在本實驗室中,您已完成下列事項:

  • 定義檢查範本,偵測特定類型的私密/機密資訊 (infoType)。
  • 為非結構化、結構化和圖片資料建立不同的去識別化規則
  • 設定並執行單一工作,根據檔案類型自動將正確的遮蓋方式套用至整個 bucket 的內容。
  • 確認敏感資料已成功轉換,並儲存在安全輸出位置。

後續步驟

  • 將發現項目傳送至 Security Command Center:如要進一步整合威脅管理作業,請設定作業動作,將發現項目的摘要直接傳送至 Security Command Center
  • 使用 Cloud Functions 自動執行:在實際工作環境中,只要有新檔案上傳至輸入值區,您就能使用 Cloud Function 自動觸發這項檢查工作。