En este documento, se muestra cómo configurar la autenticación para acceder a las APIs de Google Cloud cuando tu sistema SAP se ejecuta en un host local, en otro proveedor de servicios en la nube o en otro entorno fuera de Google Cloud administrados 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.
Crear una cuenta de servicio
Crea una cuenta de servicio y otórgale el rol de IAM Service Account Token Creator
.
Para crear una cuenta de servicio, ejecuta los siguientes pasos:
En la consola de Google Cloud, crea una cuenta de servicio de IAM para la recuperación de tokens basada en JWT.
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.
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. Si deseas obtener más información sobre los roles predefinidos específicos de la API, consulta Encuentra funciones de IAM para las APIs de Google Cloud.
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.
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 ABAP 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 Estado indica que todos los pasos de configuración se completaron de forma correcta.
Obtenga 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.