Partager via


Utiliser Kerberos pour l’authentification unique avec gx64krb5

Cet article explique comment configurer votre source de données SAP Business Warehouse (BW) pour activer l’authentification unique à partir de l’service Power BI à l’aide de gx64krb5.

Important

Microsoft vous permet de créer des connexions à l’aide de bibliothèques SNC (comme gx64krb5), mais ne prend pas en charge ces configurations. En outre, SAP ne prend plus en charge gx64krb5 pour les passerelles de données locales dans Power BI, et les étapes nécessaires pour le configurer pour la passerelle sont beaucoup plus complexes qu’avec CommonCryptoLib. Microsoft recommande donc d’utiliser CommonCryptoLib à la place. Pour plus d’informations, consultez SAP Note 352295. Notez que gx64krb5 n’autorise pas les connexions SSO de la passerelle de données aux serveurs de messages SAP BW. Seules les connexions aux serveurs d’applications SAP BW sont possibles. Cette restriction n’existe pas si vous utilisez CommonCryptoLib comme bibliothèque SNC. Consultez Configurer SAP BW pour l’authentification unique à l’aide de CommonCryptoLib pour plus d’informations sur la configuration de l’authentification unique à l’aide de CommonCryptoLib. Utilisez CommonCryptoLib ou gx64krb5 comme bibliothèque SNC, mais pas les deux. N’effectuez pas les étapes de configuration pour les deux bibliothèques.

Notes

La configuration des deux bibliothèques (sapcrypto et gx64krb5) sur le même serveur passerelle est un scénario non pris en charge. Il n’est pas recommandé de configurer les deux bibliothèques sur le même serveur de passerelle car cela conduirait à un mélange de bibliothèques. Si vous souhaitez utiliser les deux bibliothèques, veuillez séparer complètement le serveur de la passerelle. Par exemple, configurez gx64krb5 pour le serveur A puis sapcrypto pour le serveur B. N’oubliez pas que toute panne sur le serveur A qui utilise gx64krb5 n’est pas prise en charge, car gx64krb5 n’est plus pris en charge par SAP et Microsoft.

Ce guide décrit l’ensemble des étapes du processus. Si vous avez déjà effectué certaines de ces étapes, vous pouvez les ignorer. Par exemple, vous avez peut-être déjà configuré votre serveur SAP BW pour l’authentification unique à l’aide de gx64krb5.

Configurer gx64krb5 sur la machine de passerelle et le serveur SAP BW

La bibliothèque gx64krb5 doit être utilisée par le client et par le serveur pour qu’une connexion à authentification unique puisse être établie par le biais de la passerelle. Autrement dit, le client et le serveur doivent utiliser la même bibliothèque SNC.

  1. Téléchargez le fichier gx64krb5.dll à partir de la page Note SAP 2115486 (identifiant SAP s-user nécessaire). Veillez à disposer de la version 1.0.11.x au moins. Téléchargez également le fichier gsskrb5.dll (la version 32 bits de la bibliothèque) si vous souhaitez tester la connexion par authentification unique dans l’interface utilisateur graphique SAP avant d’essayer cette connexion par le biais de la passerelle (recommandé). La version 32 bits est requise pour effectuer des tests avec l’interface utilisateur graphique SAP, car cette interface est disponible uniquement en version 32 bits.

  2. Placez le fichier gx64krb5.dll sur votre machine de passerelle à un emplacement accessible par l’utilisateur du service de passerelle. Si vous souhaitez tester la connexion par authentification unique à l’aide de l’interface utilisateur graphique SAP, placez également une copie de gsskrb5.dll sur la machine et définissez la variable d’environnement SNC_LIB de façon à ce qu’elle pointe vers cette copie. L’utilisateur du service de passerelle et les utilisateurs d’Active Directory (AD) dont l’utilisateur du service emprunte les identités ont tous besoin des autorisations de lecture et d’exécution sur la copie de gx64krb5.dll. Nous vous recommandons d’accorder des autorisations au fichier .dll au groupe des utilisateurs authentifiés. À des fins de test, vous pouvez également accorder explicitement ces autorisations à l’utilisateur du service de passerelle et à l’utilisateur AD que vous utilisez pour tester.

  3. Si vous n’avez pas encore configuré votre serveur BW pour l’authentification unique avec gx64krb5.dll, placez une autre copie du fichier .dll sur votre machine serveur SAP BW à un emplacement accessible par le serveur SAP BW.

    Pour plus d’informations sur la configuration de gx64krb5.dll en vue d’une utilisation avec un serveur SAP BW, consultez la documentation SAP (identifiant SAP s-user nécessaire).

  4. Sur les machine serveur et clientes, définissez les variables d’environnement SNC_LIB et SNC_LIB_64 :

    • Si vous utilisez gsskrb5.dll, définissez la variable SNC_LIB sur son chemin absolu.
    • Si vous utilisez gx64krb5.dll, définissez la variable SNC_LIB_64 sur son chemin absolu.

