En este documento, se muestra cómo configurar la autenticación para acceder a las APIs de Google Cloud cuando el sistema SAP se aloja en una instancia de VM de Compute Engine.
Configura la autenticación
Para configurar la autenticación, sigue estos pasos:
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. 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, 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.
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 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.