对 Cloud DLP API 进行身份验证

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

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

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

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

  1. 按照说明为您的 Google Cloud Console 项目创建 API 密钥
  2. 在发出任何 Cloud DLP API 请求时,将您的密钥作为 key 参数的值传递。例如:
    curl https://dlp.googleapis.com/v2/infoTypes?key=[YOUR_API_KEY]

请务必保护您的 API 密钥以防止未经授权的使用。如需关于如何执行此操作的建议,请参阅安全使用 API 密钥的最佳做法

使用服务帐号

要使用服务帐号对 Cloud DLP API 进行身份验证,请执行以下操作:

  • 按照相关说明创建服务帐号。选择 JSON 作为密钥类型,并授予用户 DLP User 角色 (roles/dlp.user)。

如需详细了解如何为服务帐号授予角色,请参阅为服务帐号授予角色

创建完毕后,您的服务帐号密钥将下载到浏览器的默认位置。

接下来,决定是以不记名令牌的形式提供服务帐号身份验证,还是使用应用默认凭据

使用服务帐号的不记名令牌

如果您直接调用 Cloud DLP API(例如使用 cURL 发出 HTTP 请求),将会在 HTTP Authorization 请求标头中以不记名令牌的形式传递身份验证。要使用您的服务帐号获取不记名令牌,请执行以下操作:

  1. 安装 gcloud 命令行工具
  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'

应用默认凭据

如果您使用客户端库来调用 Cloud DLP API,请使用应用默认凭据 (ADC)。

使用 ADC 的服务会在 GOOGLE_APPLICATION_CREDENTIALS 环境变量中查找凭据。除非您希望 ADC 使用其他凭据(如用户凭据),否则请将此环境变量设置为指向您的服务帐号密钥文件。

export GOOGLE_APPLICATION_CREDENTIALS=[PATH_TO_KEY_FILE]