Configurer un utilisateur du service SAP BW et activer la communication SNC sur le serveur BW

Effectuez les étapes de cette section si vous n’avez pas encore configuré votre serveur SAP BW pour la communication SNC (par exemple, l’authentification unique) à l’aide de gx64krb5.

Notes

Cette section part du principe que vous avez déjà créé un utilisateur de service pour BW et lui avez lié un nom de principal du service approprié (par exemple, un nom qui commence par SAP/ ).

  1. Accordez à l’utilisateur du service l’accès à votre serveur d’applications SAP BW :

    1. Sur la machine serveur SAP BW, ajoutez l’utilisateur du service au groupe d’administrateurs local. Ouvrez le programme Gestion des ordinateurs, puis identifiez le groupe d’administrateurs local pour votre serveur.

      Programme Gestion des ordinateurs

    2. Double-cliquez sur le groupe Administrateur local, puis sélectionnez Ajouter pour ajouter votre utilisateur de service au groupe.

    3. Sélectionnez Vérifier les noms pour vérifier que vous avez entré le nom correctement, puis sélectionnez OK.

  2. Définissez l’utilisateur du service du serveur SAP BW en tant qu’utilisateur qui démarre le service du serveur SAP BW sur la machine serveur SAP BW :

    1. Ouvrez Exécuter et entrez Services.msc.

    2. Recherchez le service correspondant à votre instance de serveur d’applications SAP BW, cliquez dessus avec le bouton droit, puis sélectionnez Propriétés.

      Capture d’écran de Services, avec l’option Propriétés en surbrillance

    3. Basculez vers l’onglet Se connecter et remplacez l’utilisateur par votre utilisateur de service SAP BW.

    4. Entrez le mot de passe de l’utilisateur, puis sélectionnez OK.

  3. Dans SAP Logon, connectez-vous à votre serveur et définissez les paramètres de profil suivants à l’aide de la transaction RZ10 :

    1. Définissez le paramètre de profil snc/identity/as sur p:<utilisateur du service SAP BW que vous avez créé> . Par exemple, p:BWServiceUser@MYDOMAIN.COM. Notez que p : précède le nom d’utilisateur principal de l’utilisateur du service (UPN), par opposition à p :CN=, qui précède l’UPN lorsque vous utilisez CommonCryptoLib comme bibliothèque SNC.

    2. Définissez le paramètre de profil snc/gssapi_lib sur le <chemin de gx64krb5.dll sur le serveur BW>. Placez la bibliothèque à un emplacement accessible par le serveur d’applications SAP BW.

    3. Définissez les paramètres de profil supplémentaires suivants en changeant les valeurs en fonction de vos besoins. Les cinq dernières options permettent aux clients de se connecter au serveur SAP BW à l’aide de SAP Logon sans avoir à configurer un SNC.

      Paramètre Valeur
      snc/data_protection/max 3
      snc/data_protection/min 1
      snc/data_protection/use 9
      snc/accept_insecure_cpic 1
      snc/accept_insecure_gui 1
      snc/accept_insecure_r3int_rfc 1
      snc/accept_insecure_rfc 1
      snc/permit_insecure_start 1
    4. Définissez la propriété snc/enable sur 1.

  4. Après avoir défini ces paramètres de profil, ouvrez la console de gestion SAP sur la machine serveur et redémarrez l’instance SAP BW.

    Si le serveur ne démarre pas, vérifiez que vous avez correctement défini les paramètres de profil. Pour plus d’informations sur les paramètres de profil, consultez la documentation SAP. Vous pouvez également consulter la section Résolution des problèmes de cet article.

Mapper un utilisateur SAP BW à un utilisateur Active Directory

Si ce n’est déjà fait, mappez un utilisateur AD à un utilisateur SAP BW Application Server et testez la connexion sSO dans SAP Logon.

  1. Connectez-vous au serveur SAP BW à l’aide de SAP Logon. Exécutez la transaction SU01.

  2. Pour User, entrez l’utilisateur SAP BW pour lequel vous souhaitez activer la connexion SSO. Sélectionnez l’icône Edit (qui représente un stylo) près de l’angle supérieur gauche de la fenêtre SAP Logon.

    SAP BW - Écran User maintenance

  3. Sélectionnez l’onglet SNC. Dans la zone de texte SNC name (Nom SNC), entrez p:<votre utilisateur Active Directory>@<votre domaine>. Pour le nom SNC, p : doit précéder l’UPN de l’utilisateur AD. Notez que l’UPN respecte la casse.

    L’utilisateur AD que vous spécifiez doit appartenir à la personne ou à l’organisation pour laquelle vous souhaitez activer l’accès de l’authentification unique au serveur d’applications SAP BW. Par exemple, si vous souhaitez activer l’accès SSO pour l’utilisateur testuser@TESTDOMAIN.COM, entrez p:testuser@TESTDOMAIN.COM.

    SAP BW - Écran Maintain users

  4. Sélectionnez l’icône Save (qui représente une disquette) près de l’angle supérieur gauche de l’écran.

Tester la connexion par authentification unique

Vérifiez que vous pouvez vous connecter au serveur à l’aide de SAP Logon via l’authentification unique en tant qu’utilisateur AD pour lequel vous avez activé l’accès à l’authentification unique :

  1. En tant qu’utilisateur AD pour lequel vous venez d’activer l’accès à l’authentification unique, connectez-vous à un ordinateur de votre domaine sur lequel SAP Logon est installé. Lancez SAP Logon et créez une connexion.

  2. Copiez le fichier gsskrb5.dll que vous avez téléchargé précédemment vers un emplacement sur l’ordinateur auquel vous vous êtes connecté. Définissez la variable d’environnement SNC_LIB sur le chemin absolu de l’emplacement choisi.

  3. Lancez l’ouverture de session SAP et créez une connexion.

  4. Dans l’écran Create New System Entry (Créer une entrée système), sélectionnez User Specified System (Système spécifié par l’utilisateur), puis sélectionnez Next (Suivant).

    Écran Create New System Entry

  5. Renseignez les informations appropriées dans l’écran suivant, y compris le serveur d’applications, le numéro d’instance et l’ID du système. Ensuite, sélectionnez Finish.

  6. Cliquez avec le bouton droit sur la nouvelle connexion, sélectionnez Properties, puis sélectionnez l’onglet Network.

  7. Dans la zone SNC Name, entrez p:<UPN de l’utilisateur du service SAP BW> . Par exemple, p:BWServiceUser@MYDOMAIN.COM. Sélectionnez OK.

    Écran System Entry Properties

  8. Double-cliquez sur la connexion que vous venez de créer pour tenter une connexion SSO à votre serveur SAP BW.

    Si cette connexion réussit, passez à la section suivante. Sinon, passez en revue les étapes antérieures de ce document pour vous assurer de les avoir effectuées correctement, ou consultez la section Résolution des problèmes. Si vous ne réussissez pas à vous connecter au serveur SAP BW par le biais de l’authentification unique dans ce contexte, vous ne pouvez pas non plus le faire dans le contexte de la passerelle.

Ajouter des entrées de Registre à la machine de passerelle

Ajoutez les entrées de registre nécessaires au registre de la machine sur laquelle la passerelle est installée et aux machines qui se connecteront à partir de Power BI Desktop. Pour ajouter ces entrées de registre, exécutez les commandes suivantes :

  • REG ADD HKLM\SOFTWARE\Wow6432Node\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

  • REG ADD HKLM\SOFTWARE\SAP\gsskrb5 /v ForceIniCredOK /t REG_DWORD /d 1 /f

