进行身份验证以调用 Cloud Functions 函数

作为开发者,您可以编写提供 HTTP 端点的 Cloud Functions 函数。您可以使用 ABAP SDK 类 /GOOG/CL_CLOUDFUNC_INVOKER 的 HTTP 端点来调用 Cloud Functions 函数。

该过程涉及使用 Cloud Functions 函数的名称和位置调用该函数来获取函数的 HTTP 端点。然后,此端点用于调用该函数。向 Cloud Functions 进行身份验证时,需要使用 ID 令牌来调用 HTTP 端点。

简要配置步骤如下:

启用 Google Cloud API

在 Google Cloud 控制台中,启用以下 Google Cloud API:

如需了解如何启用 Google Cloud API,请参阅启用 API

创建服务账号以获取 Cloud Functions 函数详细信息

  1. 在 Google Cloud 控制台中,创建 IAM 服务账号以获取 Cloud Functions 函数详细信息。

    转到“服务账号”

    如需了解如何创建服务账号,请参阅创建服务账号

  2. 向服务账号授予以下角色:

    如需查看相关说明,请参阅授予单个角色

创建另一个服务账号以调用 Cloud Functions 函数

  1. 在 Google Cloud 控制台中,创建一个专用服务账号来调用 Cloud Functions 函数。

    转到“服务账号”

    如需了解如何创建服务账号,请参阅创建服务账号

  2. 根据您正在调用的 Cloud Functions 函数的世代,向服务账号授予适当的角色:

    如需详细了解调用函数所需的权限,请参阅进行身份验证以便调用

设置对 Cloud Functions 函数的身份验证

根据 SAP 系统的托管环境,您可以使用以下方法之一设置基于令牌的身份验证来访问 Cloud Functions API:

在 Compute Engine 虚拟机上托管的 SAP 系统

如需了解如何设置身份验证以在 Compute Engine 虚拟机实例上托管 SAP 系统时访问 Cloud Functions API,请参阅使用访问令牌进行身份验证。使用您创建的服务账号配置客户端密钥以获取 Cloud Functions 函数详细信息。

在 Google Cloud 外部托管的 SAP RISE 或 SAP 系统

使用以下任一身份验证方法设置身份验证以访问 Cloud Functions API:

使用您创建的服务账号配置客户端密钥以获取 Cloud Functions 函数详细信息。

配置客户端密钥以调用 Cloud Functions 函数

根据 SAP 系统的托管环境,您可以为客户端密钥配置使用不同的值:

在 Compute Engine 虚拟机上托管的 SAP 系统

  1. 在 SAP GUI 中,执行事务代码 /GOOG/SDK_IMG

    或者,执行事务代码 SPRO,然后点击 SAP Reference IMG

  2. 点击 ABAP SDK for Google Cloud > 基本设置 > 配置客户端密钥

  3. 点击新建条目

  4. 输入以下字段的值:

    字段 说明
    Google Cloud 密钥名称 指定客户端密钥配置的名称。
    Google Cloud 服务账号名称

    指定您已授予调用 Cloud Functions 函数的权限的服务账号的名称。例如:sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com

    Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
    项目 ID 指定已启用 Cloud Functions API 的 Google Cloud 项目的 ID。
    命令名称 将此字段留空。
    授权类 指定授权类 /GOOG/CL_AUTH_ID_TOKEN
    授权字段 将此字段留空。
    令牌缓存 将此字段留空。
    令牌刷新秒数 将此字段留空。
    授权参数 1 将此字段留空。
    授权参数 2 将此字段留空。
  5. 保存新条目。

在 Google Cloud 外部托管的 SAP RISE 或 SAP 系统

  1. 在 SAP GUI 中,执行事务代码 /GOOG/SDK_IMG

    或者,执行事务代码 SPRO,然后点击 SAP Reference IMG

  2. 点击 ABAP SDK for Google Cloud > 基本设置 > 配置客户端密钥

  3. 点击新建条目

  4. 输入以下字段的值:

    字段 说明
    Google Cloud 密钥名称 指定客户端密钥配置的名称。
    Google Cloud 服务账号名称

    指定您已授予调用 Cloud Functions 函数的权限的服务账号的名称。例如:sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com

    Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
    项目 ID 指定已启用 Cloud Functions API 的 Google Cloud 项目的 ID。
    命令名称 将此字段留空。
    授权类 按如下方式指定授权类:
    • 如需使用 JWT 进行身份验证,请指定 /GOOG/CL_AUTH_JWT_ID_TOKEN
    • 对于使用工作负载身份联合进行身份验证,请指定包含类 /GOOG/CL_AUTH_WIF_ID_TOKEN 的实现的子类。如需了解详情,请参阅实现 ABAP 代码以从 IdP 检索安全令牌
    授权字段 将此字段留空。
    令牌缓存 将此字段留空。
    令牌刷新秒数 将此字段留空。
    授权参数 1
    • 对于使用 JWT 的身份验证,如果您为 SSF 应用使用自定义名称,请指定您在创建新的安全存储和转发 (SSF) 应用部分中创建的 SSF 应用的名称。
    • 如需使用工作负载身份联合进行身份验证,请指定工作负载身份池 ID。
    授权参数 2
    • 对于使用 JWT 的身份验证,请将此字段留空。
    • 如需使用工作负载身份联合进行身份验证,请指定工作负载身份提供方 ID。
  5. 保存新条目。

获取支持

如果您在解决 ABAP SDK for Google Cloud 问题时需要帮助,请执行以下操作: