Autentícate mediante claves de API

En este documento, se muestra cómo configurar la autenticación para acceder a las APIs de Google Cloud mediante claves de API. Solo algunas APIs de Google Cloud usan claves de API para la autenticación, por ejemplo, Google Maps Platform. Revisa la documentación de autenticación del servicio o la API que deseas usar para determinar si es compatible con las claves de API. Sin importar dónde se aloje tu sistema SAP, puedes usar claves de API para la autenticación, siempre y cuando la API que quieras usar admita claves de API.

Para autenticarte en la API de Google Cloud mediante claves de API, usa uno de los siguientes métodos:

Autentícate mediante la clave de API almacenada en SAP SSF

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

Crea una clave de API

Para autenticar con una clave de API, debes crear una clave de API. La string de clave de API es una string encriptada, por ejemplo, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. El SDK de ABAP para Google Cloud usa la string de clave de API en la solicitud HTTP para autenticarse de forma segura cuando se llama a una API de Google Cloud.

Google Cloud proporciona varias formas de crear claves de API.

Para crear claves de API con la consola de Google Cloud, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y, luego, selecciona Clave de API en el menú.

    • Se mostrará la string de clave de API en el cuadro de diálogo Se creó la clave de API. Copia tu string de clave y mantenla segura. Necesitas esta clave de API para configurar la autenticación en Google Cloud.

    • De forma predeterminada, las claves de API no están restringidas. Te recomendamos restringir las claves de API mediante la selección de las APIs que puedes usar. Para obtener más información sobre cómo agregar restricciones de API, consulta Agrega restricciones de API.

Almacena la clave de API en SSF

El SDK de ABAP para Google Cloud ofrece una opción de almacenar claves de API de forma segura mediante el mecanismo de SAP Secure Store and Forward (SSF).

Con la opción SSF, puedes almacenar la clave de API en un formato encriptado en la tabla /GOOG/APIKEY_BIN. Cuando se llama a una API, la clave de API se recuperará de la tabla /GOOG/APIKEY_BIN, se desencriptará y se agregará al URI del extremo de la API.

Por motivos de seguridad, no puedes ver el contenido de /GOOG/APIKEY_BIN con herramientas estándar, transacciones como SE16, SE16N o SE11.

Requisitos previos

Para la autenticación mediante una clave de API almacenada en SAP SSF, debes tener la versión 8.5 o una versión posterior de la biblioteca criptográfica de SAP instalada en tu sistema SAP. Para obtener más información sobre la biblioteca criptográfica de SAP, consulta 1848999: Nota central para CommonCryptoLib 8 (SAPCRYPTOLIB) y 397175: software criptográfico de SAP: control de exportación.

Para verificar la versión de la biblioteca criptográfica de SAP, sigue estos pasos:

  1. En la GUI de SAP, ingresa el código de transacción STRUST.
  2. Ve al menú Entorno y, luego, haz clic en Mostrar versión de SSF.

Configura la aplicación de SSF

En la tabla SSFAPPLIC, crea una nueva aplicación de SSF ZG_APK que encripte la clave de API. ZG_APK es el nombre de la aplicación de SSF predeterminado.

Como alternativa, puedes crear una aplicación de SSF con tu nombre preferido o usar una aplicación de SSF existente que tenga un nombre diferente. Si deseas usar una aplicación de SSF diferente para la encriptación, debes configurar el nombre de la aplicación de SSF en Authorization Parameter 1 de la tabla de claves del cliente.

Para crear una nueva entrada en la tabla SSFAPPLIC, sigue estos pasos:

  1. En la GUI de SAP, ingresa el código de transacción SE16.
  2. En el campo Nombre de la tabla, ingresa SSFAPPLIC y crea una entrada nueva.
  3. En el campo APPLIC, ingrese ZG_APK.
  4. Especifica los valores en los siguientes campos.

    Campo Valor
    APPLIC ZG_APK
    B_TOOLKIT Selecciona la marca.
    B_FORMAT Selecciona la marca.
    B_PAB Selecciona la marca.
    B_PROFID Selecciona la marca.
    B_PROFILE Selecciona la marca.
    B_HASHALG Deja este campo en blanco.
    B_ENCRALG Deja este campo en blanco.
    B_INCCERTS Deja este campo en blanco.
    B_DETACHED Deja este campo en blanco.
    B_ASKPWD Deja este campo en blanco.
    B_DISTRIB Selecciona la marca.
    DESCRIPT API Key Encryption for GCP
  5. Guarda la entrada nueva.

