本文档介绍了如何创建、获取、列出、更新和删除内容政策。如需详细了解内容政策,请参阅内容政策概览。
所需的角色
如需获得创建和管理内容政策所需的权限,请让您的管理员为您授予项目的 DLP Administrator (roles/dlp.admin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建和管理内容政策所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理内容政策,需要具备以下权限:
-
dlp.contentPolicies.create -
dlp.contentPolicies.update -
dlp.contentPolicies.list -
dlp.contentPolicies.get -
dlp.contentPolicies.delete
如果您计划将内容政策应用于 Gemini Enterprise 连接器和应用或 Gemini Notebook Enterprise 笔记本,则还必须向 Gemini Enterprise 服务账号授予 DLP User (roles/dlp.user) 角色。如需了解详情,请参阅保护来源中的敏感数据。
准备工作
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Data Loss Prevention API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- 可选:如需将内容政策操作记录到 BigQuery 表中,请创建该表。如需了解导出日志的架构,请参阅
ContentPolicyActionLog。
创建内容政策
控制台
在 Google Cloud 控制台中,前往 Sensitive Data Protection 的内容政策页面。
选择您的项目。
点击创建。
在基本信息中,执行以下操作:
- 输入内容政策的名称。
- 可选。输入唯一的内容政策 ID。如果您未输入内容政策 ID,Sensitive Data Protection 会自动设置一个。
- 选择要存储内容政策的区域或多区域。
- 点击继续。
在检查配置中,执行以下操作:
选择要检测的内置或自定义 infoType。如需了解详情,请参阅通过Google Cloud 控制台管理 infoType。
如需使用现有的检查模板配置检测,请点击从模板导入,然后输入模板的完整资源名称。
可选。添加检查规则集。
点击即可显示说明
借助检查规则集,您可以使用上下文规则自定义内置和自定义的 infoType 检测器。检查规则的类型包括:
- 排除规则:有助于排除误报或不需要的结果。
- 热词规则:有助于检测其他发现结果。
- 调整规则:根据发现结果出现的上下文调整发现结果的可能性。
如需添加新规则集,请先在 InfoTypes 部分中指定一个或多个内置或自定义 infoType 检测器。选择规则集修改(目标 infoType)或用于评估(上下文 infoType)的所有 infoType 检测器。然后,执行以下操作:
- 点击添加规则集。
- 在选择目标 infoType 字段中,选择规则集在满足规则时修改的 infoType。
- 点击添加规则,打开包含多个选项的菜单,其中包括热词规则、排除规则和调整规则。
如需创建热词规则,请选择热词规则。然后,执行以下操作:
- 在热词字段中,输入 Sensitive Data Protection 要查找的正则表达式。
- 在热词邻近度菜单中,选择您输入的热词是在所选 infoType 之前还是之后找到的。
- 在热词与 infoType 的距离中,输入热词与所选 infoType 之间的大致字符数。
- 在置信度调整中,选择是为匹配项分配固定的可能性级别,还是将默认可能性级别提高或降低一定量。
如需创建排除规则,请选择排除规则和要创建的排除规则类型,例如正则表达式。然后,执行以下操作:
- 根据您选择的排除规则类型,输入必须找到的正则表达式、短语、启动指令或上下文 infoType,规则才能生效。
- 根据您选择的排除规则类型,设置匹配类型或图片包含类型:
- 如果您选择了基于文本的排除规则,请选择以下匹配类型之一:
- 完全匹配:发现结果必须与您提供的文本或上下文 infoType 完全匹配。
- Partial match(部分匹配):发现结果的子字符串必须与您提供的文本或上下文 infoType 相匹配。
- 反向匹配:发现结果不得与您提供的文本或上下文 infoType 相匹配。
- 如果您选择了基于图片的排除规则,请选择目标 infoType 与上下文 infoType 之间所需的空间关系。例如,如果您选择 Encloses,则上下文发现结果必须包含目标发现结果,规则才能适用。
如需创建调整规则,请选择调整规则和调整规则类型,例如根据图片检测结果进行调整。然后,执行以下操作:
- 在上下文 infoType 字段中,选择为目标发现结果提供上下文的 infoType 检测器。Sensitive Data Protection 使用上下文 infoType 来评估是否必须调整目标 infoType。
- 在最低可能性字段中,选择上下文 infoType 可以具有的最低可能性级别,以便仍能触发调整规则。如果任何检测到的上下文发现结果的可能性值低于此值,Sensitive Data Protection 不会调整目标发现结果的可能性。
- 对于图片发现,请在图片包含类型字段中,选择目标信息类型与上下文信息类型之间所需的空间关系。例如,如果您选择 Encloses,则上下文发现结果必须包含目标发现结果,规则才能适用。
- 在可能性字段中,选择要分配给目标发现结果的新可能性级别。
您可以添加更多规则集,以进一步优化扫描结果。
可选。设置要检测的发现结果的置信度阈值。如需了解详情,请参阅匹配可能性。
点击继续。
在政策规则中,添加政策规则以指定 Sensitive Data Protection 在检测到您在检查配置中指定的 infoType 时返回的判定结果(允许或禁止)。您可以添加单个政策规则,以便针对任何 infoType 返回相同的判定结果;也可以添加多个政策规则,以便针对不同的 infoType 返回不同的判定结果。 您必须为添加的每条政策规则设置条件。
如需添加政策规则,请执行以下操作:
- 点击添加政策规则。
- 选择要分配给 infoType 发现结果的判定:允许或禁止。
- 点击添加条件。根据您是否要为不同的 infoType 设置不同的判定结果,将条件类型设置为任何 infoType 或特定 infoType。
- 如果您选择了特定 infoType,请输入必须检测到的 infoType,以便 Sensitive Data Protection 返回您选择的判定结果。
- 如有需要,请添加更多政策规则及其相应条件。
- 点击继续。
可选。在默认操作中,指定在以下情况下要应用的判定:
- 要分配给不受支持的文件的判定。如需了解详情,请参阅支持的文件类型和扫描模式。
- 要分配给过大而无法扫描的支持文件的判决。
- 要分配给无法扫描的文件(例如损坏或加密的文件)的判定。
- 如果没有任何规则与扫描的内容匹配,则要分配的判定。
对于每种情况,默认判决均为
ALLOW。点击继续。
可选。在日志记录配置中,启用日志记录功能,以记录内容政策针对您扫描的数据做出的判决。执行以下操作:
- 选择将政策执行情况记录到 BigQuery。
- 输入现有 BigQuery 表的详细信息,Sensitive Data Protection 必须将结果记录到该表中。
点击创建。
REST
如需创建内容政策,请向projects.locations.contentPolicies.create 方法发送 POST 请求。请求正文定义了一个 content_policy 对象,其中包含检查配置和规则,这些规则可根据发现结果确定判决。
content_policy 对象具有以下属性:
{
"contentPolicy": {
"displayName": "DISPLAY_NAME",
"inspectConfig": {
"infoTypes": [
{
"name": "INFOTYPE_DETECTOR"
}
],
"ruleSet": "LIST_OF_RULES"
},
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "INFOTYPE_CONDITION_VERDICT"
}
}
],
"unsupportedFileType": {
"returnVerdict": "UNSUPPORTED_FILE_TYPE_VERDICT"
},
"inputTooLarge": {
"returnVerdict": "INPUT_TOO_LARGE_VERDICT"
},
"failedToScanSupportedFileType": {
"returnVerdict": "FAILED_TO_SCAN_VERDICT"
},
"defaultAction": {
"returnVerdict": "DEFAULT_ACTION_VERDICT"
},
"loggingConfigs": [
{
"logToBigQuery": {
"projectId": "LOG_PROJECT_ID",
"datasetId": "LOG_DATASET_ID",
"tableId": "LOG_TABLE_ID"
}
}
]
},
"contentPolicyId": "CONTENT_POLICY_ID"
}
替换以下内容:
DISPLAY_NAME:可选。内容政策的人类可读名称。INFOTYPE_DETECTOR:内置或自定义 infoType。LIST_OF_RULES:可选。检查规则列表,如修改 InfoType 检测器以优化扫描结果中所述。为简洁起见,此代码已截断。如需查看内容政策中的规则集定义示例,请参阅扩展示例。INFOTYPE_CONDITION_VERDICT:要分配给 infoType 发现结果的判定:ALLOW或BLOCK。UNSUPPORTED_FILE_TYPE_VERDICT:可选。要分配给不受支持的文件的判决:ALLOW或BLOCK。如需了解详情,请参阅支持的文件类型和扫描模式。INPUT_TOO_LARGE_VERDICT:可选。要分配给过大而无法扫描的支持文件的判决:ALLOW或BLOCK。FAILED_TO_SCAN_VERDICT:可选。要分配给无法扫描的文件(例如已损坏或加密的文件)的判定结果:ALLOW或BLOCK。DEFAULT_ACTION_VERDICT:可选。如果没有任何规则与扫描的内容匹配,则要分配的判定结果:ALLOW或BLOCK。LOG_PROJECT_ID:包含要写入的 BigQuery 表的项目的 ID。LOG_DATASET_ID:包含要写入的 BigQuery 表的数据集的 ID。LOG_TABLE_ID:要写入的 BigQuery 表的 ID。CONTENT_POLICY_ID:内容政策的唯一 ID。
如需查看示例响应,请参阅展开的示例。
获取内容政策的详细信息
控制台
在 Google Cloud 控制台中,前往 Sensitive Data Protection 的内容政策页面。
选择您的项目。
点击要查看的内容政策的资源名称。
在详情标签页中,查看内容政策的详细信息。
REST
如需获取内容政策,请向projects.locations.contentPolicies.get 方法发送 GET 请求。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:内容政策的存储区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:包含内容政策的项目的 ID。 -
CONTENT_POLICY_ID:要获取详细信息的内容政策的 ID。
HTTP 方法和网址:
GET https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies/CONTENT_POLICY_ID
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-credit-cards-policy",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "LIKELY",
"limits": {}
}
}
列出项目中的所有内容政策
控制台
在 Google Cloud 控制台中,前往 Sensitive Data Protection 的内容政策页面。
选择您的项目。 系统会显示项目中的内容政策列表。
REST
如需列出项目中的内容政策,请向projects.locations.contentPolicies.list 方法发送 LIST 请求。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:您要列出的内容政策的存储区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:包含要列出的内容政策的项目的 ID。
HTTP 方法和网址:
GET https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"contentPolicies": [
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-credit-cards-policy",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "LIKELY",
"limits": {}
}
},
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-pii",
...
}
]
}更新内容政策
控制台
在 Google Cloud 控制台中,前往 Sensitive Data Protection 的内容政策页面。
选择您的项目。
点击内容政策的资源名称以进行修改。
点击修改。
修改内容政策的详细信息。
REST
如需更新内容政策,请向projects.locations.contentPolicies.patch 方法发送 PATCH 请求。请求正文定义了更新后的 content_policy 对象。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:提供 Sensitive Data Protection 区域端点的区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如example-project。 -
CONTENT_POLICY_ID:要更新的内容政策的 ID。
HTTP 方法和网址:
PATCH https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies/CONTENT_POLICY_ID
请求 JSON 正文:
{
"contentPolicy": {
"displayName": "displayName",
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "LIKELY"
},
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
]
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-credit-cards-policy",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "LIKELY",
"limits": {}
}
}
删除内容政策
控制台
在 Google Cloud 控制台中,前往 Sensitive Data Protection 的内容政策页面。
选择您的项目。
选择要删除的内容政策。
点击删除。
REST
如需删除内容政策,请向projects.locations.contentPolicies.delete 方法发送 DELETE 请求。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:内容政策的存储区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:包含内容政策的项目的 ID。 -
CONTENT_POLICY_ID:要删除的内容政策的 ID。
HTTP 方法和网址:
DELETE https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies/CONTENT_POLICY_ID
如需发送您的请求,请展开以下选项之一:
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
REST 示例
以下 REST 示例展示了如何使用 REST API 创建内容政策。
简单示例
以下示例创建了一项政策,用于识别可能性为 POSSIBLE 或更高级别的 CREDIT_CARD_NUMBER 检测结果。如果发现信用卡号,Sensitive Data Protection 会返回 BLOCK 判定。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:提供 Sensitive Data Protection 区域端点的区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如example-project。
HTTP 方法和网址:
POST https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies
请求 JSON 正文:
{
"contentPolicy": {
"displayName": "displayName",
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "POSSIBLE"
},
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
]
},
"contentPolicyId": "block-credit-cards-policy"
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-credit-cards-policy",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "POSSIBLE",
"limits": {}
}
}展开的示例
以下示例创建了一项政策,用于识别可能性为 POSSIBLE 或更高级别的 CREDIT_CARD_NUMBER 检测结果。它包含一条热词规则,如果发现结果附近检测到字词 credit card,则将发现结果的可能性值提升到 VERY_LIKELY。
- 如果 Sensitive Data Protection 检测到可能的卡号,则会返回
BLOCK判定结果。 - 如果待扫描的文件不受支持、过大、已损坏、已加密或无法扫描,Sensitive Data Protection 会返回
BLOCK判定结果。 - 如果没有规则与扫描的内容匹配,Sensitive Data Protection 会返回
ALLOW判定结果。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:提供 Sensitive Data Protection 区域端点的区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如example-project。
HTTP 方法和网址:
POST https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies
请求 JSON 正文:
{
"contentPolicy": {
"displayName": "displayName",
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"ruleSet": [
{
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"rules": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "credit\\scard"
},
"proximity": {
"windowBefore": 10,
"windowAfter": 10
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_LIKELY"
}
}
}
]
}
]
},
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"unsupportedFileType": {
"returnVerdict": "BLOCK"
},
"inputTooLarge": {
"returnVerdict": "BLOCK"
},
"failedToScanSupportedFileType": {
"returnVerdict": "BLOCK"
},
"defaultAction": {
"returnVerdict": "ALLOW"
}
},
"contentPolicyId": "block-credit-cards-policy"
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/example-project/locations/us-west2/contentPolicies/block-credit-cards-policy",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"limits": {},
"ruleSet": [
{
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"rules": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "credit\\scard"
},
"proximity": {
"windowBefore": 10,
"windowAfter": 10
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_LIKELY"
}
}
}
]
}
]
},
"unsupportedFileType": {
"returnVerdict": "BLOCK"
},
"inputTooLarge": {
"returnVerdict": "BLOCK"
},
"failedToScanSupportedFileType": {
"returnVerdict": "BLOCK"
},
"defaultAction": {
"returnVerdict": "ALLOW"
}
}包含元数据标签扫描的示例
以下示例指示 Sensitive Data Protection 扫描信用卡号和具有键 MSIP_Label_12345-12345-1234-12345_Enabled 的元数据标签。如果发现任何敏感数据,Sensitive Data Protection 会返回 BLOCK 判定。
如需详细了解元数据标签扫描,请参阅创建自定义元数据标签检测器。
在使用任何请求数据之前,请先进行以下替换:
-
REGION:提供 Sensitive Data Protection 区域端点的区域,例如us-west2。如需查看完整的区域列表,请参阅 Sensitive Data Protection 位置。 -
PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串,例如example-project。
HTTP 方法和网址:
POST https://dlp.REGION.rep.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/contentPolicies
请求 JSON 正文:
{
"contentPolicy": {
"displayName": "displayName",
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"customInfoTypes": [
{
"infoType": {
"name": "CUSTOM_MSIP1"
},
"likelihood": "VERY_LIKELY",
"fileLabelInfoType": {
"sensitivityLabel": {
"guid": "12345678-1234-1234-1234-123456789012"
}
}
}
],
"minLikelihood": "POSSIBLE"
},
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
]
},
"contentPolicyId": "block-credit-cards-policy-metadata-scanning"
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/example-project/locations/us-west1/contentPolicies/block-credit-cards-policy-metadata-scanning",
"rules": [
{
"conditions": [
{
"infoTypeCondition": {
"anyInfoType": {}
}
}
],
"action": {
"returnVerdict": "BLOCK"
}
}
],
"inspectConfig": {
"infoTypes": [
{
"name": "CREDIT_CARD_NUMBER"
}
],
"minLikelihood": "POSSIBLE",
"limits": {},
"customInfoTypes": [
{
"infoType": {
"name": "CUSTOM_MSIP1"
},
"likelihood": "VERY_LIKELY",
"fileLabelInfoType": {
"sensitivityLabel": {
"guid": "12345678-1234-1234-1234-123456789012"
}
}
}
]
}
}后续步骤
- 了解内容政策。