S'authentifier pour appeler des fonctions Cloud

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 :

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

  1. 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.

  2. 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

  1. 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.

  2. 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.

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

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 :

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

  1. 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).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer la clé client.

  3. Cliquez sur Nouvelles entrées.

  4. 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.
  5. Enregistrez la nouvelle entrée.

Système SAP RISE ou SAP hébergé en dehors de Google Cloud

  1. 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).

  2. Cliquez sur SDK ABAP pour Google Cloud > Paramètres de base > Configurer la clé client.

  3. Cliquez sur Nouvelles entrées.

  4. 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 :
    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.
  5. 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 :