本指南將逐步說明如何檢查 Cloud Storage、Datastore 模式的 Firestore (Datastore) 或 BigQuery 中的資料,並將檢查結果傳送至 Security Command Center。
如果是 BigQuery 資料,您還可以執行剖析,這與檢查作業不同。您也可以將資料剖析檔傳送至 Security Command Center。詳情請參閱「將資料剖析檔發布至 Security Command Center」。
總覽
Security Command Center 可讓您收集安全性威脅的相關資料、識別安全性威脅,並在威脅造成業務傷害或損失之前採取相應動作。您可以使用 Security Command Center,在單一的集中式資訊主頁中執行多項安全性相關動作。
Sensitive Data Protection 內建與 Security Command Center 的整合功能。當您使用 Sensitive Data Protection 動作檢查Google Cloud 儲存空間存放區中的機密資料時,系統會將結果直接傳送至 Security Command Center 資訊主頁。這些指標會顯示在其他安全性指標旁。
完成本指南中的步驟後,您將執行下列操作:
- 啟用 Security Command Center 和 Sensitive Data Protection。
- 設定 Sensitive Data Protection,檢查 Google Cloud 儲存空間存放區 (Cloud Storage 值區、BigQuery 資料表或 Datastore 種類)。
- 設定 Sensitive Data Protection 掃描,將檢查作業結果傳送至 Security Command Center。
如要進一步瞭解 Security Command Center,請參閱 Security Command Center 說明文件。
如要將探索掃描 (而非檢查作業) 的結果傳送至 Security Command Center,請參閱剖析機構、資料夾或專案的說明文件。
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
- Sensitive Data Protection
- Cloud Storage
- BigQuery
- Datastore
如要根據預測用量估算費用,請使用 Pricing Calculator。
事前準備
如要將 Sensitive Data Protection 掃描結果傳送至 Security Command Center,請務必先完成下列各項操作:
- 步驟 1:設定 Google Cloud 儲存空間存放區。
- 步驟 2:設定 Identity and Access Management (IAM) 角色。
- 步驟 3:啟用 Security Command Center。
- 步驟 4:啟用 Sensitive Data Protection。
- 步驟 5:將 Sensitive Data Protection 設為 Security Command Center 的安全來源。
設定這些元件的步驟會在以下各節中說明。
步驟 1:設定 Google Cloud 儲存空間存放區
選擇要掃描您自己的 Google Cloud 儲存空間存放區還是範例儲存空間存放區。本主題提供這兩種情境的操作說明。
掃描您自己的資料
如要掃描您自己的現有 Cloud Storage bucket、BigQuery 資料表或 Datastore 種類,請先開啟存放區所在的專案。在後續步驟中,您將針對此專案及其機構啟用 Security Command Center 和 Sensitive Data Protection。
開啟要使用的專案後,請繼續步驟 2,設定一些 IAM 角色。
掃描範例資料
如要掃描測試資料集,請先確認已設定帳單帳戶,然後建立新專案。如要完成這個步驟,您必須具備 IAM 專案建立者角色。進一步瞭解 IAM 角色。
- 如果尚未設定帳單,請先設定帳單帳戶。
- 前往 Google Cloud 控制台的「New Project」(新增專案) 頁面。
- 在「帳單帳戶」下拉式清單中,選取專案應計入的帳單帳戶。
- 在「Organization」(機構) 下拉式清單中,選取要建立專案的機構。
- 在「位置」下拉式清單中,選取要建立專案的機構或資料夾。
接下來,下載並儲存範例資料:
- 前往 GitHub 中的 Cloud Run functions 教學課程存放區。
- 按一下「Clone or download」(複製或下載),然後按一下「Download ZIP」(下載 ZIP 檔)。
- 將下載的 ZIP 檔案解壓縮。
- 前往 Google Cloud 控制台的「Storage Browser」(儲存空間瀏覽器) 頁面。
- 點選「建立值區」。
- 在「Create a bucket」(建立 Bucket) 頁面中,為值區提供唯一名稱,然後按一下「Create」(建立)。
- 在「Bucket details」(值區詳細資料) 頁面中,按一下「Upload folder」(上傳資料夾)。
- 前往解壓縮的
dlp-cloud-functions-tutorials-master
資料夾並開啟,然後選取sample_data
資料夾。 按一下「上傳」,將資料夾的內容上傳至 Cloud Storage。
請記下您為 Cloud Storage bucket 提供的名稱,後續步驟中會用到。檔案上傳完成後,即可繼續操作。
步驟 2:設定 IAM 角色
如要使用 Sensitive Data Protection 將掃描結果傳送至 Security Command Center,您需要「安全中心管理員」和「Sensitive Data Protection 作業編輯者」身分與存取權管理角色。本節說明如何新增角色。如要完成本節,您必須具備「機構管理員」IAM 角色。
前往「身分與存取權管理」頁面。
- 在「依主體檢視」分頁中,找出您的 Google 帳戶,然後按一下「編輯主體」edit。
新增「安全中心管理員」和「Sensitive Data Protection 工作編輯者」角色:
- 在「編輯存取權」面板中,按一下「新增其他角色」。
- 在「Select a role」(請選擇角色) 清單中,搜尋並選取「Security Center Admin」(安全中心管理員)。
- 按一下 [Add another role] (新增其他角色)。
- 在「Select a role」(請選擇角色) 清單中,搜尋並選取「DLP Jobs Editor」(DLP 工作編輯者)。
- 按一下 [儲存]。
您現在擁有機構的 Sensitive Data Protection 工作編輯者和安全中心管理員角色。這些角色可讓您完成本主題其餘部分的工作。
步驟 3:啟用 Security Command Center
在「Organization」(機構) 下拉式清單中,選取要啟用敏感資料保護機制的機構,然後按一下「Select」(選取)。
在顯示的「啟用資產探索」頁面中,選取「當前和日後的所有專案」,然後按一下「啟用」。系統應會顯示一則訊息,指出 Sensitive Data Protection 正在開始資產探索。
資產探索完成後,Sensitive Data Protection 會顯示 Google Cloud 支援的資產。資產探索可能需要幾分鐘,您可能需要重新整理頁面才能顯示資產。
如要進一步瞭解如何啟用 Security Command Center,請參閱 Security Command Center 說明文件。
步驟 4:啟用 Sensitive Data Protection
針對要掃描的專案啟用 Sensitive Data Protection。專案所在的機構必須與您已啟用 Security Command Center 的機構相同。如要使用Google Cloud 控制台啟用 Sensitive Data Protection,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「Enable access to API」頁面。
- 在工具列中,選取本指南步驟 1 的專案。專案必須包含您要掃描的 Cloud Storage 值區、BigQuery 表格或 Datastore 種類。
- 點選「下一步」。
- 按一下「啟用」。
專案現已啟用 Sensitive Data Protection。
步驟 5:啟用 Sensitive Data Protection,做為 Security Command Center 的整合式服務
如要在 Security Command Center 中查看 Sensitive Data Protection 掃描結果,請啟用「Sensitive Data Protection」做為整合式服務。詳情請參閱 Security Command Center 說明文件中的「新增 Google Cloud 整合式服務」。
Sensitive Data Protection 的發現項目會顯示在 Security Command Center 的「發現項目」頁面。
設定及執行機密資料保護檢查掃描
在本節中,您將設定並執行 Sensitive Data Protection 檢查工作。
您在此設定的「檢查工作」會指示 Sensitive Data Protection 掃描儲存在 Cloud Storage 中的範例資料,或掃描您儲存在 Cloud Storage、Datastore 或 BigQuery 中的資料。您指定的工作設定也會指示 Sensitive Data Protection 將掃描結果儲存在 Security Command Center 中。
步驟 1:記下專案 ID
- 前往 Google Cloud 控制台。
- 按一下 [選取]。
- 在「Select from」(從以下項目選取) 下拉式清單中,選取已啟用 Security Command Center 的機構。
- 在「ID」下方,複製含有要掃描資料的專案 ID。
- 在「名稱」下方,按一下專案以選取。
步驟 2:開啟 APIs Explorer 並設定工作
- 前往
dlpJobs.create
方法參考資料頁面的 APIs Explorer,方法是點選下列按鈕: - 在「parent」(父項) 方塊中輸入下列內容,其中 PROJECT_ID 是您在步驟 1 中記下的專案 ID:
projects/PROJECT_ID
針對您要使用的資料種類,將「Request body」(請求主體) 欄位替換成下列 JSON:Cloud Storage 值區中的範例資料,或您儲存在 Cloud Storage、Datastore 或 BigQuery 中的資料。
範例資料
如果您建立 Cloud Storage 值區來儲存範例資料,請複製下列 JSON,然後貼到「Request body」(請求主體) 欄位中。將 BUCKET_NAME
替換為您為 Cloud Storage 值區提供的名稱:
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://BUCKET_NAME/**"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"PERSON_NAME"
},
{
"name": "LOCATION"
},
{
"name":"PHONE_NUMBER"
}
],
"includeQuote":true,
"minLikelihood":"UNLIKELY",
"limits":{
"maxFindingsPerRequest":100
}
},
"actions":[
{
"publishSummaryToCscc":{
}
}
]
}
}
Cloud Storage 資料
如要掃描您自己的 Cloud Storage 值區,請複製下列 JSON,並將其貼到「Request body」(請求主體) 欄位中。
請將 PATH_NAME
替換成您要掃描的位置路徑。如要以遞迴方式掃描,請在路徑結尾加上兩個星號,例如 gs://path_to_files/**
。如要掃描特定目錄,而不深入掃描,請在路徑結尾加上一個星號,例如 gs://path_to_files/*
。
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://PATH_NAME"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"PERSON_NAME"
},
{
"name": "LOCATION"
},
{
"name":"PHONE_NUMBER"
}
],
"includeQuote":true,
"minLikelihood":"UNLIKELY",
"limits":{
"maxFindingsPerRequest":100
}
},
"actions":[
{
"publishSummaryToCscc":{
}
}
]
}
}
如要進一步瞭解可用的掃描選項,請參閱檢查儲存空間與資料庫以找出機密資料一文。
Datastore 資料
如要掃描您保存在 Datastore 中的資料,請複製下列 JSON,並將其貼到「Request body」(請求主體) 欄位中。
請將 DATASTORE_KIND
替換成 Datastore 種類的名稱。您也可以將 NAMESPACE_ID
和 PROJECT_ID
分別替換成命名空間和專案 ID,或在必要時完全移除 "partitionID"
。
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"DATASTORE_KIND"
},
"partitionId":{
"namespaceId":"NAMESPACE_ID",
"projectId":"PROJECT_ID"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"PERSON_NAME"
},
{
"name": "LOCATION"
},
{
"name":"PHONE_NUMBER"
}
],
"includeQuote":true,
"minLikelihood":"UNLIKELY",
"limits":{
"maxFindingsPerRequest":100
}
},
"actions":[
{
"publishSummaryToCscc":{
}
}
]
}
}
如要進一步瞭解可用的掃描選項,請參閱檢查儲存空間與資料庫以找出機密資料一文。
BigQuery 資料
如要掃描您自己的 BigQuery 表格,請複製下列 JSON,並將其貼到「Request body」(請求主體) 欄位中。
請將 PROJECT_ID
、BIGQUERY_DATASET_NAME
和 BIGQUERY_TABLE_NAME
分別替換成專案 ID、BigQuery 資料集和表格名稱。
{
"inspectJob":
{
"storageConfig":
{
"bigQueryOptions":
{
"tableReference":
{
"projectId": "PROJECT_ID",
"datasetId": "BIGQUERY_DATASET_NAME",
"tableId": "BIGQUERY_TABLE_NAME"
}
}
},
"inspectConfig":
{
"infoTypes":
[
{
"name": "EMAIL_ADDRESS"
},
{
"name": "PERSON_NAME"
},
{
"name": "LOCATION"
},
{
"name": "PHONE_NUMBER"
}
],
"includeQuote": true,
"minLikelihood": "UNLIKELY",
"limits":
{
"maxFindingsPerRequest": 100
}
},
"actions":
[
{
"publishSummaryToCscc":
{
}
}
]
}
}
如要進一步瞭解可用的掃描選項,請參閱檢查儲存空間與資料庫以找出機密資料一文。
步驟 3:執行要求以啟動檢查工作
按照上述步驟設定工作後,請按一下「Execute」(執行)傳送要求。如果要求成功,回應會顯示在要求下方,且會顯示成功代碼和 JSON 物件,指示您建立的 Sensitive Data Protection 工作狀態。
檢查 Sensitive Data Protection 檢查掃描的狀態
掃描要求的回應包含檢查掃描工作的工作 ID ("name"
金鑰),以及檢查工作的目前狀態 ("state"
金鑰)。提交要求後,工作狀態會立即變成 "PENDING"
。
提交掃描要求之後,系統會立即開始掃描內容。
如要查看檢查工作的狀態,請按照下列步驟操作:
- 前往
dlpJobs.get
方法參考資料頁面的 APIs Explorer,方法是點選下列按鈕: - 在「name」(名稱) 方塊中,輸入掃描要求的 JSON 回應中的工作名稱,格式如下:
工作 ID 的格式為projects/PROJECT_ID/dlpJobs/JOB_ID
i-1234567890123456789
。 - 如要提交要求,請按一下 [Execute] (執行)。
如果回應 JSON 物件的 "state"
金鑰指示工作狀態為 "DONE"
,則表示檢查工作已完成。
如要查看其餘的回應 JSON,請向下捲動頁面。在 "result"
>
"infoTypeStats"
下,列出的每個資訊類型都應該有對應的
"count"
。如果沒有,請確認您輸入的 JSON 是否正確,以及資料的路徑與位置是否正確。
檢查工作完成後,您可以繼續閱讀本指南的下一節,在 Security Command Center 中查看掃描結果。
程式碼範例:檢查 Cloud Storage bucket
這個範例示範如何使用 DLP API 建立檢查工作,檢查 Cloud Storage 值區並將發現項目傳送至 Security Command Center。
C#
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
PHP
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
程式碼範例:檢查 BigQuery 資料表
這個範例示範如何使用 DLP API 建立檢查工作,檢查 BigQuery 表格並將結果傳送至 Security Command Center。
C#
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
PHP
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
程式碼範例:檢查 Datastore 種類
這個範例示範如何使用 DLP API 建立檢查工作,檢查 Datastore 種類並將發現項目傳送至 Security Command Center。
C#
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Go
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Java
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
PHP
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝及使用 Sensitive Data Protection 的用戶端程式庫,請參閱這篇文章。
如要驗證 Sensitive Data Protection,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
在 Security Command Center 查看 Sensitive Data Protection 掃描結果
由於您已指示 Sensitive Data Protection 將檢查工作結果傳送至 Security Command Center,因此現在可以在 Security Command Center 中查看檢查工作結果:
- 前往 Google Cloud 控制台的 Security Command Center「發現項目」頁面。
- 選取已啟用 Security Command Center 的機構。
在「Query editor」(查詢編輯器) 欄位中輸入以下內容,查詢資訊保護的發現項目。
state="ACTIVE" AND NOT mute="MUTED" AND (parent_display_name="Sensitive Data Protection" OR parent_display_name="Cloud Data Loss Prevention")
如要進一步瞭解查詢編輯器,請參閱「在Google Cloud 控制台中編輯發現項目查詢」。
如果 Sensitive Data Protection 傳送了任何發現項目,這些項目會顯示在發現項目清單中。這份清單包含 Sensitive Data Protection 的所有發現項目,包括檢查作業和探索 (資料剖析) 作業的發現項目。
本指南中提供的操作說明只會開啟某些 Sensitive Data Protection 內建偵測工具。
- 如要進一步瞭解 Sensitive Data Protection 可偵測的其他內容,請參閱 InfoType 參考資料。
- 如要瞭解如何設定您的自訂 infoType 偵測工具,請參閱 建立自訂 InfoType 偵測工具。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取您在本主題中所用資源的相關費用,請按照下列指示操作:
刪除專案
如要避免付費,最簡單的方法就是按照本主題中提供的操作說明刪除您建立的專案。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
如果您使用此方法刪除專案,系統也會一併刪除您建立的 Sensitive Data Protection 工作和 Cloud Storage bucket。您不必遵循下列章節中的操作說明進行操作。
刪除 Sensitive Data Protection 工作
如果您掃描自己的資料,則只需刪除您建立的檢查工作:
- 前往
dlpJobs.delete
方法參考資料頁面的 APIs Explorer,方法是點選下列按鈕: - 在「name」(名稱) 方塊中,輸入掃描要求的 JSON 回應中的工作名稱,格式如下:
工作 ID 的格式為projects/PROJECT_ID/dlpJobs/JOB_ID
i-1234567890123456789
。
如果您建立了其他檢查工作,或只是想要確認是否已成功刪除工作,可以列出所有現有工作:
- 前往
dlpJobs.list
方法參考資料頁面的 APIs Explorer,方法是點選下列按鈕: - 在「parent」(父項) 方塊中,輸入專案 ID,格式如下:
projects/PROJECT_ID
- 按一下 [Execute] (執行)。
如果回應中未列出任何工作,則表示您已刪除所有工作。如果回應中列出了工作,請針對這些工作重複刪除程序。
刪除 Cloud Storage 值區
如果您建立了新的 Cloud Storage bucket 來保存範例資料,請刪除 bucket:
- 開啟 Cloud Storage 瀏覽器。
- 在 Cloud Storage 瀏覽器中,選取您建立的值區名稱旁邊的核取方塊,然後按一下 [Delete] (刪除)。
後續步驟
- 進一步瞭解 Sensitive Data Protection 中的
publishSummaryToCscc
動作 。 - 進一步瞭解如何使用 Sensitive Data Protection 掃描儲存空間存放區以找出機密資料。
- 瞭解如何使用 Security Command Center。