本主题介绍 Sensitive Data Protection 中提供的去标识化方法(或称转换)。
去标识化方法的类型
应根据要去标识化的数据种类以及对数据进行去标识化的目的来选择使用的去标识化转换。Sensitive Data Protection 支持的去标识化方法分为以下几大类别:
- 隐去:删除检测到的全部或部分敏感值。
- 替换:使用指定的代理值替换检测到的敏感值。
- 遮罩:使用指定的代理字符(例如井号 (#) 或星号 (*))替换敏感值中的若干字符。
- 基于加密的令牌化:使用加密密钥加密原始敏感数据值。敏感数据保护支持多种类型的令牌化,包括可以逆转或“重标识”的转换。
- 分桶:使用某个范围或系列值替换敏感值来对其进行“泛化”处理。(例如,使用年龄范围来替换特定年龄值,或者使用“热”、“温”和“冷”替换相应范围内的温度值。)
- 日期偏移:将敏感日期值移动一段随机时间。
- 时间提取:提取或保留日期和时间值的指定部分。
本主题的其余部分将介绍各种不同类型的去标识化转换,并提供其使用示例。
转换方法
下表列出了 Sensitive Data Protection 提供的用于对敏感数据进行去标识化的转换:
转换 | 对象 | 说明 | 可以逆转1 | 参照完整性2 | 输入类型 |
---|---|---|---|---|---|
遮盖 | RedactConfig |
通过删除值来进行遮盖。 | 不限 | ||
替换 | ReplaceValueConfig |
使用给定值替换每个输入值。 | 不限 | ||
替换为字典 | ReplaceDictionaryConfig
|
将输入值替换为从字词列表中随机选择的值。 | 不限 | ||
使用 infoType 替换 | ReplaceWithInfoTypeConfig |
将输入值替换为其 infoType 的名称。 | 不限 | ||
使用字符遮罩 | CharacterMaskConfig |
通过将给定数量的字符替换为所指定的固定字符,全部或部分遮盖字符串。 | 不限 | ||
通过将输入值替换为加密哈希实现假名化 | CryptoHashConfig |
将输入值替换为由给定数据加密密钥生成的 32 字节十六进制字符串。请参阅假名化概念文档了解详情。 | ✔ | 字符串或整数 | |
通过替换为加密保留格式令牌实现假名化 | CryptoReplaceFfxFpeConfig |
使用 FFX 运算模式的保留格式加密 (FPE) 将输入值替换为长度相同的令牌或代理值。这样就能在具有长度格式验证的系统中使用输出。这对于必须保留字符串长度的旧系统很有用。重要提示:对于长度不等或长度超过 32 个字节的输入,请使用 CryptoDeterministicConfig 。
为确保安全,美国国家标准与技术研究院建议遵循以下限制:
|
✔ | ✔ | 具有有限字符数或长度统一的字符串或整数。字母表必须至少包含 2 个字符,且不得超过 95 个字符。 |
通过替换为加密令牌实现假名化 | CryptoDeterministicConfig |
使用合成初始化矢量模式下的 AES (AES-SIV) 将输入值替换为长度相同的令牌或代理值。与保留格式令牌化不同,此转换方法对受支持的字符串字符集没有任何限制,为相同输入值的每个实例生成相同令牌,并在给定原始加密密钥的情况下使用代理来启用重标识。 | ✔ | ✔ | 不限 |
基于固定大小范围的分桶值 | FixedSizeBucketingConfig |
将输入值替换为输入值所在的分桶(或范围)的值。 | 不限 | ||
基于自定义大小范围的分桶值 | BucketingConfig |
根据用户可配置的范围和替换值将输入值替换为分桶值。 | 不限 | ||
日期偏移 | DateShiftConfig |
按随机天数偏移日期,可使同一上下文保持一致。 | ✔ 保留顺序和持续时间 |
日期/时间 | |
提取时间数据 | TimePartConfig |
提取或保留 Date 、Timestamp 和 TimeOfDay 值的一部分。 |
日期/时间 |
脚注
content.reidentify
方法重新标识敏感数据。
隐去
如果只想从输入内容中移除敏感数据,Sensitive Data Protection 支持隐去转换(DLP API 中的 RedactConfig
)。
例如,假设您要对所有 EMAIL_ADDRESS
infoType 执行简单的隐去处理,且下列字符串已发送到敏感数据保护:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
返回的字符串如下:
My name is Alicia Abernathy, and my email address is .
多种语言的以下 JSON 示例和代码演示了如何构建 API 请求以及 DLP API 会返回哪些内容。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需详细了解如何将 DLP API 与 JSON 结合使用,请参阅 JSON 快速入门。
HTTP 方法和网址
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
将 PROJECT_ID
替换为项目 ID。
JSON 输入
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
JSON 输出
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
替换
替换转换使用给定令牌值或其 infoType 的名称替换每个输入值。
基本替换
基本替换转换(DLP API 中的 ReplaceValueConfig
)会使用您指定的值替换检测到的敏感数据值。例如,假设您已让敏感数据保护功能使用“[fake@example.com]”替换所有检测到的 EMAIL_ADDRESS
infoType,且下列字符串已发送到敏感数据保护功能:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
返回的字符串如下:
My name is Alicia Abernathy, and my email address is [fake@example.com].
多种语言的以下 JSON 示例和代码演示了如何构建 API 请求以及 DLP API 会返回哪些内容。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需详细了解如何将 DLP API 与 JSON 结合使用,请参阅 JSON 快速入门。
HTTP 方法和网址
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
将 PROJECT_ID
替换为项目 ID。
JSON 输入
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
JSON 输出
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is [email-address]."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"replaceConfig":{
"newValue":{
"stringValue":"[email-address]"
}
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
字典替换
字典替换 (ReplaceDictionaryConfig
) 会将检测到的每项敏感数据替换为敏感数据保护功能从您提供的字词列表中随机选择的值。如果您想使用逼真的代理值,此转换方法非常有用。
假设您希望 Sensitive Data Protection 检测电子邮件地址,并将每个检测到的值替换为三个代理电子邮件地址之一。
您将以下输入字符串以及替代电子邮件地址列表发送到敏感数据保护功能:
输入字符串
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
字词列表
- izumi@example.com
- alex@example.com
- tal@example.com
返回的字符串可以是以下任一项:
My name is Alicia Abernathy, and my email address is izumi@example.com.
My name is Alicia Abernathy, and my email address is alex@example.com.
My name is Alicia Abernathy, and my email address is tal@example.com.
下面的 JSON 示例演示了如何创建 API 请求以及 DLP API 会返回哪些内容。
要详细了解如何将 DLP API 与 JSON 结合使用,请参阅 JSON 快速入门。
HTTP 方法和网址
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
将 PROJECT_ID
替换为项目 ID。
JSON 输入
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig": {
"infoTypeTransformations": {
"transformations": [
{
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
],
"primitiveTransformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
}
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
}
]
}
}
JSON 输出
{
"item": {
"value": "My name is Alicia Abernathy, and my email address is izumi@example.com."
},
"overview": {
"transformedBytes": "22",
"transformationSummaries": [
{
"infoType": {
"name": "EMAIL_ADDRESS"
},
"transformation": {
"replaceDictionaryConfig": {
"wordList": {
"words": [
"izumi@example.com",
"alex@example.com",
"tal@example.com"
]
}
}
},
"results": [
{
"count": "1",
"code": "SUCCESS"
}
],
"transformedBytes": "22"
}
]
}
}
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
infoType 替换
您还可以指定 infoType 替换(DLP API 中的 ReplaceWithInfoTypeConfig
)。此转换与基本替换转换的作用相同,但它使用检测到的值的 infoType 替换检测到的每个敏感数据值。
例如,假设您已让敏感数据保护功能检测电子邮件地址和姓氏,并使用值的 infoType 替换每个检测到的值。您将以下字符串发送到敏感数据保护:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
返回的字符串如下:
My name is Alicia LAST_NAME, and my email address is EMAIL_ADDRESS.
遮盖
您可以将 Sensitive Data Protection 配置为使用固定的单个遮盖字符(例如星号 (*) 或井号 (#)替换每个字符,以完全或部分遮盖检测到的敏感值(DLP API 中的 CharacterMaskConfig
)。可以从字符串的开头或结尾开始遮盖。此转换也适用于数字类型,例如长整数。
Sensitive Data Protection 的遮盖转换提供了如下可以指定的选项:
- 遮盖字符(DLP API 中的
maskingCharacter
参数):用于遮盖敏感值中每个字符的字符。例如,您可以指定用星号 (*) 或美元符号 ($) 来遮盖信用卡号中的一连串数字。 - 需要遮盖的字符数 (
numberToMask
):如果未指定此值,将遮盖所有字符。 - 是否逆转顺序 (
reverseOrder
):是否按反向顺序遮盖字符。如果逆转顺序,将从匹配值的末尾朝着开头遮盖值中的字符。 - 需要忽略的字符 (
charactersToIgnore
):遮盖值时要跳过的一个或多个字符。例如,您可以让敏感数据保护在遮盖电话号码时保留连字符。您还可以指定一组要在遮盖时忽略的常见字符 (CharsToIgnore
)。
假设您将以下字符串发送到敏感数据保护,并指示其对电子邮件地址使用字符遮盖转换:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
在将遮盖字符发送到“#”,要忽略的字符设置为公共字符集,其他字符设置为默认设置后,敏感数据保护返回以下内容:
My name is Alicia Abernathy, and my email address is ##########@#######.###.
以下 JSON 和代码示例演示了遮盖转换的工作原理。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
REST
如需详细了解如何将 DLP API 与 JSON 结合使用,请参阅 JSON 快速入门。
HTTP 方法和网址
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
将 PROJECT_ID
替换为项目 ID。
JSON 输入
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"reverseOrder":false,
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
JSON 输出
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ##########@#######.###."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"characterMaskConfig":{
"maskingCharacter":"#",
"charactersToIgnore":[
{
"charactersToSkip":".@"
}
]
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
基于加密的令牌化转换
基于加密的令牌化(也称为“假名化”)转换是指将原始敏感数据值替换为加密值的去标识化方法。Sensitive Data Protection 支持以下类型的令牌化,包括可以逆转并允许重标识的转换:
- 加密哈希:在给定
CryptoKey
的情况下,敏感数据保护功能会对输入值使用基于 SHA-256 的消息身份验证代码 (HMAC-SHA-256),然后将输入值替换为以 base64 编码的哈希值。与其他类型的基于加密的转换不同,此类转换不可逆。 - 保留格式加密:使用 FFX 运算模式的保留格式加密 (FPE) 生成令牌替换输入值。此转换方法会生成一个令牌,该令牌被限制为与输入值的字母系统相同,并且与输入值的长度相同。FPE 还支持在给定原始加密密钥的情况下进行重标识。
- 确定性加密:使用合成初始化矢量模式下的 AES (AES-SIV) 生成令牌替换输入值。此转换方法对受支持的字符串字符集没有任何限制,为相同输入值的每个实例生成相同令牌,并使用代理在给定原始加密密钥的情况下启用重标识。
加密哈希
加密哈希转换(DLP API 中的 CryptoHashConfig
)会获取输入值(Sensitive Data Protection 检测到的敏感数据)并将其替换为哈希值。哈希值是通过利用 CryptoKey
对输入值应用基于 SHA-256 的消息身份验证代码 (HMAC-SHA-256) 生成的。
敏感数据保护功能会输出以 base64 编码表示的哈希输入值来替换原始值。
在使用加密哈希技术转换之前,需要考虑以下方面:
- 输入值使用哈希处理,而不是加密。
- 此转换无法逆转。也就是说,即使给定转换的哈希输出值和原始密钥,也无法恢复原始值。
- 目前,只能对字符串和整数值进行哈希处理。
- 转换的哈希输出始终具有相同长度,具体取决于密钥的大小。例如,如果您对 10 位电话号码使用加密哈希技术转换,每个电话号码都将被替换为固定长度的 base64 编码的哈希值。
保留格式加密
保留格式加密 (FPE) 转换方法(DLP API 中的 CryptoReplaceFfxFpeConfig
)会获取输入值(敏感数据保护功能检测到的敏感数据),使用 FFX 模式下的保留格式加密和 CryptoKey
对其进行加密,然后使用加密值或令牌替换原始值。
输入值需满足以下条件:
- 必须至少具有两个字符(或为空字符串)。
- 必须是 ASCII 编码字符。
- 由按“字母表”指定的字符组成,“字母表”是指允许在输入值中使用的 2 到 95 个字符的集合。如需了解详情,请参阅
CryptoReplaceFfxFpeConfig
中的字母表字段。
生成的令牌:
- 是加密的输入值。
- 加密后保留输入值的字符集(“字母表”)和长度。
- 使用指定加密密钥通过 FFX 模式的保留格式加密计算得出。
- 不一定是唯一的,因为每个相同的输入值在去标识化后都得到相同的令牌。这实现了参照完整性,可以更高效地搜索去标识化数据。 如上下文中所述,您可以使用上下文“调整”来更改此行为。
如果源内容中的一个输入值存在多个实例,则每个实例都将被去标识化为相同令牌。FPE 会保留长度和字母表空间(字符集),字母表空间被限制为 95 个字符。您可以使用上下文“调整”来更改此行为,这可以提高安全性。通过向转换添加上下文调整,敏感数据保护功能可以将相同输入值的多个实例去标识化为不同的令牌。如果您不需要保留原始值的长度和字母表空间,请使用确定性加密,如下所述。
敏感数据保护功能使用加密密钥计算替换令牌。您可通过下述三种方式之一提供此密钥:
- 将其嵌入 API 请求但不加密。不过,我们不建议您这样做。
- 请求 Sensitive Data Protection 生成该密钥。
- 将其嵌入 API 请求并加密。
如果您选择将密钥嵌入 API 请求中,则需要使用 Cloud Key Management Service (Cloud KMS) 密钥创建密钥并对其进行封装(加密)。如需了解详情,请参阅创建封装的密钥。返回的值默认为一个 base64 编码的字符串。如需在敏感数据保护中设置此值,必须将其解码为字节字符串。以下代码段重点介绍了如何使用多种语言执行此操作。 在这些代码段之后,还提供了端到端示例。
Java
KmsWrappedCryptoKey.newBuilder()
.setWrappedKey(ByteString.copyFrom(BaseEncoding.base64().decode(wrappedKey)))
Python
# The wrapped key is base64-encoded, but the library expects a binary
# string, so decode it here.
import base64
wrapped_key = base64.b64decode(wrapped_key)
PHP
// Create the wrapped crypto key configuration object
$kmsWrappedCryptoKey = (new KmsWrappedCryptoKey())
->setWrappedKey(base64_decode($wrappedKey))
->setCryptoKeyName($keyName);
C#
WrappedKey = ByteString.FromBase64(wrappedKey)
如需详细了解如何使用 Cloud KMS 加密和解密数据,请参阅加密和解密数据。
保留格式加密示例:去标识化
此示例使用 CryptoReplaceFfxFpeConfig
转换方法对敏感数据进行去标识化处理。如需了解详情,请参阅本页面上的保留格式加密。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:使用代理类型进行去标识化
此示例使用 CryptoReplaceFfxFpeConfig
转换方法对敏感数据进行去标识化处理。如需了解详情,请参阅本页面上的保留格式加密。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:对表格中的敏感数据进行去标识化
此示例使用 CryptoReplaceFfxFpeConfig
转换方法对表中的敏感数据进行去标识化处理。如需了解详情,请参阅本页面上的保留格式加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:重标识
下面是多种语言的示例代码,演示了如何使用敏感数据保护功能重新识别通过 CryptoReplaceFfxFpeConfig
转换方法去标识化的敏感数据。如需了解详情,请参阅本页上的保留格式加密。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:文本的重标识
下面是多种语言的示例代码,演示了如何使用敏感数据保护功能重新识别通过 CryptoReplaceFfxFpeConfig
转换方法去标识化的敏感文本。如需了解详情,请参阅本页上的保留格式加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:使用代理类型重标识
下面是多种语言的示例代码,演示了如何使用敏感数据保护功能重新识别通过 CryptoReplaceFfxFpeConfig
转换方法去标识化的敏感数据。如需了解详情,请参阅本页上的保留格式加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
保留格式加密示例:对表格中的敏感数据进行重标识
下面是多种语言的示例代码,演示了如何使用敏感数据保护功能重新识别通过 CryptoReplaceFfxFpeConfig
转换方法去标识化的表格中的敏感数据。如需了解详情,请参阅本页上的保留格式加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
确定性加密
DLP API 中的确定性加密转换方法 CryptoDeterministicConfig
会获取输入值(敏感数据保护功能检测到的敏感数据),使用 AES-SIV 和 CryptoKey
对其进行加密,然后使用以 base64 编码表示的加密值替换原始值。
使用确定性加密转换可以更高效地搜索加密数据。
输入值需满足以下条件:
- 长度不得少于 1 个字符。
- 没有字符集限制。
生成的令牌:
- 是以 base64 编码表示的加密值。
- 加密后不保留输入值的字符集(“alphabet”)或长度。
- 使用
CryptoKey
通过 SIV 模式的 AES 加密 (AES-SIV) 计算得出。 - 不一定是唯一的,因为每个相同的输入值在去标识化后都得到相同的令牌。这样可以更高效地搜索加密数据。如上下文中所述,您可以使用上下文“调整”来更改此行为。
- 生成时添加了前缀,形式为
[SURROGATE_TYPE]([LENGTH]):
,其中[SURROGATE_TYPE]
表示用于说明输入值的代理 infoType,[LENGTH]
指示其字符长度。借助代理,可使用用于去标识化的原始加密密钥来重标识令牌。
以下是使用确定性加密进行去标识化的 JSON 配置示例。请注意,由于我们是对电话号码进行去标识化,所以选择使用“PHONE_SURROGATE”作为描述性代理类型。
[CRYPTO_KEY]
表示从 Cloud KMS 中获取的未封装的加密密钥。
{
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
]
},
"item":{
"value":"My phone number is 206-555-0574, call me"
}
}
使用此转换对字符串“My phone number is 206-555-0574”进行去标识化会产生去标识化的字符串,如下所示:
My phone number is PHONE_SURROGATE(36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me
如需重标识此字符串,您可以使用如下所示的 JSON 请求,其中 [CRYPTO_KEY] 是用于对内容进行去标识化的同一加密密钥。
{
"reidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"PHONE_SURROGATE"
}
],
"primitiveTransformation":{
"cryptoDeterministicConfig":{
"cryptoKey":{
"unwrapped":{
"key":"[CRYPTO_KEY]"
}
},
"surrogateInfoType":{
"name":"PHONE_SURROGATE"
}
}
}
}
]
}
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"PHONE_SURROGATE"
},
"surrogateType":{
}
}
]
},
"item":{
"value":"My phone number is [PHONE_SURROGATE](36):ATZBu5OCCSwo+e94xSYnKYljk1OQpkW7qhzx, call me"
}
}
重标识此字符串会生成原始字符串:
My phone number is 206-555-0574, call me
如果您想改用封装(加密)的 CryptoKey
来提高安全性,请参阅快速入门:对敏感文本进行去标识化和重标识中的示例。当您准备好使用客户端库对内容进行去标识化时,请务必解码封装的密钥(默认为 base64 编码的字符串),如本页面的保留格式加密中所示。
确定性加密示例:去标识化
此示例使用 CryptoDeterministicConfig
转换方法对敏感数据进行去标识化处理。如需了解详情,请参阅本页上的确定性加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
确定性加密示例:重标识
此示例演示了如何重新识别通过 CryptoDeterministicConfig
转换方法去标识化的敏感数据。如需了解详情,请参阅本页上的确定性加密。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
分桶
分桶转换用于通过将数值数据“分桶”到不同范围来对其进行去标识化处理。生成的数字范围是一个带连字符的字符串,由下限、连字符和上限组成。
固定大小的分桶
敏感数据保护可以根据固定大小的范围(DLP API 中的 FixedSizeBucketingConfig
)对数字输入值进行分桶。您可以指定以下内容以配置固定大小的分桶:
- 所有分桶的下限值。任何小于此下限的值都将全部分组到一个分桶中。
- 所有分桶的上限值。任何大于此上限的值都将全部分组到一个分桶中。
- 每个分桶的大小(最小和最大分桶除外)。
例如,如果下限设置为 10,上限设置为 89,分桶大小设置为 10,则将使用以下分桶:-10、10-20、20-30、30-40、40-50、50-60、60-70、70-80、80-89、89+。
要详细了解分桶的概念,请参阅泛化和分桶。
可自定义的分桶
与固定大小的分桶相比,可自定义的分桶(DLP API 中的 BucketingConfig
)具有更大的灵活性。您无需指定上限值、下限值和用于创建等大分桶的间隔值,而只需为要创建的每个分桶指定最大值和最小值。每个最大值和最小值对必须具有相同类型。
可以通过指定各个分桶来设置可自定义的分桶。每个分桶具有以下属性:
- 分桶范围的下限。省略此值可创建没有下限的分桶。
- 分桶范围的上限。省略此值可创建没有上限的分桶。
- 此分桶范围的替换值。该值用于替换介于下限与上限之间的所有检测到的值。 如果未提供替换值,则会生成带连字符的最小-最大范围。
例如,请考虑以下针对此分桶转换的 JSON 配置:
"bucketingConfig":{
"buckets":[
{
"min":{
"integerValue":"1"
},
"max":{
"integerValue":"30"
},
"replacementValue":{
"stringValue":"LOW"
}
},
{
"min":{
"integerValue":"31"
},
"max":{
"integerValue":"65"
},
"replacementValue":{
"stringValue":"MEDIUM"
}
},
{
"min":{
"integerValue":"66"
},
"max":{
"integerValue":"100"
},
"replacementValue":{
"stringValue":"HIGH"
}
}
]
}
这会定义以下行为:
- 遮盖 1 至 30 的整数值的方式是将它们替换为
LOW
。 - 遮盖 31 至 65 的整数值的方式是将它们替换为
MEDIUM
。 - 66 至 100 之间的整数值替换为
HIGH
,从而进行遮罩。
要详细了解分桶的概念,请参阅泛化和分桶。
日期偏移
在对日期输入值使用日期偏移转换(DLP API 中的 DateShiftConfig
)时,敏感数据保护功能会按随机天数偏移日期。
日期偏移技术会随机偏移一组日期,但保留一段时间内的顺序和持续时间。通常在个人或实体的上下文中完成偏移日期。也就是说,您要按同一偏移差分偏移特定个人的所有日期,但对每个人使用不同的偏移差分。
要详细了解日期偏移,请参阅日期偏移。
下面是多种语言的示例代码,演示了如何通过 Cloud DLP API 使用日期偏移对日期进行去标识化。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
时间提取
执行时间提取(DLP API 中的 TimePartConfig
)对象会保留日期、时间或时间戳匹配值的一部分。您应向敏感数据保护功能指定要提取的时间值类型,包括年、月、日等(在 TimePart
对象中枚举)。
例如,假设您已通过将要提取的时间部分设为 YEAR
来配置 timePartConfig
转换。在将下方第一列中的数据发送到敏感数据保护功能后,您最终将获得第二列中显示的转换后的值:
原始值 | 转换后的值 |
---|---|
9/21/1976 |
1976 |
6/7/1945 |
1945 |
1/20/2009 |
2009 |
7/4/1776 |
1776 |
8/1/1984 |
1984 |
4/21/1982 |
1982 |
C#
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
PHP
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装和使用敏感数据保护客户端库,请参阅 敏感数据保护客户端库。
如需向 Sensitive Data Protection 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。