En este documento, se describe cómo autenticar en Google Cloud desde las ediciones locales o en la nube del SDK de ABAP para Google Cloud.
Las aplicaciones desarrolladas con el SDK de ABAP para Google Cloud requieren autenticación para conectarse a las APIs de Google Cloud. El SDK habilita el uso de las prácticas recomendadas de Google Cloud para la autenticación.
Para la autenticación y autorización a fin de acceder a las APIs de Google Cloud, el SDK usa tokens principalmente. Además, el SDK también admite claves de API para autenticarse en las APIs de Google Cloud que usan claves de API.
Según las APIs de Google Cloud a las que necesites acceder, el entorno en el que se aloja tu sistema SAP y los requisitos de seguridad de tu sistema SAP, puedes elegir un tipo de autenticación adecuado. En la siguiente tabla, se resumen los tipos de autenticación compatibles según la ubicación de hosting de tu sistema SAP:
Ubicación del sistema SAP | Tipo de autenticación | Instrucciones |
---|---|---|
SAP RISE, sin importar dónde se alojen los servidores | Token web JSON (JWT) | Autentica mediante tokens web JSON (JWT) |
Sistema SAP alojado en la VM de Compute Engine | Tokens de acceso | Autentica mediante tokens de acceso |
Sistema SAP alojado fuera de Google Cloud | Token web JSON (JWT) | Autentica mediante tokens web JSON (JWT) |
Tokens de acceso | Autentica mediante tokens mediante la Federación de Workload Identity |
Autenticación en 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:
- Autentica mediante claves de API almacenadas en SAP SSF
- Autentica mediante claves de API almacenadas en Secret Manager
Autenticación de las APIs de Google Workspace con credenciales de cliente de OAuth 2.0
Para acceder a las APIs de Google Workspace, puedes usar las credenciales de cliente de OAuth 2.0. Las credenciales de cliente de OAuth 2.0 te permiten recuperar un token en el contexto de un usuario final, como un token necesario para acceder a Hojas de cálculo de Google. Sin importar dónde se aloje tu sistema SAP, puedes usar las credenciales de cliente de OAuth 2.0 para la autenticación en las APIs de Google Workspace, siempre que el sistema admita OAuth 2.0.
Para obtener información sobre cómo configurar la autenticación para las APIs de Google Workspace, consulta Autentícate en las APIs de Google Workspace con credenciales de cliente de OAuth 2.0.
Autentica mediante tokens de acceso
En esta sección, se muestra cómo configurar la autenticación para acceder a las APIs de Google Cloud mediante tokens cuando el sistema SAP se aloja en una instancia de VM de Compute Engine.
En la consola de Google Cloud, habilita la API de Service Account Credentials de IAM para tu proyecto de Google Cloud que requiere autenticación. Junto con la API de credenciales de la cuenta de servicio de IAM, debes habilitar cualquier otras APIs compatibles a la que planeas acceder mediante el SDK.
Para obtener información sobre cómo habilitar las APIs de Google Cloud, consulta Habilita las API.
En la consola de Google Cloud, crea una cuenta de servicio de IAM para la instancia de VM del host.
Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.
Otorga el rol
Service Account Token Creator
a la cuenta de servicio. Para obtener instrucciones, consulta Otorga un solo rol.Conecta la cuenta de servicio a la instancia de VM en la que se ejecuta la carga de trabajo de SAP. Además, configura el permiso de acceso de la VM en
cloud-platform
.- Si especificas la cuenta de servicio con la consola de Google Cloud, el permiso de acceso de la VM se establece automáticamente en el permiso
cloud-platform
. Si especificas la cuenta de servicio con Google Cloud CLI o la API de Compute Engine, debes configurar el permiso de acceso a la API en
Allow full access to all Cloud APIs
.Para obtener instrucciones, consulta Cómo crear una VM y conecta la cuenta de servicio.
Después de actualizar el permiso, reinicia la VM. Si tienes varias instancias de VM para la misma instalación de SAP, debes completar este paso en todas ellas.
- Si especificas la cuenta de servicio con la consola de Google Cloud, el permiso de acceso de la VM se establece automáticamente en el permiso
En la consola de Google Cloud, crea una cuenta de servicio de IAM dedicada para acceder a las APIs de Google Cloud.
Para obtener instrucciones, consulta Cómo crear una cuenta de servicio.
Otorga a la cuenta de servicio los roles de IAM necesarios para acceder a la funcionalidad de la API. Para comprender el requisito de rol para las APIs de Google Cloud, consulta la documentación de la API individual y sigue el principio de privilegio mínimo. Para obtener más detalles sobre los roles predefinidos específicos de la API, consulta Referencia de los roles básicos y predefinidos de IAM.
Si creaste la cuenta de servicio en un proyecto diferente al del proyecto que contiene las APIs de Google Cloud, debes realizar pasos adicionales para la configuración de la cuenta de servicio. Para obtener más información, consulta Configura cuentas de servicio en un entorno entre proyectos.
En el sistema SAP, configura la clave de cliente:
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.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
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, TEST_PUBSUB
.Nombre de la cuenta de servicio de Google Cloud Especifica el nombre de la cuenta de servicio a la que le otorgaste permisos para acceder a las APIs de Google Cloud. Por ejemplo,
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Si la VM del host de tu sistema SAP que contiene el SDK está en un proyecto diferente al que tiene habilitadas las APIs de Google Cloud, especifica la cuenta de servicio que se usa para acceder a las APIs de Google Cloud. Para obtener más información, consulta Configura cuentas de servicio en un entorno entre proyectos.
Permiso de Google Cloud Especifica el permiso de acceso a la API, https://www.googleapis.com/auth/cloud-platform
.Identificador de proyecto de Google Cloud 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_GOOGLE
.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 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 Deja este campo en blanco. Parámetro de autorización 2 Deja este campo en blanco. Guarda la entrada nueva.
En el sistema SAP, crea nuevos destinos de RFC para las APIs que planeas consumir con el SDK de ABAP para Google Cloud.
Para obtener información sobre cómo crear destinos de RFC, consulta Destinos de RFC.
En el sistema SAP, configura la tabla de asignación de servicios para la API de IAM y otras APIs que planeas consumir con el SDK de ABAP para Google Cloud.
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.Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.
Haz clic en Entradas nuevas.
Especifica los destinos de RFC para la API de IAM y otras APIs, por ejemplo,
Pub/Sub API v1
.Nombre Nombre del servicio Destino de RFC Nombre de la clave de Google Cloud iamcredentials.googleapis.com
ZGOOG_IAMCREDENTIALS
Nombre de la clave de Google Cloud pubsub:v1
ZGOOG_PUBSUB_V1
Guarda la entrada nueva.
En el sistema SAP, valida la configuración de autenticación. Para obtener más información, consulta Valida la configuración de autenticación.
Configura cuentas de servicio en un entorno entre proyectos
La VM host del sistema SAP, que contiene el SDK, puede estar en un proyecto de Google Cloud diferente al que tenga las APIs de Google Cloud habilitadas. En este caso, debes configurar cuentas de servicio con los roles de IAM necesarios para que el SDK pueda acceder a las APIs desde el proyecto diferente.
En la siguiente tabla, se muestra un ejemplo de configuración de una cuenta de servicio para el acceso a la API entre proyectos.
Entorno | VM host de SAP | APIs de Google Cloud |
---|---|---|
Proyecto de Google Cloud | project-sap-host |
project-google-apis |
Cuenta de servicio asignada a la VM host de SAP | sa-sap-host@project-sap-host.iam.gserviceaccount.com |
N/A |
Cuenta de servicio para acceder a las APIs de Google Cloud | sa-google-apis@project-sap-host.iam.gserviceaccount.com |
N/A |
Roles de IAM para la cuenta de servicio | En el proyecto project-sap-host , otorga el rol de creador de tokens de cuenta de servicio sa-sap-host@project-sap-host.iam.gserviceaccount.com de la cuenta de servicio. |
En el proyecto project-google-apis , agrega la cuenta de servicio sa-google-apis@project-sap-host.iam.gserviceaccount.com como principio y otorga a la cuenta de servicio los roles adecuados para conectarse a las API de Google Cloud. |
Para configurar las cuentas de servicio, sigue estos pasos:
- En el proyecto de Google Cloud que contiene la VM del host de SAP, otorga a la cuenta de servicio de la VM del host de SAP el rol
Service Account Token Creator
. Para obtener más información sobre los pasos, consulta Otorga un solo rol. - En el proyecto de Google Cloud que contiene la VM host del SAP, crea una cuenta de servicio. Toma nota del nombre de la cuenta de servicio. Debes especificar este nombre cuando agregas la cuenta de servicio como principio al otro proyecto que contiene las APIs de Google Cloud.
En el otro proyecto que contiene las API de Google Cloud, agrega la cuenta de servicio como principio y otorga los roles adecuados para conectarte a las API de Google Cloud. Para agregar una cuenta de servicio al proyecto de Google Cloud que contiene las API de Google Cloud, realiza los siguientes pasos:
En la consola de Google Cloud, ve a la página de permisos de IAM.
Confirma que el nombre del proyecto que contiene las APIs de Google Cloud de destino se muestra cerca de la parte superior de la página. Por ejemplo:
Permisos del proyecto "
PROJECT_NAME
"Si no es así, cambia de proyecto.
En la página de IAM, haz clic en
Otorgar acceso. Se abre el cuadro de diálogo Otorgar acceso a “PROJECT_NAME
”.En el campo Principales nuevas, especifica el nombre de la cuenta de servicio.
En el campo Seleccionar un rol, especifica un rol relevante. Por ejemplo, en Pub/Sub, para modificar los temas y las suscripciones y acceder para publicar y consumir mensajes, puedes especificar el rol de editor de Pub/Sub (
roles/pubsub.editor
).Para obtener más detalles sobre los roles predefinidos específicos de la API, consulta Referencia de los roles básicos y predefinidos de IAM.
Agrega roles adicionales según sea necesario para el uso de la API. Implementa las prácticas recomendadas de Google mediante la aplicación del principio de privilegio mínimo.
Haz clic en Guardar. La cuenta de servicio aparece en la lista de principales del proyecto en la página IAM.
Autentica mediante tokens web JSON (JWT)
En esta sección, se muestra cómo configurar la autenticación para acceder a las APIs de Google Cloud mediante un token cuando tu sistema SAP se ejecuta en un host local, en otro proveedor de servicios en la nube, en otro entorno fuera de Google Cloud, o administrada por SAP a través del programa SAP RISE.
Para la autenticación en Google Cloud, usa tokens web JSON (JWT) firmados por Google Cloud para obtener tokens de acceso de Google Cloud.
Los pasos de la configuración de alto nivel son los siguientes:
- Crea una cuenta de servicio para la recuperación de tokens basados en JWT.
- Establece la configuración de seguridad para Google Cloud en el host de SAP.
- Habilita las APIs de Google Cloud.
- Crea otra cuenta de servicio para la autorización a fin de acceder a las APIs de Google Cloud.
- Crea configuraciones de SAP.
- Valida la configuración de autenticación.
Crea una cuenta de servicio para la recuperación de tokens basados en JWT
En la autenticación basada en JWT en Google Cloud, el SDK de ABAP para Google Cloud necesita una cuenta de servicio de IAM.
Crea una cuenta de servicio
En la consola de Google Cloud, crea una cuenta de servicio de IAM para la recuperación de tokens basados en JWT y otorga a la cuenta de servicio el Creador de tokens de cuenta de servicio.
Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.
Crea una clave de cuenta de servicio
Debes crear una clave de cuenta de servicio P12 para la cuenta de servicio que se usa en la recuperación de tokens basados en JWT.
Para crear una clave cuenta de servicio, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Cuentas de servicio de IAM y administración.
Selecciona tu proyecto de Google Cloud.
Haz clic en la dirección de correo electrónico de la cuenta de servicio que creaste para la recuperación de tokens basados en JWT en la sección anterior, Crea una cuenta de servicio.
En el nombre de la cuenta de servicio, haz clic en la pestaña Claves.
Haz clic en el menú desplegable Agregar clave y, luego, selecciona Crear clave nueva para crear una clave de cuenta de servicio.
Acepta P12 como el tipo de clave y haz clic en Crear.
Se descarga una clave privada en la computadora.
Toma nota de la contraseña del archivo de claves privadas,
notasecret
.Proporciona la clave privada y la contraseña a tu administrador de SAP para importar la clave privada a
STRUST
, como se describe en Importa la clave de la cuenta de servicio a STRUST.
Especifica la cuenta de servicio para la firma de JWT
Si creaste la cuenta de servicio para la firma de JWT en un proyecto diferente del que contiene las APIs de Google Cloud, debes especificar la cuenta de servicio en el sistema host de SAP.
Si creaste la cuenta de servicio en el mismo proyecto que contiene las APIs de Google Cloud, puedes omitir este paso.
Para especificar la cuenta de servicio de la firma de JWT, sigue estos pasos:
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.Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar parámetros.
Haz clic en Entradas nuevas.
En el campo Nombre del parámetro, ingresa
JWT_SERVC_ACCT
. La descripción del parámetro se propaga automáticamente.En el campo Valor del parámetro, ingresa el nombre de la cuenta de servicio.
Guarda la entrada nueva.
Establece la configuración de seguridad para Google Cloud en el sistema de host de SAP
Para habilitar la firma de JWT para la cuenta de servicio que creaste para la recuperación de tokens basados en JWT, debes establecer la configuración de seguridad para Google Cloud en el sistema host de SAP.
Crea una nueva aplicación de almacenamiento y reenvío seguro (SSF)
Cada entrada de SSFAPPLIC
te permite guardar una sola clave de cuenta de servicio.
Para guardar claves de cuenta de servicio de varios proyectos, debes crear
varias entradas SSFAPPLIC
siguiendo los mismos pasos.
Para crear una nueva entrada en la tabla SSFAPPLIC
, sigue estos pasos:
- En la GUI de SAP, ingresa el código de transacción
SE16
. - En el campo Nombre de la tabla, ingresa
SSFAPPLIC
y crea una entrada nueva. - En el campo APPLIC, ingresa un nombre para tu aplicación de SSF, como
ZG_JWT
. - Selecciona todos los demás campos, excepto B_INCCERTS, B_DETACHED, B_ASKPWD y B_DISTRIB.
- En el campo DESCRIBIR, ingresa
JWT Signature for GCP
. Guarda la entrada nueva.
Esta entrada se convierte en un nodo nuevo en la transacción
STRUST
, en la que importas la clave de la cuenta de servicio.
Habilita el nodo STRUST
Usa la transacción SSFA
para habilitar el nodo STRUST
para JWT Signature for GCP
.
Para habilitar el nodo STRUST
, realiza los siguientes pasos:
- En la GUI de SAP, ingresa el código de transacción
SSFA
. - Haz clic en Entradas nuevas.
En la lista desplegable Aplicación de SSF, selecciona
JWT Signature for GCP
. Esta es la entrada nueva que creaste en la tablaSSFAPPLIC
.Los parámetros de SSF específicos de la aplicación se propagan de forma automática.
Guarda la entrada nueva.
Se habilita un nodo nuevo
SSF JWT Signature for GCP
en la transacciónSTRUST
.
Importa la clave de la cuenta de servicio a STRUST
Para importar la clave de la cuenta de servicio a STRUST
, realiza los siguientes pasos:
En la GUI de SAP, ingresa el código de transacción
STRUST
.Verifica que el nodo nuevo en la transacción
STRUST
seaSSF JWT Signature for GCP
.Importa el archivo de claves privadas:
- Selecciona PSE > Importar en la barra de menú.
- Según el sistema SAP, selecciona la clave privada adecuada:
- SAP S/4HANA
- Selecciona la clave privada P12.
- Ingresa la contraseña del archivo
notasecret
y, luego, haz clic en Aceptar.
- SAP ECC
- Selecciona la clave privada PSE. Debes convertir la clave privada P12 que descargaste antes en una clave privada PSE. Para obtener más información sobre cómo convertir una clave P12 en una clave PSE, consulta Convierte una clave P12 en clave PSE.
- Ingresa el PIN del archivo que creaste durante la conversión de clave privada de la clave P12 a la clave PSE y, luego, haz clic en Aceptar.
- SAP S/4HANA
Selecciona PSE > Guardar como.
Selecciona Aplicación de SSF y, en el campo de entrada correspondiente, selecciona el nodo de aplicación de SSF nuevo que creaste en Crea una aplicación nueva de almacenamiento y reenvío de seguridad (SSF).
Guarda la entrada nueva.
La clave del servicio se adjunta al nodo de aplicación
SSF JWT Signature for GCP
de SSF.
Convierte la clave privada P12 en clave PSE
Si tu sistema SAP es SAP NetWeaver 7.0x (SAP ECC), entonces debes convertir la clave P12 en una clave PSE.
Para convertir la clave P12 en una clave PSE, sigue estos pasos:
Ve a la ruta:
/usr/sap/SID/SYS/exe/run/
Reemplaza SID por el ID del sistema SAP.
Ejecuta el siguiente comando después de reemplazar los marcadores de posición:
sapgenpse import_p12 -p PSE_PATH_AND_FILE_NAME P12_PATH_AND_FILE_NAME.p12
Reemplaza lo siguiente:
PSE_PATH_AND_FILE_NAME
: especifica la ruta y el nombre del archivo PSE.P12_PATH_AND_FILE_NAME
: especifica la ruta y el nombre para el archivo de claves P12.
Ingresa la contraseña del archivo de claves privadas P12,
notasecret
.Crea un PIN nuevo para la clave privada PSE y vuelve a ingresarlo.
Toma nota del PIN, ya que debes proporcionarlo cuando importes el archivo de claves privadas de PSE a
STRUST
.
Para obtener información de SAP sobre cómo convertir una clave P12 en una clave PSE, consulta estos vínculos:
Habilita las APIs de Google Cloud
En la consola de Google Cloud, habilita la API de Service Account Credentials de IAM para tu proyecto de Google Cloud que requiere autenticación. Junto con la API de credenciales de la cuenta de servicio de IAM, debes habilitar cualquier otras APIs compatibles a la que planeas acceder mediante el SDK.
Para obtener información sobre cómo habilitar las APIs de Google Cloud, consulta Habilita las API.
Crea una cuenta de servicio para obtener autorización a fin de acceder a las APIs de Google Cloud
Para la autenticación y autorización a fin de acceder a las APIs de Google Cloud, el SDK de ABAP para Google Cloud necesita una cuenta de servicio de IAM.
Crea una cuenta de servicio
En la consola de Google Cloud, crea una cuenta de servicio de IAM. Esta cuenta de servicio debe ser una principal en el proyecto de Google Cloud que contiene las APIs de Google Cloud que planeas consumir mediante el SDK. Si creas la cuenta de servicio en el mismo proyecto que contiene las APIs de Google Cloud, la cuenta de servicio se agrega como principal al proyecto de forma automática.
Si creas la cuenta de servicio en un proyecto que no sea el en el que están habilitadas las APIs de Google Cloud, debes agregar la cuenta de servicio a ese proyecto en un paso adicional.
En la consola de Google Cloud, crea una cuenta de servicio de IAM para la autenticación y autorización a fin de acceder a las APIs de Google Cloud.
Para obtener información sobre cómo crear una cuenta de servicio, consulta Crea una cuenta de servicio.
En la consola de Google Cloud, otorga a la cuenta de servicio los roles de IAM necesarios para acceder a la funcionalidad de la API. Para comprender el requisito de rol para las APIs de Google Cloud, consulta la documentación de la API individual y sigue el principio de privilegio mínimo. Para obtener más detalles sobre los roles predefinidos específicos de la API, consulta Referencia de los roles básicos y predefinidos de IAM.
Si creaste la cuenta de servicio en un proyecto diferente al del proyecto que contiene las APIs de Google Cloud que planeas consumir con el SDK, anota el nombre de la cuenta de servicio. Debes especificar el nombre cuando agregas la cuenta de servicio a ese proyecto. Para obtener más información, consulta Agrega la cuenta de servicio al proyecto de Google Cloud.
Agrega la cuenta de servicio al proyecto de Google Cloud
Si creaste la cuenta de servicio del SDK de ABAP para Google Cloud en un proyecto que no es el que contiene las APIs de Google Cloud que planeas consumir con el SDK, debes agregar el servicio al proyecto de Google Cloud que contiene las APIs de Google Cloud.
Si creaste la cuenta de servicio en el mismo proyecto que contiene las APIs de Google Cloud, puedes omitir este paso.
Para agregar una cuenta de servicio existente al proyecto de Google Cloud que contiene las APIs de Google Cloud, sigue estos pasos:
En la consola de Google Cloud, ve a la página de permisos de IAM.
Confirma que el nombre del proyecto que contiene las APIs de Google Cloud de destino se muestra cerca de la parte superior de la página. Por ejemplo:
Permisos del proyecto "
PROJECT_NAME
"Si no es así, cambia de proyecto.
En la página de IAM, haz clic en
Otorgar acceso. Se abre el cuadro de diálogo Otorgar acceso a “PROJECT_NAME
”.En el diálogo Otorga acceso a “
PROJECT_NAME
”, sigue estos pasos:- En el campo Principales nuevas, especifica el nombre de la cuenta de servicio.
En el campo Seleccionar un rol, especifica un rol relevante. Por ejemplo, en Pub/Sub, para modificar temas y suscripciones y acceso a fin de publicar y consumir mensajes, puedes especificar el rol de editor de Pub/Sub (
roles/pubsub.editor
).Para obtener más detalles sobre los roles predefinidos específicos de la API, consulta Referencia de los roles básicos y predefinidos de IAM.
Agrega roles adicionales según sea necesario para el uso de la API. Implementa las prácticas recomendadas de Google mediante la aplicación del principio de privilegio mínimo.
Haz clic en Guardar. La cuenta de servicio aparece en la lista de principales del proyecto en la página IAM.
La cuenta de servicio ahora se puede usar para acceder a las APIs de Google Cloud en este proyecto.
Configura la conexión HTTPS
El servidor de aplicaciones SAP es necesario para conectarse a las APIs de Google Cloud a través de HTTPS.
En el host de SAP, confirma que las reglas o los proxies de firewall estén configurados para permitir el tráfico de salida del puerto HTTPS a las APIs de Google Cloud requeridas.
En particular, el sistema SAP debe poder acceder a los siguientes extremos de la API:
https://iamcredentials.googleapis.com
- Extremos de API para las APIs que quieres consumir mediante el SDK.
Crea configuraciones de SAP
Para la autenticación basada en JWT, crea las opciones de configuración de SAP necesarias.
Especifica la configuración de acceso en la tabla de claves del cliente
Para especificar la configuración de acceso, sigue estos pasos:
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.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
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, en formato de dirección de correo electrónico, que se creó para el SDK de ABAP para Google Cloud en el paso Crea una cuenta de servicio. 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 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_JWT
.Campo de autorización Deja este campo en blanco. Segundos de actualización de los tokens Deja este campo en blanco. Parámetro de autorización 1 Especifica el nombre de la aplicación SSF que creaste en la sección Crea una nueva aplicación de almacenamiento seguro y reenvío (SSF). Guarda la entrada nueva.
Crea nuevos destinos de RFC
Crea destinos de RFC para la API de IAM y otras APIs que planeas consumir con el SDK de ABAP para Google Cloud, por ejemplo, la API de Pub/Sub v1.
Nombre del destino de RFC | Notas |
---|---|
ZGOOG_IAMCREDENTIALS |
Este destino de RFC se orienta a la API de IAM. |
ZGOOG_OAUTH2_TOKEN |
Este destino de RFC se orienta al extremo de Google Cloud para la autenticación basada en tokens. |
ZGOOG_PUBSUB_V1 |
Este destino de RFC se orienta a la API de Pub/Sub. |
Para obtener información sobre cómo crear destinos de RFC, consulta Destinos de RFC.
Especifica destinos de RFC en la tabla de asignación de servicios
En la tabla de asignación de servicios, especifica los destinos de RFC para la API de IAM y otras APIs que planeas consumir con el SDK de ABAP para Google Cloud.
Para especificar los destinos de RFC, sigue estos pasos:
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.Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.
Haz clic en Entradas nuevas.
Especifica los destinos de RFC para la API de IAM y otras APIs, por ejemplo:
Nombre Nombre del servicio Destino de RFC Nombre de la clave de Google Cloud iamcredentials:v1
ZGOOG_IAMCREDENTIALS
Nombre de la clave de Google Cloud googleapis.com/oauth2
ZGOOG_OAUTH2_TOKEN
Nombre de la clave de Google Cloud pubsub.googleapis.com
ZGOOG_PUBSUB_V1
Guarda la entrada nueva.
Autentica mediante tokens mediante la Federación de Workload Identity
Con la federación de Workload Identity, puedes otorgar a las cargas de trabajo de SAP locales o de múltiples nubes acceso a los recursos de Google Cloud sin usar una clave de cuenta de servicio. Puedes usar la federación de Workload Identity con Amazon Web Services (AWS) o con cualquier proveedor de identidad (IdP) que admita OpenID Connect (OIDC), como Microsoft Azure o SAML 2.0.
La federación Workload Identity sigue la especificación del intercambio de tokens de OAuth 2.0. Proporciona una credencial desde tu IdP al servicio de tokens de seguridad, que verifica la identidad en la credencial y, luego, muestra un token federado a cambio. Puedes usar este token para actuar como una cuenta de servicio y obtener un token de acceso de OAuth 2.0 de corta duración. El token de acceso de corta duración te permite llamar a cualquier API de Google Cloud a la que tenga acceso la cuenta de servicio.
Para la autenticación mediante tokens a través de la federación de Workload Identity, los pasos de configuración de alto nivel son los siguientes:
- Prepara el IdP externo
- En Google Cloud, configura la federación de Workload Identity.
- En Google Cloud, crea una cuenta de servicio.
- En Google Cloud, permite que la carga de trabajo externa actúe en nombre de la cuenta de servicio.
- En el SDK de ABAP para Google Cloud, implementa el código ABAP para recuperar tokens de seguridad de tu IdP.
- En el SDK de ABAP para Google Cloud, configura la clave del cliente.
No todos los productos de Google Cloud admiten la federación de Workload Identity. Antes de configurar la autenticación mediante la federación de Workload Identity, revisa la lista de productos compatibles y las limitaciones. Para obtener más información, consulta Federación de Workload Identity: productos admitidos y limitaciones.
Prepara el IdP externo
Debes preparar tu IdP para que tu carga de trabajo de SAP pueda obtener credenciales que se puedan intercambiar por un token de seguridad de Google OAuth 2.0.
Para preparar tu IdP externo, sigue los pasos según tu IdP:
- Si usas AWS o Azure como tu IdP, sigue las instrucciones para preparar tu IdP externo.
- Si usas otros IdP, sigue las instrucciones para preparar tu IdP externo.
Configura la federación de Workload Identity
En Google Cloud, configura el grupo y los proveedores de Workload Identity.
Configura un grupo de identidades, que es una entidad que te permite administrar identidades externas. También debes configurar un proveedor de grupo de Workload Identity, que es una entidad que describe una relación entre Google Cloud y tu IdP.
Para configurar la federación de Workload Identity, sigue los pasos según tu IdP externo:
- Si usas AWS o Azure como IdP, sigue las instrucciones para crear el grupo y el proveedor de Workload Identity.
- Si usas otros IdP, sigue las instrucciones para crear el grupo y el proveedor de Workload Identity.
Toma nota de lo siguiente:
- Número de proyecto: el número de proyecto del proyecto de Google Cloud en el que creaste el grupo de Workload Identity.
- ID del grupo: Un ID único que identifica el grupo de identidades para cargas de trabajo.
- ID de proveedor: Un ID que identifica al proveedor de grupos de identidades para cargas de trabajo.
Los necesitarás para la configuración de la clave del cliente del SDK de ABAP.
Crear una cuenta de servicio
En la consola de Google Cloud, crea una cuenta de servicio de IAM dedicada para acceder a las APIs de Google Cloud. Esta cuenta de servicio debe ser una principal en el proyecto de Google Cloud que contiene las APIs de Google Cloud que planeas consumir mediante el SDK.
En la consola de Google Cloud, habilita la API de credenciales de la cuenta de servicio de IAM, la API del servicio de tokens de seguridad y cualquier otra API compatible que planeas acceder mediante el SDK.
Para obtener información sobre cómo habilitar las APIs de Google Cloud, consulta Habilita las API.
Crea una cuenta de servicio que represente la carga de trabajo.
Otorga a la cuenta de servicio los roles de IAM necesarios para acceder a la funcionalidad de la API. Para comprender el requisito de rol para las APIs de Google Cloud, consulta la documentación de la API individual y sigue el principio de privilegio mínimo. Para obtener más detalles sobre los roles predefinidos específicos de la API, consulta Referencia de los roles básicos y predefinidos de IAM.
Permite que la carga de trabajo externa actúe en nombre de la cuenta de servicio
Para permitir que la carga de trabajo externa actúe en nombre de la cuenta de servicio, sigue estos pasos según tu IdP externo:
- Si usas AWS o Azure como IdP, sigue las instrucciones para permitir que la carga de trabajo externa actúe en nombre de la cuenta de servicio.
- Si usas otros IdP, sigue las instrucciones para permitir que la carga de trabajo externa actúe en nombre de la cuenta de servicio.
Implementa el código ABAP para recuperar tokens de seguridad de tu IdP
El SDK de ABAP para Google Cloud proporciona una clase abstracta /GOOG/CL_AUTH_WIF_BASE
, que tiene la lógica para recuperar los tokens de seguridad de OAuth 2.0 del servicio de tokens de seguridad y los tokens de acceso de OAuth 2.0 desde la API de credenciales de la cuenta de servicio de IAM.
Como desarrollador, debes crear una clase en el espacio de nombres que se herede de la clase abstracta /GOOG/CL_AUTH_WIF_BASE
. Esta clase debe implementar el método GET_EXT_IDP_TOKEN
y escribir la lógica para obtener el token de seguridad de tu IdP y propagar los siguientes campos:
CV_TOKEN
: el token recuperado de tu IdP en el formatostring
.CV_TOKEN_TYPE
: el tipo de token de seguridad recuperado de tu IdP. Los tipos de tokens compatibles son los siguientes:urn:ietf:params:oauth:token-type:jwt
urn:ietf:params:oauth:token-type:id_token
urn:ietf:params:aws:token-type:aws4_request
urn:ietf:params:oauth:token-type:access_token
urn:ietf:params:oauth:token-type:saml2
Luego, los valores propagados en CV_TOKEN
y CV_TOKEN_TYPE
se usan mediante métodos de la clase abstracta /GOOG/CL_AUTH_WIF_BASE
para intercambiar y recuperar el token final de OAuth 2.0, que se usa en las llamadas a la API.
En el siguiente ejemplo, se muestran las implementaciones de muestra del método GET_EXT_IDP_TOKEN
para otros proveedores de servicios en la nube, como AWS y Azure.
AWS
Azure
Configura la clave de cliente
-
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. - Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
- Haz clic en Entradas nuevas.
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 Deja este campo en blanco. Permiso de Google Cloud Deja este campo en blanco. Identificador de proyecto de Google Cloud Especifica el ID del proyecto de Google Cloud en el que creaste el grupo de Workload Identity. Nombre del comando Deja este campo en blanco. Clase de autorización Especifica la clase de autenticación, que contiene la implementación del método GET_EXT_IDP_TOKEN
.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 Especifica el ID del grupo de identidades de la carga de trabajo. Parámetro de autorización 2 Especifica el ID del proveedor de Workload Identity. Guarda la entrada.
Autenticación de las APIs de Google Workspace con credenciales de cliente de OAuth 2.0
Para autenticarte en las APIs de Google Workspace con credenciales de cliente de OAuth 2.0, debes completar la siguiente configuración en tu proyecto de Google Cloud y tu entorno de SAP:
Configuraciones de la consola de Google Cloud
Configuración de SAP Landscape
El SDK de ABAP para Google Cloud se envía con los siguientes componentes principales, que son necesarios para la autenticación basada en credenciales de cliente de OAuth 2.0:
- Tipo de proveedor de servicios de OAuth 2.0
/GOOG/ABAP_SDK
que especificas para la configuración del perfil de cliente de OAuth 2.0. - Clase de autenticación
/GOOG/CL_OAUTH_GOOGLE
que especificas para la configuración de la clave del cliente. - Implementaciones de complementos empresariales (BAdI) de SAP que propagan previamente los parámetros de OAuth específicos de Google, como los extremos y la configuración de parámetros obligatoria
Sin embargo, también debes completar las siguientes opciones de configuración en tu entorno de SAP:
- Crea un perfil de cliente de OAuth 2.0
- Configura el cliente de OAuth 2.0
- Configura la clave de cliente
- Solicita tokens de acceso de OAuth 2.0
Crea un consentimiento de OAuth 2.0
La pantalla de consentimiento de OAuth es un mensaje que les indica a los usuarios quién solicita acceso a sus datos y a qué tipo de datos pueden acceder tu app.
En la consola de Google Cloud, ve a Menú> API y servicios > pantalla de consentimiento de OAuth.
Selecciona el tipo de usuario Externo para tu aplicación y haz clic en Crear.
Para completar el formulario de registro de apps, especifica los siguientes detalles:
- Nombre de la app: El nombre de la aplicación que requiere consentimiento.
- Correo electrónico de asistencia del usuario: Un correo electrónico de asistencia para que los usuarios se comuniquen contigo si tienen preguntas sobre su consentimiento.
- Dominios autorizados: Los dominios que se usarán durante el consentimiento de OAuth.
- Información de contacto del desarrollador: Las direcciones de correo electrónico para que Google te notifique sobre cualquier cambio en tu proyecto.
Haz clic en Save and Continue.
Crea un ID de cliente de OAuth 2.0
Para autenticarte como usuario final y acceder a los datos del usuario en tu app, debes crear uno o más IDs de cliente de OAuth 2.0. Un ID de cliente se usa con el fin de identificar una sola app para los servidores de OAuth de Google.
En la consola de Google Cloud, ve a Menú > API y servicios > Credenciales.
Haz clic en Crear credenciales >ID de cliente de OAuth.
En el campo Tipo de aplicación, selecciona Aplicación web.
En el campo Nombre, escribe un nombre para las credenciales. Este nombre solo se muestra en la consola de Google Cloud.
En URI de redireccionamiento autorizados, haz clic en Agregar URI. Luego, ingresa el URI de redireccionamiento de SAP al que el servidor OAuth 2.0 puede enviar respuestas.
Puedes obtener el URI de redireccionamiento de SAP desde la configuración de OAuth 2.0 en la transacción
SICF
.Haz clic en Crear.
Toma nota del ID de cliente y del Secreto del cliente.
Crea un perfil de cliente de OAuth 2.0
Como desarrollador de ABAP, debes crear un perfil de cliente de OAuth con los permisos de OAuth 2.0 que se requieren para los requisitos de tu empresa. Si deseas obtener información sobre los permisos de OAuth 2.0 para las APIs de Google, consulta Alcances de OAuth 2.0 para las API de Google.
Se envía un perfil de cliente de OAuth /GOOG/OAUTH_PROFILE_SAMPLE
de muestra con el SDK, con los alcances de OAuth 2.0 configurados para la API de Hojas de cálculo de Google.
- En la GUI de SAP, ingresa el código de transacción
SE80
. - En la lista desplegable, selecciona Objeto de desarrollo.
- Para crear un objeto de desarrollo en el espacio de nombres personalizado, selecciona Crear > Otros > Perfil de cliente de OAuth 2.0 en el menú contextual del nombre del objeto
Ingresa los siguientes detalles:
- En el campo Perfil del cliente, ingresa un nombre del perfil del cliente.
- En el campo Tipo, selecciona
/GOOG/ABAP_SDK
. Este es el tipo de proveedor predeterminado enviado con el SDK de ABAP para Google Cloud.
Agrega los permisos necesarios a tu perfil de cliente. Para obtener información sobre los permisos de OAuth 2.0, consulta Permisos de OAuth 2.0 para las APIs de Google.
Guarda el perfil del cliente en tu paquete de desarrollo. Incluye el perfil de cliente en una solicitud de transporte, que se puede transportar a entornos superiores.
Configura el cliente de OAuth 2.0
Como administrador de SAP, asocias el perfil de cliente de OAuth con las credenciales de cliente de Google Cloud.
Esta es una actividad única que debes realizar en cada sistema SAP en tu entorno de SAP (Desarrollo, pruebas y Producción).
- En la GUI de SAP, ingresa el código de transacción
OA2C_CONFIG
. La página de acceso de SAP se abrirá en tu navegador predeterminado. - Accede con tus credenciales de SAP.
- Para crear un cliente de OAuth 2.0, haz clic en Crear.
- En el cuadro de diálogo Crear un nuevo cliente de OAuth 2.0, haz lo siguiente:
- Selecciona el perfil de cliente de OAuth 2.0 que creaste antes en Crea un perfil de cliente de OAuth 2.0 en tu sistema SAP.
- Ingresa un nombre para la configuración.
- Ingresa el ID de cliente de OAuth 2.0 de las credenciales de Google Cloud que creaste antes en Crea credenciales de ID de cliente de OAuth 2.0.
- Haz clic en OK.
- En la pestaña Administración, en la sección Configuración general, ingresa el secreto del cliente de las credenciales de Google Cloud que creaste antes en Crea OAuth.Credenciales de ID de cliente 2.0
Si usas un servidor proxy para enrutar el tráfico HTTP/HTTPS saliente desde tu sistema SAP, debes mantener los siguientes detalles del host del proxy en la sección Configuración de acceso:
- Host de proxy
- Puerto proxy:
- Usuario de proxy
- Contraseña de proxy
Haz clic en Guardar.
Configura la clave de cliente
-
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. - Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
- Haz clic en Entradas nuevas.
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 Deja este campo en blanco. Permiso de Google Cloud Deja este campo en blanco. Identificador de proyecto de Google Cloud 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 autenticación, /GOOG/CL_OAUTH_GOOGLE
.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 Especifica el nombre del perfil de cliente de OAuth que creaste antes en Crea un perfil de cliente de OAuth 2.0 en tu sistema SAP. Parámetro de autorización 2 Especifica el nombre de configuración que definiste en el cliente de OAuth 2.0 para un ID de cliente.
Este campo es obligatorio si asociaste un único perfil de cliente de OAuth con más de un ID de cliente.
Para obtener más información, consulta Situación de varios proyectos de Google Cloud.
Guarda la entrada nueva.
Solicita tokens de acceso de OAuth 2.0
Como usuario final, debes solicitar un token de acceso de OAuth 2.0 para permitir el acceso a los recursos de la API.
Esta es una actividad única que cada usuario debe realizar en cada sistema SAP en tu entorno de SAP (desarrollo, pruebas y producción). En caso de que se modifiquen los permisos de OAuth, los usuarios deben repetir esta actividad.
- En la GUI de SAP, ingresa el código de transacción
OA2C_GRANT
. La página de acceso de SAP se abrirá en tu navegador predeterminado. - Accede con tus credenciales de SAP.
- Selecciona el ID de cliente con el que deseas acceder a las APIs.
- Haz clic en Solicitar tokens de OAuth 2.0.
En la pantalla de consentimiento Acceder con Google, ingresa las credenciales de tu Cuenta de Google y haz clic en Permitir.
Un indicador verde en la columna Estado de acceso indica que se permite el acceso a los recursos de la API según el perfil de cliente de OAuth 2.0.
Situación de varios proyectos de Google Cloud
Si habilitaste las APIs de Google Cloud en más de un proyecto de Google Cloud, sigue esta guía para configurar la autenticación con credenciales de cliente de OAuth 2.0:
- En todos los proyectos de Google Cloud, haz lo siguiente:
- En tu sistema SAP, haz lo siguiente:
- Si necesitas asociar un solo perfil de cliente de OAuth con más de un ID de cliente, sigue estas instrucciones adicionales:
- Configurar el cliente de OAuth 2.0 para cada ID de cliente. Cuando configuras un cliente de OAuth 2.0, en el cuadro de diálogo Crear un nuevo cliente de OAuth 2.0, especifica un nombre de configuración único para cada ID de cliente. Para obtener más información, consulta Configura el cliente de OAuth 2.0.
- Configura claves de cliente independientes para cada cliente de OAuth 2.0 con su propio nombre de configuración en el parámetro de autorización 2. Para obtener más información, consulta Configura la clave de cliente.
Autentica mediante una clave de API almacenada en SAP SSF
Los pasos de la configuración de alto nivel son los siguientes:
- Crea una clave de API
- Almacena la clave de API en SSF
- Configura la clave de cliente
- Crea nuevos destinos de RFC
- Configura la asignación de servicios
- Valida la configuración de autenticación
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:
En la consola de Google Cloud, ve a la página Credenciales.
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:
- En la GUI de SAP, ingresa el código de transacción
STRUST
. - 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:
- En la GUI de SAP, ingresa el código de transacción
SE16
. - En el campo Nombre de la tabla, ingresa
SSFAPPLIC
y crea una entrada nueva. - En el campo
APPLIC
, ingreseZG_APK
. 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
Guarda la entrada nueva.
Crea parámetros de SSF
En la GUI de SAP, ingresa el código de transacción
SM30
.Abre la vista
VSSFARGS
.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.Guarda la entrada nueva.
Crea un entorno de seguridad personal (PSE)
En la GUI de SAP, ingresa el código de transacción
STRUST
.En el nodo Encriptación de claves de API de SSF para GCP, haz clic con el botón derecho y selecciona Crear.
En el campo Algoritmo, selecciona
RSA
. Deja los otros campos con valores predeterminados propagados por el sistema.Guarda la entrada nueva.
Almacena la clave de API
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.Haz clic en SDK de ABP para Google Cloud > Ajustes básicos > Configurar clave de API (con SSF).
En Nombre de la clave de Google, ingresa el nombre de la configuración de la clave de cliente.
En el campo Clave de API, ingresa la clave de API que creaste antes en Crea una clave de API.
Selecciona Guardar.
Haz clic en Ejecutar para almacenar la clave de API
Configura la clave de cliente
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.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
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. 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.
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.Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.
Haz clic en Entradas nuevas.
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
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:
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.Haz clic en SDK de ABP para Google Cloud > Ajustes básicos > Configurar clave de API (con SSF).
En el campo Nombre de la clave de Google, ingresa el nombre de la configuración de la clave de cliente.
Selecciona Borrar.
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
- Crea un secreto y almacena la clave de API
- Configura la clave de cliente para el acceso a Secret Manager
- Configura la clave de cliente para el secreto
- Crea nuevos destinos de RFC
- Configura la asignación de servicios
- Valida la recuperación de claves de API desde Secret Manager
- Valida la configuración de autenticación
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:
En la consola de Google Cloud, ve a la página Credenciales.
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:
Habilita la API de Secret Manager.
En la consola de Google Cloud, crea un secreto y almacena la clave de API como la versión más reciente.
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
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.Haz clic en el SDK de ABAP para Google Cloud > Configuración básica > Configurar clave de cliente.
Haz clic en Entradas nuevas.
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
.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.
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.Haz clic en SDK de ABAP para Google Cloud > Configuración básica > Configurar asignación de servicios.
Haz clic en Entradas nuevas.
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
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:
-
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. - Haz clic en SDK de ABP para Google Cloud > Utilidades > Validar la recuperación de claves de API (mediante Secret Manager).
- Especifica el nombre de la clave del cliente.
- 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:
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.Haz clic en SDK de ABP para Google Cloud > Utilidades > Validar configuración de autenticación.
Ingresa el nombre de la clave del cliente.
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:
Consulta la guía de solución de problemas del SDK de ABAP para Google Cloud.
Haz tus preguntas y analiza el SDK de ABAP para Google Cloud con la comunidad en Cloud Forums.
Recopila toda la información de diagnóstico disponible y comunícate con el servicio de Atención al cliente de Cloud. Si deseas obtener más información para comunicarte con el equipo de Atención al cliente de Cloud, consulta Obtén asistencia para SAP en Google Cloud.