Crea parámetros de SSF
  1. En la GUI de SAP, ingresa el código de transacción SM30.

  2. Abre la vista VSSFARGS.

  3. Para la aplicación ZG_APK (API Key Encryption for GCP), crea una entrada nueva. Los parámetros de SSF específicos de la aplicación se propagan de forma automática.

  4. Guarda la entrada nueva.

Crea un entorno de seguridad personal (PSE)

  1. En la GUI de SAP, ingresa el código de transacción STRUST.

  2. En el nodo Encriptación de claves de API de SSF para GCP, haz clic con el botón derecho y selecciona Crear.

  3. En el campo Algoritmo, selecciona RSA. Deja los otros campos con valores predeterminados propagados por el sistema.

  4. Guarda la entrada nueva.

Almacena la clave de API

  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 SDK de ABP para Google Cloud > Configuración básica > Configurar clave de API (con SSF).

  3. En Nombre de la clave de Google, ingresa el nombre de la configuración de la clave de cliente.

  4. En el campo Clave de API, ingresa la clave de API que creaste antes en Crea una clave de API.

  5. Selecciona Guardar.

  6. Haz clic en Ejecutar para almacenar la clave de API

Configura la clave de cliente

  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. Por ejemplo, DEMO_API_KEY.
    Nombre de la cuenta de servicio de Google Cloud Deja este campo en blanco.
    Permiso de Google Cloud Especifica el permiso de acceso a la API, https://www.googleapis.com/auth/cloud-platform.
    ID del proyecto Especifica el ID del proyecto de Google Cloud que contiene las APIs de destino.
    Nombre del comando Deja este campo en blanco.
    Clase de autorización Especifica la clase de autorización, /GOOG/CL_AUTH_API_KEY_SSF.
    Almacenamiento en caché de tokens

    La marca que determina si los tokens de acceso recuperados de Google Cloud se almacenan en caché.

    Te recomendamos que habilites el almacenamiento en caché de tokens después de que termines de configurar y probar tu conexión a Google Cloud. Para obtener más información sobre el almacenamiento en caché de tokens, consulta Habilita el almacenamiento en caché de tokens.

    Segundos de actualización de los tokens Especifica la cantidad de tiempo en segundos antes de que caduque un token de acceso y se deba actualizar. El valor predeterminado es 3500.
    Parámetro de autorización 1 Si el nombre de la aplicación de SSF es diferente de ZG_APK, especifica el nombre de la aplicación de SSF.
    Parámetro de autorización 2 Deja este campo en blanco.
  5. Guarda la entrada nueva.

Crea nuevos destinos de RFC

Para las APIs que planeas consumir con el SDK de ABAP para Google Cloud, crea nuevos destinos de RFC.

Para obtener información sobre cómo crear destinos de RFC, consulta Destinos de RFC.

Si no se crean y configuran destinos de RFC, el SDK de ABAP para Google Cloud funciona con los extremos de API predeterminados mantenidos en stubs de cliente de API individuales.

Configura la asignación de servicios

Configura la tabla de asignación de servicios para las APIs que planeas consumir con el SDK de ABAP para 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 SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.

  3. Haz clic en Entradas nuevas.

  4. Especifica destinos de RFC para las APIs que planeas usar, por ejemplo, addressvalidation v1. Si vas a consumir otras APIs, especifica los destinos RFC para esas APIs.

    Nombre Nombre del servicio Destino de RFC
    Nombre de la clave de Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Guarda la entrada nueva.

Borra una clave de API

Si ya no se usa una clave de API, puedes borrarla de tu sistema SAP.

Para borrar una clave de API, sigue estos pasos:

  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 SDK de ABP para Google Cloud > Configuración básica > Configurar clave de API (con SSF).

  3. En el campo Nombre de la clave de Google, ingresa el nombre de la configuración de la clave de cliente.

  4. Selecciona Borrar.

  5. Haz clic en Ejecutar para borrar la clave de API

Autentica mediante una clave de API almacenada en Secret Manager

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

Crea una clave de API

Para autenticar con una clave de API, debes crear una clave de API. La string de clave de API es una string encriptada, por ejemplo, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. El SDK de ABAP para Google Cloud usa la string de clave de API en la solicitud HTTP para autenticarse de forma segura cuando se llama a una API de Google Cloud.

Google Cloud proporciona varias formas de crear claves de API.

Para crear claves de API con la consola de Google Cloud, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y, luego, selecciona Clave de API en el menú.

    • Se mostrará la string de clave de API en el cuadro de diálogo Se creó la clave de API. Copia tu string de clave y mantenla segura. Necesitas esta clave de API para configurar la autenticación en Google Cloud.

    • De forma predeterminada, las claves de API no están restringidas. Te recomendamos restringir las claves de API mediante la selección de las APIs que puedes usar. Para obtener más información sobre cómo agregar restricciones de API, consulta Agrega restricciones de API.

