向 DLP API 进行身份验证

您必须向 DLP API 进行身份验证才能使用它。DLP API 可以处理 API 密钥和身份验证。这两种方法的主要区别如下:

  • API 密钥可识别正在调用 API 的调用方项目(应用或网站)。
  • 身份验证令牌可识别正在使用项目的用户(人员)。

对未经身份验证的访问使用 API 密钥

对于某些方法(包括所有 projects.content.*projects.image.* 方法),您可以使用 Google Cloud 控制台 API 密钥向 DLP API 进行身份验证。

  1. 按照说明为您的 Google Cloud 控制台项目创建 API 密钥
  2. 在发出任何 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 请求标头中以不记名令牌的形式传递身份验证。要使用您的服务账号获取不记名令牌,请执行以下操作:

  1. 安装 Google Cloud CLI
  2. 向您的服务账号进行身份验证,将下面的 [KEY_FILE] 替换为指向服务账号密钥文件的路径:
    gcloud auth activate-service-account --key-file [KEY_FILE]
  3. 使用您的服务账号获取授权令牌:
    gcloud auth print-access-token
    该命令会返回一个访问令牌值。
  4. 调用 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 虚拟机的敏感数据保护功能

如需从虚拟机实例访问 DLP API,请在创建虚拟机时选择身份和 API 访问权限部分下的允许所有 Cloud API 的全面访问权限