Ajouter une nouvelle source de données du serveur d’applications SAP BW au service Power BI ou en modifier une existante

  1. Dans la fenêtre de configuration de la source de données, entrez le Nom d’hôte, le Numéro système et l’ID client du serveur d’applications SAP BW que vous utilisez pour vous connecter à votre serveur SAP BW à partir de Power BI Desktop.

  2. Dans le champ Nom du partenaire SNC, entrez p:<SPN que vous avez associé à l’utilisateur du service SAP BW> . Par exemple, si le SPN est SAP/BWServiceUser@MYDOMAIN.COM, entrez p:SAP/BWServiceUser@MYDOMAIN.COM dans le champ Nom du partenaire SNC.

  3. Pour la bibliothèque SNC, sélectionnez l’option Personnaliser et spécifiez le chemin absolu pour GX64KRB5.DLL ou GSSKRB5.DLL sur la machine de la passerelle.

  4. Sélectionnez Utiliser SSO via Kerberos pour les requêtes DirectQuery, puis sélectionnez Appliquer. Si le test de la connexion échoue, vérifiez que vous avez correctement effectué les étapes d’installation et de configuration précédentes.

  5. Générez un rapport Power BI.

Dépannage

Résoudre les problèmes de configuration de gx64krb5

Si vous rencontrez l’un des problèmes suivants, suivez ces étapes pour corriger l’installation de gx64krb5 et les connexions par authentification unique :

  • Des erreurs se produisent quand vous effectuez les étapes de configuration de gx64krb5. Par exemple, le serveur SAP BW ne démarre pas après la modification des paramètres de profil. Consultez les journaux du serveur (…work\dev_w0 sur l’ordinateur serveur) pour résoudre ces erreurs.

  • Vous ne pouvez pas démarrer le service SAP BW en raison d’un échec d’authentification. Vous avez peut-être fourni un mot de passe incorrect en définissant l’utilisateur SAP BW start-as. Vérifiez le mot de passe en vous connectant en tant qu’utilisateur de service SAP BW sur un ordinateur de votre environnement AD.

  • Vous obtenez des erreurs sur les informations d’identification de source de données sous-jacentes (par exemple, SQL Server), ce qui empêche le démarrage du serveur. Vérifiez que vous avez accordé à l’utilisateur du service l’accès à la base de données SAP BW.

  • Vous obtenez le message suivant : (GSS-API) La cible spécifiée est inconnue ou inaccessible. Cette erreur indique généralement que vous avez spécifié un nom SNC incorrect. Dans l’application cliente, veillez à faire précéder l’UPN de l’utilisateur du service de p: uniquement et non p:CN= .

  • Vous obtenez le message suivant : (GSS-API) Un nom non valide a été fourni. Vérifiez que p: est spécifié comme valeur du paramètre de profil d’identité SNC du serveur.

  • Vous obtenez le message suivant : (Erreur SNC) Le module spécifié est introuvable. Cette erreur est souvent due au fait que le fichier gx64krb5.dll a été copié à un emplacement dont l’accès nécessite des privilèges élevés (../droits d’administrateur).

Résoudre les problèmes de connectivité de la passerelle

  1. Consultez les journaux de la passerelle. Ouvrez l’application de configuration de la passerelle, puis sélectionnez Diagnostics, puis exportez les journaux. Les erreurs les plus récentes apparaissent à la fin des fichiers journaux que vous examinez.

    Application Passerelle de données locale avec l’option Diagnostics en surbrillance

  2. Activez le suivi SAP BW et passez en revue les fichiers journaux générés. Différents types de traçage SAP BW sont disponibles (par exemple, le traçage CPIC) :

    a. Pour activer le traçage CPIC, définissez deux variables d’environnement : CPIC_TRACE et CPIC_TRACE_DIR.

    La première variable définit le niveau de trace, et la deuxième variable définit le répertoire des fichiers de trace. Le répertoire doit être un emplacement dans lequel les membres du groupe des utilisateurs authentifiés peuvent écrire.

    b. Définissez CPIC_TRACE sur 3 et CPIC_TRACE_DIR sur le répertoire où vous voulez écrire les fichiers de trace. Par exemple :

    Traçage CPIC

    c. Reproduisez le problème et vérifiez que CPIC_TRACE_DIR contient les fichiers de trace.

    d. Examinez le contenu des fichiers de trace pour identifier le problème de blocage. Par exemple, vous pouvez constater que gx64krb5.dll n’a pas été correctement chargé, ou qu’un utilisateur AD différent de celui que vous attendiez de lancer la tentative de connexion d’authentification unique.

Pour plus d’informations sur la passerelle de données locale et DirectQuery, consultez les ressources suivantes :