Crea un secreto y almacena la clave de API

El SDK de ABAP para Google Cloud ofrece una opción de almacenar de forma segura claves de API mediante el servicio de Secret Manager de Google Cloud. Para almacenar de forma segura las strings de claves de API, Secret Manager te permite seguir las prácticas recomendadas para usar claves de API de forma segura.

Para crear un secreto y almacenar la clave de API, sigue estos pasos:

  1. Habilita la API de Secret Manager.

    Ir a la biblioteca de API

  2. En la consola de Google Cloud, crea un secreto y almacena la clave de API como la versión más reciente.

    Ir a Secret Manager

Si deseas obtener información para crear un secreto, consulta Crea un secreto.

El SDK de ABAP para Google Cloud recupera de forma predeterminada solo la versión más reciente de un secreto.

Configura la clave de cliente para el acceso a Secret Manager

Las APIs de Secret Manager usan tokens para la autenticación. Por lo tanto, debes configurar la autenticación basada en tokens para acceder a las APIs de Secret Manager según la implementación de SAP.

Usa uno de los siguientes métodos para configurar la autenticación basada en tokens a fin de acceder a las APIs de Secret Manager:

Anota el nombre de la clave de cliente que creaste para el acceso de Secret Manager.

Configura la clave de cliente para el secreto

  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. Por ejemplo, DEMO_API_KEY.
    Nombre de la cuenta de servicio de Google Cloud Deja este campo en blanco.
    Permiso de Google Cloud Especifica el permiso de acceso a la API, https://www.googleapis.com/auth/cloud-platform.
    ID del proyecto Especifica el ID del proyecto de Google Cloud que contiene las APIs de destino.
    Nombre del comando Deja este campo en blanco.
    Clase de autorización Especifica /GOOG/CL_AUTH_API_KEY_SM.
    Almacenamiento en caché de tokens

    La marca que determina si los tokens de acceso recuperados de Google Cloud se almacenan en caché.

    Te recomendamos que habilites el almacenamiento en caché de tokens después de que termines de configurar y probar tu conexión a Google Cloud. Para obtener más información sobre el almacenamiento en caché de tokens, consulta Habilita el almacenamiento en caché de tokens.

    Segundos de actualización de los tokens Especifica la cantidad de tiempo en segundos antes de que caduque un token de acceso y se deba actualizar. El valor predeterminado es 3500.
    Parámetro de autorización 1 Especifica el nombre de la clave de cliente que creaste para el acceso a Secret Manager. Por ejemplo, CLIENT_KEY_SM.
    Parámetro de autorización 2 Especifica el nombre del secreto, que tiene almacenada la clave de API. Por ejemplo, TEST_SECRET.
  5. Guarda la entrada nueva.

Crea nuevos destinos de RFC

Para las APIs que planeas consumir con el SDK de ABAP para Google Cloud, crea nuevos destinos de RFC.

Para obtener información sobre cómo crear destinos de RFC, consulta Destinos de RFC.

Si no se crean y configuran destinos de RFC, el SDK de ABAP para Google Cloud funciona con los extremos de API predeterminados mantenidos en stubs de cliente de API individuales.

Configura la asignación de servicios

Configura la tabla de asignación de servicios para las APIs que planeas consumir con el SDK de ABAP para 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 SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.

  3. Haz clic en Entradas nuevas.

  4. Especifica destinos de RFC para las APIs que planeas usar, por ejemplo, addressvalidation v1. Si vas a consumir otras APIs, especifica los destinos RFC para esas APIs.

    Nombre Nombre del servicio Destino de RFC
    Nombre de la clave de Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Guarda la entrada nueva.

Valida la recuperación de claves de API desde Secret Manager

Para validar la recuperación de claves de API desde Secret Manager, sigue estos pasos:

  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 SDK de ABP para Google Cloud > Utilidades > Validar la recuperación de claves de API (mediante Secret Manager).
  3. Especifica el nombre de la clave del cliente.
  4. Haz clic en Ejecutar para verificar si la clave de API se recuperó correctamente de Secret Manager.

Valida la configuración de autenticación

Para validar la configuración de autenticación, sigue estos pasos:

  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 SDK de ABP para Google Cloud > Utilidades > Validar configuración de autenticación.

  3. Ingresa el nombre de la clave del cliente.

  4. Haz clic en Ejecutar para verificar si el flujo general se configuró correctamente.

    Una marca de verificación verde en la columna Resultado indica que todos los pasos de configuración se completaron de forma correcta.

Obtener asistencia

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