S'authentifier à l'aide de clés API

Ce document explique comment configurer l'authentification pour accéder aux API Google Cloud à l'aide de clés API. Seules quelques API Google Cloud (par exemple, Google Maps Platform) utilisent des clés API pour l'authentification. Consultez la documentation sur l'authentification concernant le service ou l'API que vous souhaitez utiliser pour déterminer s'il est compatible avec les clés API. Quel que soit l'emplacement de votre système SAP, vous pouvez utiliser des clés API pour l'authentification, à condition que l'API que vous souhaitez utiliser soit compatible avec les clés API.

Pour vous authentifier auprès de l'API Google Cloud à l'aide de clés API, appliquez l'une des méthodes suivantes :

S'authentifier à l'aide de clés API stockées dans SAP SSF

Les étapes de configuration de haut niveau sont les suivantes :

Créer une clé API

Pour vous authentifier à l'aide d'une clé API, vous devez créer une clé API. La chaîne de clé API est une chaîne chiffrée, par exemple AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Le SDK ABAP pour Google Cloud utilise la chaîne de clé API dans la requête HTTP pour s'authentifier de manière sécurisée lors de l'appel d'une API Google Cloud.

Google Cloud propose plusieurs façons de créer des clés API.

Pour créer des clés API à l'aide de la console Google Cloud, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API dans le menu.

    • La boîte de dialogue Clé API créée affiche la chaîne de clé API. Copiez votre chaîne de clé et conservez-la à un emplacement sécurisé. Vous avez besoin de cette clé API pour configurer l'authentification auprès de Google Cloud.

    • Par défaut, les clés API ne sont pas restreintes. Nous vous recommandons de limiter les clés API en sélectionnant les API auxquelles cette clé API peut être utilisée. Pour en savoir plus sur l'ajout de restrictions d'API, consultez la section Ajouter des restrictions d'API.

Stocker la clé API dans SSF

Le SDK ABAP pour Google Cloud offre une option permettant de stocker en toute sécurité des clés API à l'aide du mécanisme de transfert et de stockage sécurisé SAP (SSF).

À l'aide de l'option SSF, vous pouvez stocker la clé API dans un format chiffré dans la table /GOOG/APIKEY_BIN. Lorsqu'une API est appelée, la clé API est récupérée à partir de la table /GOOG/APIKEY_BIN, déchiffrée, et ajoutée à l'URI du point de terminaison de l'API.

Pour des raisons de sécurité, vous ne pouvez pas afficher le contenu de /GOOG/APIKEY_BIN à l'aide d'outils standards, de transactions telles que SE16, SE16N ou SE11.

Prérequis

Pour l'authentification à l'aide d'une clé API stockée dans SAP SSF, vous devez disposer de la version 8.5 et ultérieure de la bibliothèque de cryptographie SAP installée dans votre système SAP. Pour en savoir plus sur la bibliothèque de cryptographie SAP, consultez les pages 1848999 - Central Note for CommonCryptoLib 8 (SAPCRYPTOLIB) et 397175 - SAP Cryptographic software - export control.

Pour vérifier la version de la bibliothèque de cryptographie SAP, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction STRUST.
  2. Accédez au menu Environnement, puis cliquez sur Afficher la version SSF.

Configurer une application SSF

Dans le tableau SSFAPPLIC, créez une application SSF ZG_APK qui chiffre la clé API. ZG_APK est le nom de l'application SSF par défaut.

Vous pouvez également créer une application SSF portant le nom de votre choix ou utiliser une application SSF existante portant un nom différent. Si vous souhaitez utiliser une autre application SSF pour le chiffrement, vous devez configurer le nom de l'application SSF dans Authorization Parameter 1 de la table de clés client.

Pour créer une entrée dans la table SSFAPPLIC, procédez comme suit :

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction SE16.
  2. Dans le champ Nom de la table, saisissez SSFAPPLIC, puis créez une entrée.
  3. Dans le champ APPLIC, saisissez ZG_APK.
  4. Spécifiez les valeurs des champs suivants.

    Champ Valeur
    APPLIC ZG_APK
    B_TOOLKIT Sélectionnez l'option.
    B_FORMAT Sélectionnez l'option.
    B_PAB Sélectionnez l'option.
    B_PROFID Sélectionnez l'option.
    B_PROFILE Sélectionnez l'option.
    B_HASHALG Laissez ce champ vide.
    B_ENCRALG Laissez ce champ vide.
    B_INCCERTS Laissez ce champ vide.
    B_DETACHED Laissez ce champ vide.
    B_ASKPWD Laissez ce champ vide.
    B_DISTRIB Sélectionnez l'option.
    DESCRIPT API Key Encryption for GCP
  5. Enregistrez la nouvelle entrée.

