您必须先对 DLP API 进行身份验证,才能使用该 API。DLP API 可以处理 API 密钥和身份验证。这两种方法的主要区别如下:
- API 密钥可识别正在调用 API 的调用方项目(应用或网站)。
- 身份验证令牌可识别正在使用项目的用户(人员)。
对未经身份验证的访问使用 API 密钥
对于某些方法(包括所有 projects.content.*
和 projects.image.*
方法),您可以使用 Google Cloud 控制台 API 密钥对 DLP API 进行身份验证。
- 按照说明为您的 Google Cloud 控制台项目创建 API 密钥。
- 在发出任何 DLP API 请求时,将您的密钥作为
key
参数的值传递。例如:curl https://dlp.googleapis.com/v2/infoTypes?key=[YOUR_API_KEY]
请务必保护您的 API 密钥以防止未经授权的使用。如需关于如何执行此操作的建议,请参阅安全使用 API 密钥的最佳做法。
使用服务账号
要使用服务账号向 DLP API 进行身份验证,请执行以下操作:
- 按照相关说明创建服务账号。选择 JSON 作为密钥类型,并授予用户 DLP User 角色 (roles/dlp.user)。
要详细了解如何向服务账号授予角色,请参阅向服务账号授予角色。
创建完毕后,您的服务账号密钥将下载到浏览器的默认位置。
接下来,决定是以不记名令牌的形式提供服务账号身份验证,还是使用应用默认凭据。
使用服务账号的不记名令牌
如果您直接调用 DLP API(例如使用 cURL 发出 HTTP 请求),您将在 HTTP Authorization 请求标头中以不记名令牌的形式传递身份验证。要使用您的服务账号获取不记名令牌,请执行以下操作:
- 安装 Google Cloud CLI。
- 向您的服务账号进行身份验证,将下面的 [KEY_FILE] 替换为指向服务账号密钥文件的路径:
gcloud auth activate-service-account --key-file [KEY_FILE]
- 使用您的服务账号获取授权令牌:
该命令会返回一个访问令牌值。gcloud auth print-access-token
- 调用 API 时,在
Authorization
标头中将令牌值以bearer
令牌形式传递:curl -s -H 'Content-Type: application/json' \ -H 'Authorization: Bearer [ACCESS_TOKEN]' \ 'https://dlp.googleapis.com/v2/infoTypes'
应用默认凭据
如果您使用客户端库来调用 DLP API,请使用应用默认凭据 (ADC)。
使用 ADC 的服务会在 GOOGLE_APPLICATION_CREDENTIALS
环境变量中查找凭据。除非您希望 ADC 使用其他凭据(如用户凭据),否则请将此环境变量设置为指向您的服务账号密钥文件。
export GOOGLE_APPLICATION_CREDENTIALS=[PATH_TO_KEY_FILE]
通过 Compute Engine 虚拟机使用 Sensitive Data Protection
如需通过虚拟机实例访问 DLP API,请在创建虚拟机时选择身份和 API 访问权限部分下的授予对所有 Cloud API 的完全访问权限。