En tant que développeur, vous pouvez écrire des fonctions Cloud, qui fournissent des points de terminaison HTTP. Vous appelez des fonctions Cloud à partir de la classe /GOOG/CL_CLOUDFUNC_INVOKER
du SDK ABAP à l'aide de leurs points de terminaison HTTP.
Le processus consiste à appeler une fonction Cloud en utilisant son nom et son emplacement pour obtenir le point de terminaison HTTP de la fonction. Ce point de terminaison est ensuite utilisé pour appeler la fonction. L'authentification auprès de Cloud Functions nécessite un jeton d'ID pour appeler le point de terminaison HTTP.
Les étapes de configuration de haut niveau sont les suivantes :
- Dans Google Cloud, activez les API Google Cloud.
- Créez un compte de service et attribuez des rôles pour obtenir les détails de la fonction Cloud.
- Créez un autre compte de service et attribuez des rôles pour appeler des fonctions Cloud.
- Configurer l'authentification pour Cloud Functions
- Configurez la clé client pour appeler des fonctions Cloud.
Activer les API Google Cloud
Dans la console Google Cloud, activez les API Google Cloud suivantes :
Pour en savoir plus sur l'activation des API Google Cloud, consultez la page Activer des API.
Créer un compte de service pour obtenir des informations sur la fonction Cloud
Dans la console Google Cloud, créez un compte de service IAM pour obtenir les détails de votre fonction Cloud.
Accéder à la page "Comptes de service"
Pour en savoir plus sur la création d'un compte de service, consultez la page Créer un compte de service.
Attribuez les rôles suivants au compte de service :
Pour savoir comment procéder, consultez la section Attribuer un rôle unique.
Créer un autre compte de service pour appeler des fonctions Cloud
Dans la console Google Cloud, créez un compte de service dédié pour appeler des fonctions Cloud.
Accéder à la page "Comptes de service"
Pour en savoir plus sur la création d'un compte de service, consultez la page Créer un compte de service.
Selon la génération des fonctions Cloud que vous appelez, attribuez les rôles appropriés au compte de service :
- Pour les fonctions de 1re génération : attribuez le rôle
Cloud Functions Invoker
au compte de service. - Pour les fonctions de 2e génération : attribuez le rôle
Cloud Run Invoker
au compte de service.
Pour en savoir plus sur les autorisations permettant d'appeler une fonction, consultez la page Authentification pour l'appel.
- Pour les fonctions de 1re génération : attribuez le rôle
Configurer l'authentification sur Cloud Functions
Selon l'environnement dans lequel votre système SAP est hébergé, vous pouvez utiliser l'une des méthodes suivantes pour configurer l'authentification basée sur des jetons afin d'accéder à l'API Cloud Functions :
- Système SAP hébergé sur une VM Compute Engine
- Système SAP RISE ou SAP hébergé en dehors de Google Cloud
Système SAP hébergé sur une VM Compute Engine
Pour configurer l'authentification afin d'accéder à l'API Cloud Functions lorsque votre système SAP est hébergé sur une instance de VM Compute Engine, consultez la page S'authentifier à l'aide de jetons d'accès. Configurez une clé client avec le compte de service que vous avez créé pour obtenir les détails de la fonction Cloud.
Système SAP RISE ou SAP hébergé en dehors de Google Cloud
Configurez l'authentification pour accéder aux API Cloud Functions à l'aide de l'une des méthodes d'authentification suivantes :
- S'authentifier à l'aide de jetons Web JSON (JWT)
- S'authentifier à l'aide de jetons via la fédération d'identité de charge de travail
Configurez une clé client avec le compte de service que vous avez créé pour obtenir les détails de la fonction Cloud.
Configurer une clé client pour appeler des fonctions Cloud
En fonction de l'environnement dans lequel votre système SAP est hébergé, vous utilisez des valeurs différentes pour la configuration de la clé client :
- Système SAP hébergé sur une VM Compute Engine
- Système SAP RISE ou SAP hébergé en dehors de Google Cloud
Système SAP hébergé sur une VM Compute Engine
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP).Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer la clé client.
Cliquez sur Nouvelles entrées.
Renseignez les champs suivants :
Champ Description Nom de la clé Google Cloud Spécifiez un nom de configuration de clé client. Nom du compte de service Google Cloud Spécifiez le nom du compte de service auquel vous avez accordé les autorisations pour appeler des fonctions Cloud. Par exemple,
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Champ d'application Google Cloud Spécifiez le champ d'application d'accès, https://www.googleapis.com/auth/cloud-platform
.ID du projet Spécifiez l'ID du projet Google Cloud pour lequel l'API Cloud Functions est activée. Nom de la commande Laissez ce champ vide. Classe d'autorisation Spécifiez la classe d'autorisation, /GOOG/CL_AUTH_ID_TOKEN
.Champ d'autorisation Laissez ce champ vide. Mise en cache des jetons Laissez ce champ vide. Secondes avant actualisation du jeton Laissez ce champ vide. Paramètre d'autorisation 1 Laissez ce champ vide. Paramètre d'autorisation 2 Laissez ce champ vide. Enregistrez la nouvelle entrée.
Système SAP RISE ou SAP hébergé en dehors de Google Cloud
Dans l'interface utilisateur graphique de SAP, exécutez le code de transaction
/GOOG/SDK_IMG
.Vous pouvez également exécuter le code de transaction
SPRO
, puis cliquer sur SAP Reference IMG (IMG de référence SAP).Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer la clé client.
Cliquez sur Nouvelles entrées.
Renseignez les champs suivants :
Champ Description Nom de la clé Google Cloud Spécifiez un nom de configuration de clé client. Nom du compte de service Google Cloud Spécifiez le nom du compte de service auquel vous avez accordé les autorisations pour appeler des fonctions Cloud. Par exemple,
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Champ d'application Google Cloud Spécifiez le champ d'application d'accès, https://www.googleapis.com/auth/cloud-platform
.ID du projet Spécifiez l'ID du projet Google Cloud pour lequel l'API Cloud Functions est activée. Nom de la commande Laissez ce champ vide. Classe d'autorisation Spécifiez la classe d'autorisation comme suit : - Pour l'authentification à l'aide de JWT, spécifiez
/GOOG/CL_AUTH_JWT_ID_TOKEN
. - Pour l'authentification à l'aide de la fédération d'identité de charge de travail, spécifiez la classe enfant, qui contient l'implémentation de la classe
/GOOG/CL_AUTH_WIF_ID_TOKEN
. Pour en savoir plus, consultez Implémenter du code ABAP pour récupérer des jetons de sécurité auprès de votre IdP.
Champ d'autorisation Laissez ce champ vide. Mise en cache des jetons Laissez ce champ vide. Secondes avant actualisation du jeton Laissez ce champ vide. Paramètre d'autorisation 1 - Pour l'authentification à l'aide d'un jeton JWT, si vous utilisez un nom personnalisé pour l'application SSF, spécifiez le nom de l'application SSF que vous avez créée dans la section Créer un magasin sécurisé et transfert (SSF).
- Pour l'authentification à l'aide de la fédération d'identité de charge de travail, spécifiez l'ID du pool d'identités de charge de travail.
Paramètre d'autorisation 2 - Pour l'authentification à l'aide d'un jeton JWT, laissez ce champ vide.
- Pour l'authentification à l'aide de la fédération d'identité de charge de travail, spécifiez l'ID du fournisseur d'identité de charge de travail.
- Pour l'authentification à l'aide de JWT, spécifiez
Enregistrez la nouvelle entrée.
Obtenir de l'aide
Procédez comme suit si vous avez besoin d'aide pour résoudre les problèmes liés au SDK ABAP pour Google Cloud :
Consultez le guide de dépannage du SDK ABAP pour Google Cloud.
Posez vos questions concernant le SDK ABAP pour Google Cloud et discutez de celui-ci avec la communauté sur les forums Cloud.
Recueillez toutes les informations de diagnostic disponibles et contactez Cloud Customer Care. Pour savoir comment contacter le service client, consultez la page Obtenir de l'aide pour SAP sur Google Cloud.