Créer des paramètres SSF
  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction SM30.

  2. Ouvrez la vue VSSFARGS.

  3. Pour l'application ZG_APK (API Key Encryption for GCP), créez une entrée. Les paramètres SSF spécifiques à l'application sont renseignés automatiquement.

  4. Enregistrez la nouvelle entrée.

Créer un environnement de sécurité personnel (PSE)

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction STRUST.

  2. Sous Chiffrement des clés API de nœud SSF pour GCP, effectuez un clic droit, puis sélectionnez Créer.

  3. Dans le champ Algorithme, sélectionnez RSA. Conservez les valeurs par défaut dans les autres champs.

  4. Enregistrez la nouvelle entrée.

Stocker la clé API

  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é API (en utilisant SSF).

  3. Dans Google Key Name (Nom de clé Google), saisissez le nom de la configuration de clé client.

  4. Dans le champ Clé API, saisissez la clé API que vous avez créée précédemment dans la section Créer une clé API.

  5. Sélectionnez Enregistrer.

  6. Cliquez sur Exécuter pour stocker la clé API.

Configurer la clé client

  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. Par exemple, DEMO_API_KEY.
    Nom du compte de service Google Cloud Laissez ce champ vide.
    Champ d'application Google Cloud Spécifiez le niveau d'accès à l'API, https://www.googleapis.com/auth/cloud-platform.
    ID du projet Spécifiez l'ID du projet Google Cloud qui contient vos API cibles.
    Nom de la commande Laissez ce champ vide.
    Classe d'autorisation Spécifiez la classe d'autorisation, /GOOG/CL_AUTH_API_KEY_SSF.
    Mise en cache des jetons

    Option qui détermine si les jetons d'accès récupérés depuis Google Cloud sont mis en cache ou non.

    Nous vous recommandons d'activer la mise en cache des jetons après avoir configuré et testé votre connexion à Google Cloud. Pour en savoir plus sur la mise en cache des jetons, consultez la section Activer la mise en cache des jetons.

    Secondes avant actualisation du jeton Durée (en secondes) avant l'expiration d'un jeton d'accès et son actualisation. La valeur par défaut est 3500.
    Paramètre d'autorisation 1 Si le nom de l'application SSF est différent de ZG_APK, spécifiez le nom de votre application SSF.
    Paramètre d'autorisation 2 Laissez ce champ vide.
  5. Enregistrez la nouvelle entrée.

Créer des destinations RFC.

Pour les API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour Google Cloud, créez des destinations RFC.

Pour en savoir plus sur la création de destinations RFC, consultez la section Destinations RFC.

Si les destinations RFC ne sont pas créées et configurées, le SDK ABAP pour Google Cloud fonctionne à l'aide des points de terminaison de l'API par défaut gérés dans les bouchons de client d'API individuels.

Configurer le mappage de service

Configurez la table de mappage de service pour les API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour 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 le mappage des services.

  3. Cliquez sur Nouvelles entrées.

  4. Spécifiez les destinations RFC pour les API que vous prévoyez d'utiliser, par exemple addressvalidation v1. Si vous souhaitez utiliser d'autres API, spécifiez des destinations RFC pour ces API.

    Nom Nom du service Destination RFC
    Nom de la clé Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Enregistrez la nouvelle entrée.

Supprimer une clé API

Si une clé API n'est plus utilisée, vous pouvez la supprimer de votre système SAP.

Pour supprimer une clé API, procédez comme suit :

  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é API (en utilisant SSF).

  3. Dans le champ Nom de la clé Google, saisissez le nom de la configuration de clé client.

  4. Sélectionnez Supprimer.

  5. Cliquez sur Exécuter pour supprimer la clé API

S'authentifier à l'aide d'une clé API stockée dans Secret Manager

Les étapes de configuration de haut niveau sont les suivantes :

Créer une clé API

Pour vous authentifier à l'aide d'une clé API, vous devez créer une clé API. La chaîne de clé API est une chaîne chiffrée, par exemple AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Le SDK ABAP pour Google Cloud utilise la chaîne de clé API dans la requête HTTP pour s'authentifier de manière sécurisée lors de l'appel d'une API Google Cloud.

Google Cloud propose plusieurs façons de créer des clés API.

Pour créer des clés API à l'aide de la console Google Cloud, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API dans le menu.

    • La boîte de dialogue Clé API créée affiche la chaîne de clé API. Copiez votre chaîne de clé et conservez-la à un emplacement sécurisé. Vous avez besoin de cette clé API pour configurer l'authentification auprès de Google Cloud.

    • Par défaut, les clés API ne sont pas restreintes. Nous vous recommandons de limiter les clés API en sélectionnant les API auxquelles cette clé API peut être utilisée. Pour en savoir plus sur l'ajout de restrictions d'API, consultez la section Ajouter des restrictions d'API.

Créer un secret et stocker la clé API

Le SDK ABAP pour Google Cloud offre une option permettant de stocker en toute sécurité des clés API à l'aide du service Secret Manager de Google Cloud. Pour stocker des chaînes de clé API en toute sécurité, Secret Manager vous permet d'appliquer les bonnes pratiques pour utiliser des clés API en toute sécurité.

Pour créer un secret et stocker la clé API, procédez comme suit :

  1. Activer l'API Secret Manager

    Accéder à la bibliothèque d'API

  2. Dans la console Google Cloud, créez un secret et stockez la clé API en tant que dernière version.

    Accéder à Secret Manager

Pour en savoir plus sur la création d'un secret, consultez la section Créer un secret.

Par défaut, le SDK ABAP pour Google Cloud ne récupère que la dernière version d'un secret.

Configurer une clé client pour l'accès à Secret Manager

Les API Secret Manager utilisent des jetons pour l'authentification. Vous devez donc configurer l'authentification basée sur des jetons pour accéder aux API Secret Manager en fonction de votre déploiement SAP.

Utilisez l'une des méthodes suivantes pour configurer l'authentification basée sur des jetons afin d'accéder aux API de Secret Manager :

Notez le nom de la clé client que vous avez créée pour l'accès à Secret Manager.

Configurer la clé client pour le secret

  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. Par exemple, DEMO_API_KEY.
    Nom du compte de service Google Cloud Laissez ce champ vide.
    Champ d'application Google Cloud Spécifiez le niveau d'accès à l'API, https://www.googleapis.com/auth/cloud-platform.
    ID du projet Spécifiez l'ID du projet Google Cloud qui contient vos API cibles.
    Nom de la commande Laissez ce champ vide.
    Classe d'autorisation Spécifiez /GOOG/CL_AUTH_API_KEY_SM.
    Mise en cache des jetons

    Option qui détermine si les jetons d'accès récupérés depuis Google Cloud sont mis en cache ou non.

    Nous vous recommandons d'activer la mise en cache des jetons après avoir configuré et testé votre connexion à Google Cloud. Pour en savoir plus sur la mise en cache des jetons, consultez la section Activer la mise en cache des jetons.

    Secondes avant actualisation du jeton Durée (en secondes) avant l'expiration d'un jeton d'accès et son actualisation. La valeur par défaut est 3500.
    Paramètre d'autorisation 1 Indiquez le nom de la clé client que vous avez créée pour l'accès à Secret Manager. Par exemple, CLIENT_KEY_SM.
    Paramètre d'autorisation 2 Spécifiez le nom du secret, qui contient la clé API stockée. Par exemple, TEST_SECRET.
  5. Enregistrez la nouvelle entrée.

Créer des destinations RFC.

Pour les API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour Google Cloud, créez des destinations RFC.

Pour en savoir plus sur la création de destinations RFC, consultez la section Destinations RFC.

Si les destinations RFC ne sont pas créées et configurées, le SDK ABAP pour Google Cloud fonctionne à l'aide des points de terminaison de l'API par défaut gérés dans les bouchons de client d'API individuels.

Configurer le mappage de service

Configurez la table de mappage de service pour les API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour 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 le mappage des services.

  3. Cliquez sur Nouvelles entrées.

  4. Spécifiez les destinations RFC pour les API que vous prévoyez d'utiliser, par exemple addressvalidation v1. Si vous souhaitez utiliser d'autres API, spécifiez des destinations RFC pour ces API.

    Nom Nom du service Destination RFC
    Nom de la clé Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Enregistrez la nouvelle entrée.

Valider la récupération de clé API à partir de Secret Manager

Pour valider la récupération des clés API à partir de Secret Manager, procédez comme suit :

  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 > Utilitaires > Valider la récupération des clés API (à l'aide de Secret Manager).
  3. Spécifiez le nom de la clé client.
  4. Cliquez sur Exécuter pour vérifier si la clé API a bien été récupérée à partir de Secret Manager.

Valider la configuration de l'authentification

Pour valider la configuration d'authentification, procédez comme suit :

  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 > Utilitaires > Valider la configuration de l'authentification.

  3. Saisissez le nom de la clé client.

  4. Cliquez sur Exécuter pour vérifier si le flux global est correctement configuré.

    Une coche verte dans la colonne Résultat indique que toutes les étapes de configuration ont été effectuées.

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 :