Autenticación para invocar Cloud Functions

Como desarrollador, puedes escribir Cloud Functions, que proporciona extremos HTTP. Invocas Cloud Functions desde la clase /GOOG/CL_CLOUDFUNC_INVOKER del SDK de ABAP mediante sus extremos HTTP.

El proceso implica llamar a una función de Cloud Functions mediante su nombre y ubicación para obtener el extremo HTTP de la función. Este extremo se usa para invocar la función. La autenticación en Cloud Functions requiere un token de ID para invocar el extremo HTTP.

Los pasos de la configuración de alto nivel son los siguientes:

Habilita las APIs de Google Cloud

En la consola de Google Cloud, habilita las siguientes APIs de Google Cloud:

Para obtener información sobre cómo habilitar las APIs de Google Cloud, consulta Habilita las API.

Crea una cuenta de servicio para obtener detalles de la Cloud Functions

  1. En la consola de Google Cloud, crea una cuenta de servicio de IAM para obtener los detalles de tu Cloud Function.

    Ir a Cuentas de servicio

    Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.

  2. Otorga los siguientes roles a la cuenta de servicio:

    Para obtener instrucciones, consulta Otorga un solo rol

Crea otra cuenta de servicio para invocar Cloud Functions

  1. En la consola de Google Cloud, crea una cuenta de servicio dedicada para invocar Cloud Functions.

    Ir a Cuentas de servicio

    Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.

  2. Según la generación de Cloud Functions que invoques, otorga las funciones adecuadas a la cuenta de servicio:

    Si quieres obtener más información sobre los permisos para invocar una función, consulta Autentica para la invocación.

Configura la autenticación en Cloud Functions

Según el entorno en el que se aloja tu sistema SAP, puedes usar uno de los siguientes métodos para configurar la autenticación basada en tokens a fin de acceder a la API de Cloud Functions:

Sistema SAP alojado en una VM de Compute Engine

Si deseas obtener instrucciones para configurar la autenticación para acceder a la API de Cloud Functions cuando el sistema SAP está alojado en una instancia de VM de Compute Engine, consulta Autentica mediante tokens de acceso. Configura una clave de cliente con la cuenta de servicio que creaste para obtener los detalles de la Cloud Function.

Sistema SAP RISE o SAP alojado fuera de Google Cloud

Configura la autenticación para acceder a las APIs de Cloud Functions mediante uno de los siguientes métodos de autenticación:

Configura una clave de cliente con la cuenta de servicio que creaste para obtener los detalles de la Cloud Function.

Configura la clave de cliente para invocar Cloud Functions

Según el entorno en el que se aloja tu sistema SAP, debes usar valores diferentes valores para la configuración de la clave de cliente:

Sistema SAP alojado en una VM de Compute Engine

  1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

    Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

  2. Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.

  3. Haz clic en Entradas nuevas.

  4. Ingresa los valores para los siguientes campos:

    Campo Descripción
    Nombre de la clave de Google Cloud Especifica un nombre de la configuración de la clave de cliente.
    Nombre de la cuenta de servicio de Google Cloud

    Especifica el nombre de la cuenta de servicio a la que le otorgaste permisos para invocar Cloud Functions. Por ejemplo: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

    Permiso de Google Cloud Especifica el permiso de acceso, https://www.googleapis.com/auth/cloud-platform.
    ID del proyecto Especifica el ID del proyecto de Google Cloud que tiene habilitada la API de Cloud Functions.
    Nombre del comando Deja este campo en blanco.
    Clase de autorización Especifica la clase de autorización, /GOOG/CL_AUTH_ID_TOKEN.
    Campo de autorización Deja este campo en blanco.
    Almacenamiento en caché de tokens Deja este campo en blanco.
    Segundos de actualización de los tokens Deja este campo en blanco.
    Parámetro de autorización 1 Deja este campo en blanco.
    Parámetro de autorización 2 Deja este campo en blanco.
  5. Guarda la entrada nueva.

Sistema SAP RISE o SAP alojado fuera de Google Cloud

  1. En la GUI de SAP, ejecuta el código de transacción /GOOG/SDK_IMG.

    Como alternativa, ejecuta el código de transacción SPRO y, luego, haz clic en IMG de referencia de SAP.

  2. Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.

  3. Haz clic en Entradas nuevas.

  4. Ingresa los valores para los siguientes campos:

    Campo Descripción
    Nombre de la clave de Google Cloud Especifica un nombre de la configuración de la clave de cliente.
    Nombre de la cuenta de servicio de Google Cloud

    Especifica el nombre de la cuenta de servicio a la que le otorgaste permisos para invocar Cloud Functions. Por ejemplo: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

    Permiso de Google Cloud Especifica el permiso de acceso, https://www.googleapis.com/auth/cloud-platform.
    ID del proyecto Especifica el ID del proyecto de Google Cloud que tiene habilitada la API de Cloud Functions.
    Nombre del comando Deja este campo en blanco.
    Clase de autorización Especifica la clase de autorización de la siguiente manera:
    • Para la autenticación mediante JWT, especifica /GOOG/CL_AUTH_JWT_ID_TOKEN.
    • Para la autenticación mediante la federación de Workload Identity, especifica la clase secundaria, que contiene la implementación de la clase /GOOG/CL_AUTH_WIF_ID_TOKEN. Si deseas obtener más información, consulta Implementa el código ABAP para recuperar tokens de seguridad de tu IdP.
    Campo de autorización Deja este campo en blanco.
    Almacenamiento en caché de tokens Deja este campo en blanco.
    Segundos de actualización de los tokens Deja este campo en blanco.
    Parámetro de autorización 1
    • Para la autenticación mediante JWT, si usas un nombre personalizado para la aplicación de SSF, especifica el nombre de la aplicación de SSF que creaste en la sección Crea una aplicación de almacenamiento y reenvío seguro (SSF).
    • Para la autenticación mediante la federación de Workload Identity, especifica el ID del grupo de Workload Identity.
    Parámetro de autorización 2
    • Para la autenticación mediante JWT, deja este campo en blanco.
    • Para la autenticación mediante la federación de Workload Identity, especifica el ID del proveedor de Workload Identity.
  5. Guarda la entrada nueva.

Obtenga asistencia

Si necesitas ayuda para resolver problemas con el SDK de ABAP para Google Cloud, haz lo siguiente: