Ce document explique comment configurer l'authentification pour accéder aux API Google Cloud lorsque votre système SAP s'exécute sur un hôte sur site, sur un autre fournisseur cloud, dans un autre environnement extérieur à Google Cloud ou sur un hôte géré par SAP via le programme SAP RISE. Pour l'authentification à Google Cloud, vous utilisez des jetons Web JSON (JWT) signés Google Cloud pour obtenir des jetons d'accès depuis Google Cloud.
Les étapes de configuration de haut niveau sont les suivantes :
- Créer un compte de service pour la récupération de jeton basée sur JWT
- Configurez les paramètres de sécurité Google Cloud sur l'hôte SAP.
- Activez les API Google Cloud.
- Créer un autre compte de service pour autoriser l'accès aux API Google Cloud.
- Créer des configurations SAP
- Validez la configuration de l'authentification.
Créer un compte de service pour la récupération de jeton basée sur JWT
Pour l'authentification basée sur JWT à Google Cloud, le SDK ABAP pour Google Cloud nécessite un compte de service IAM.
Créer un compte de service
Créez un compte de service et attribuez-lui le rôle IAM Service Account Token Creator
.
Pour créer un compte de service, suivez les étapes suivantes :
Dans la console Google Cloud, créez un compte de service IAM pour la récupération de jeton basée sur JWT.
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 le rôle
Service Account Token Creator
au compte de service. Pour savoir comment procéder, consultez la section Attribuer un rôle unique.
Créer une clé de compte de service
Vous devez créer une clé de compte de service P12 pour le compte de service utilisé pour la récupération de jeton basée sur JWT.
Pour créer une clé de compte de service, procédez comme suit :
Dans la console Google Cloud, accédez à la page Comptes de service d'IAM et administration.
Sélectionnez votre projet Google Cloud.
Cliquez sur l'adresse e-mail du compte de service que vous avez créé pour la récupération de jeton basée sur JWT dans la section précédente, Créer un compte de service.
Sous le nom du compte de service, cliquez sur l'onglet Clés.
Cliquez sur le menu déroulant Ajouter une clé, puis sélectionnez Créer une clé pour créer une clé de compte de service.
Acceptez P12 comme type de clé, puis cliquez sur Créer.
Une clé privée est téléchargée sur votre ordinateur.
Notez le mot de passe du fichier de clé privée,
notasecret
.Indiquez la clé privée et le mot de passe à votre administrateur SAP pour importer la clé privée dans
STRUST
, comme décrit dans la section Importer la clé de compte de service dans STRUST.
Spécifier le compte de service pour la signature JWT
Si vous avez créé le compte de service pour la signature JWT dans un projet différent de celui contenant les API Google Cloud, vous devez spécifier le compte de service sur le système hôte SAP.
Si vous avez créé le compte de service dans le même projet qui contient les API Google Cloud, vous pouvez ignorer cette étape.
Pour spécifier le compte de service pour la signature JWT, procédez comme suit :
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 les paramètres.
Cliquez sur Nouvelles entrées.
Dans le champ Nom du paramètre, saisissez
JWT_SERVC_ACCT
. La description du paramètre est renseignée automatiquement.Dans le champ Valeur de paramètre, saisissez le nom du compte de service.
Enregistrez la nouvelle entrée.
Configurer les paramètres de sécurité Google Cloud sur le système hôte SAP
Pour activer la signature JWT pour le compte de service que vous avez créé pour la récupération de jeton basée sur JWT, vous devez configurer les paramètres de sécurité de Google Cloud sur le système hôte SAP.
Créer une nouvelle application de stockage et de transfert sécurisés (SSF)
Chaque entrée SSFAPPLIC
vous permet d'enregistrer une seule clé de compte de service.
Pour enregistrer des clés de compte de service pour plusieurs projets, vous devez créer plusieurs entrées SSFAPPLIC
en suivant les mêmes étapes.
Pour créer une entrée dans la table SSFAPPLIC
, procédez comme suit :
- Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction
SE16
. - Dans le champ Nom de la table, saisissez
SSFAPPLIC
, puis créez une entrée. - Dans le champ APPLIC, saisissez le nom de votre application SSF (par exemple,
ZG_JWT
). - À l'exception des champs B_INCCERTS, B_DETACHED, B_ASKPWD et B_DISTRIB, sélectionnez tous les autres champs.
- Dans le champ DESCRIPT, saisissez
JWT Signature for GCP
. Enregistrez la nouvelle entrée.
Cette entrée devient un nouveau nœud dans la transaction
STRUST
, où vous importez la clé du compte de service.
Activer le nœud STRUST
Utilisez la transaction SSFA
pour activer le nœud STRUST
pour JWT Signature for GCP
.
Pour activer le nœud STRUST
, procédez comme suit :
- Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction
SSFA
. - Cliquez sur Nouvelles entrées.
Dans la liste déroulante Application SSF, sélectionnez
JWT Signature for GCP
. Il s'agit de la nouvelle entrée que vous avez créée dans la tableSSFAPPLIC
.Les paramètres SSF spécifiques à l'application sont renseignés automatiquement.
Enregistrez la nouvelle entrée.
Un nouveau nœud
SSF JWT Signature for GCP
est activé dans la transactionSTRUST
.
Importer la clé de compte de service dans STRUST
Pour importer la clé de compte de service dans STRUST
, procédez comme suit :
Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction
STRUST
.Vérifiez que le nouveau nœud dans la transaction
STRUST
estSSF JWT Signature for GCP
.Importez le fichier de clé privée :
- Sélectionnez PSE > Importer dans la barre de menu.
- Selon votre système SAP, sélectionnez la clé privée appropriée :
- SAP S/4HANA
- Sélectionnez la clé privée P12.
- Saisissez le mot de passe du fichier
notasecret
, puis cliquez sur OK.
- SAP ECC
- Sélectionnez la clé privée PSE. Vous devez convertir la clé privée P12 que vous avez téléchargée précédemment en clé privée PSE. Pour en savoir plus sur la conversion d'une clé P12 en clé PSE, consultez la section Convertir une clé P12 en clé PSE.
- Saisissez le code d'identification du fichier que vous avez créé lors de la conversion de la clé privée P12 en clé privée PSE, puis cliquez sur OK.
- SAP S/4HANA
Sélectionnez PSE > Enregistrer sous.
Sélectionnez Application SSF, puis, dans le champs de saisie correspondant, sélectionnez le nouveau nœud d'application SSF créé dans la section Créer une application de stockage et de transfert sécurisés (SSF).
Enregistrez la nouvelle entrée.
La clé de service est associée au nœud d'application SSF
SSF JWT Signature for GCP
.
Convertir la clé privée P12 en clé PSE
Si votre système SAP SAP NetWeaver 7.0x (SAP ECC), vous devez convertir la clé P12 en clé PSE.
Pour convertir la clé P12 en clé PSE, procédez comme suit :
Accédez au chemin de répertoire suivant :
/usr/sap/SID/SYS/exe/run/
Remplacez SID par l'ID du système SAP.
Exécutez la commande suivante après avoir remplacé les espaces réservés :
sapgenpse import_p12 -p PSE_PATH_AND_FILE_NAME P12_PATH_AND_FILE_NAME.p12
Remplacez les éléments suivants :
PSE_PATH_AND_FILE_NAME
: spécifiez le chemin d'accès et le nom du fichier PSE.P12_PATH_AND_FILE_NAME
: spécifiez le chemin d'accès et le nom du fichier de clé P12.
Saisissez le mot de passe du fichier de clé privée P12,
notasecret
.Créez un nouveau code d'identification pour la clé privée PSE, puis saisissez à nouveau votre code.
Notez ce code. Vous devez le fournir lors de l'importation du fichier de clé privée PSE dans
STRUST
.
Pour en savoir plus sur la conversion d'une clé P12 en clé PSE, consultez les pages suivantes :
Activer les API Google Cloud
Dans la console Google Cloud, activez l'API Service Account Credentials IAM pour votre projet Google Cloud qui nécessite une authentification. Outre l'API Service Account Credentials IAM, vous devez activer toutes les autres API compatibles auxquelles vous prévoyez d'accéder à l'aide du SDK.
Accéder à la bibliothèque d'API
Pour en savoir plus sur l'activation des API Google Cloud, consultez la page Activer des API.
Créer un compte de service pour autoriser l'accès aux API Google Cloud
Pour l'authentification et l'autorisation d'accès aux API Google Cloud, le SDK ABAP pour Google Cloud nécessite un compte de service IAM.
Créer un compte de service
Dans la console Google Cloud, créez un compte de service IAM. Ce compte de service doit être un compte principal dans le projet Google Cloud contenant les API Google Cloud que vous prévoyez d'utiliser à l'aide du SDK. Si vous créez le compte de service dans le même projet qui contient les API Google Cloud, le compte de service est automatiquement ajouté en tant que compte principal au projet.
Si vous créez le compte de service dans un projet autre que celui dans lequel les API Google Cloud sont activées, vous devez ajouter le compte de service à ce projet lors d'une étape supplémentaire.
Dans la console Google Cloud, créez un compte de service IAM pour l'authentification et l'autorisation d'accès aux API Google 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.
Dans la console Google Cloud, accordez au compte de service les rôles IAM requis pour accéder aux fonctionnalités de l'API. Pour comprendre les exigences de rôle pour les API Google Cloud, consultez la documentation de l'API concernée et suivez le principe du moindre privilège. Pour en savoir plus sur les rôles prédéfinis spécifiques à l'API, consultez la page Rechercher des rôles IAM pour les API Google Cloud.
Si vous avez créé le compte de service dans un projet différent de celui contenant les API Google Cloud que vous prévoyez d'utiliser à l'aide du SDK, notez le nom du compte de service. Ce nom doit être spécifié lors de l'ajout du compte de service à ce projet. Pour en savoir plus, consultez la section Ajouter le compte de service au projet Google Cloud.
Ajouter le compte de service au projet Google Cloud
Si vous avez créé le compte de service du SDK ABAP pour Google Cloud dans un projet autre que le projet contenant les API Google Cloud que vous prévoyez d'utiliser à l'aide du SDK, vous devez ajouter le compte de service au projet Google Cloud contenant les API Google Cloud.
Si vous avez créé le compte de service dans le même projet qui contient les API Google Cloud, vous pouvez ignorer cette étape.
Pour ajouter un compte de service existant au projet Google Cloud contenant les API Google Cloud, procédez comme suit :
Dans la console Google Cloud, accédez à la page "Autorisations IAM".
Vérifiez que le nom du projet contenant les API Google Cloud cibles s'affiche bien en haut de la page. Exemple :
Autorisations pour le projet "
PROJECT_NAME
"Si ce n'est pas le cas, changez de projet.
Sur la page IAM, cliquez sur
Accorder l'accès. La boîte de dialogue Accorder l'accès à "PROJECT_NAME
" s'ouvre.Dans la boîte de dialogue Accorder l'accès à "
PROJECT_NAME
", procédez comme suit :- Dans le champ Nouveaux comptes principaux, spécifiez le nom du compte de service.
Dans le champ Sélectionner un rôle, spécifiez un rôle approprié. Par exemple, pour Pub/Sub, pour modifier les sujets et les abonnements, ainsi que pour accéder à la publication et à la consultation de messages, vous pouvez spécifier le rôle "Éditeur Pub/Sub" (
roles/pubsub.editor
).Pour en savoir plus sur les rôles prédéfinis spécifiques à l'API, consultez la documentation de référence sur les rôles IAM de base et prédéfinis.
Ajoutez des rôles supplémentaires selon vos besoins pour l'utilisation de l'API. Mettez en œuvre les bonnes pratiques recommandées par Google en appliquant le principe du moindre privilège.
Cliquez sur Enregistrer. Le compte de service apparaît dans la liste des comptes principaux du projet sur la page IAM.
Le compte de service permet désormais d'accéder aux API Google Cloud de ce projet.
Configurer la connexion HTTPS
Le serveur d'applications SAP est requis pour se connecter aux API Google Cloud via HTTPS.
Sur l'hôte SAP, vérifiez que les règles ou les proxys sont configurés pour autoriser le trafic sortant du port HTTPS vers les API Google Cloud requises.
Plus précisément, votre système SAP doit pouvoir accéder aux points de terminaison d'API suivants :
https://iamcredentials.googleapis.com
- Les points de terminaison des API que vous souhaitez utiliser à l'aide du SDK.
Créer des configurations SAP
Pour l'authentification basée sur JWT, créez les configurations SAP requises.
Spécifier les paramètres d'accès dans la table de clés client
Pour spécifier les paramètres d'accès, procédez comme suit :
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 (au format d'adresse e-mail) créé pour le SDK ABAP pour Google Cloud à l'étape Créer un compte de service. 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 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_JWT
.Champ d'autorisation Laissez ce champ vide. Secondes avant actualisation du jeton Laissez ce champ vide. Paramètre d'autorisation 1 Spécifiez le nom de l'application SSF que vous avez créée dans la section Créer une nouvelle application de stockage et de transfert sécurisés (SSF). Enregistrez la nouvelle entrée.
Créer des destinations RFC.
Créez des destinations RFC pour l'API IAM et les autres API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour Google Cloud, par exemple l'API Pub/Sub v1.
Nom de la destination RFC | Remarques |
---|---|
ZGOOG_IAMCREDENTIALS |
Cette destination RFC cible l'API Cloud IAM. |
ZGOOG_OAUTH2_TOKEN |
Cette destination RFC cible le point de terminaison Google Cloud pour l'authentification basée sur des jetons. |
ZGOOG_PUBSUB_V1 |
Cette destination RFC cible l'API Pub/Sub. |
Pour en savoir plus sur la création de destinations RFC, consultez la section Destinations RFC.
Spécifier les destinations RFC dans la table de mappage des services
Dans le tableau de mappage des services, spécifiez les destinations RFC pour l'API IAM et les autres API que vous prévoyez d'utiliser à l'aide du SDK ABAP pour Google Cloud.
Pour spécifier les destinations RFC, procédez comme suit :
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 le mappage des services.
Cliquez sur Nouvelles entrées.
Spécifiez les destinations RFC pour l'API IAM et d'autres API, par exemple :
Nom Nom du service Destination RFC Nom de la clé Google Cloud iamcredentials:v1
ZGOOG_IAMCREDENTIALS
Nom de la clé Google Cloud googleapis.com/oauth2
ZGOOG_OAUTH2_TOKEN
Nom de la clé Google Cloud pubsub.googleapis.com
ZGOOG_PUBSUB_V1
Enregistrez la nouvelle entrée.
Valider la configuration de l'authentification
Pour valider la configuration d'authentification, procédez comme suit :
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 > Utilitaires > Valider la configuration de l'authentification.
Saisissez le nom de la clé client.
Cliquez sur Exécuter pour vérifier si le flux global est correctement configuré.
Une coche verte dans la colonne État 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 :
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.