Partager via


Utiliser Kerberos pour l’authentification unique avec SAP HANA

Cet article explique comment configurer votre source de données SAP HANA pour activer l’authentification unique (SSO) à partir du service Power BI.

Important

Étant donné que SAP ne prend plus en charge OpenSSL, Microsoft a également mis fin à son support. Vos connexions existantes continuent de fonctionner, mais vous ne pouvez plus créer de nouvelles connexions. Utilisez à la place SAP Cryptographic Library (CommonCryptoLib), ou sapcrypto.

Remarque

Suivez les étapes décrites dans cet article en plus de celles de l’article Configurer l’authentification unique Kerberos avant d’essayer d’actualiser un rapport basé sur SAP HANA qui utilise l’authentification unique Kerberos.

Activer l’authentification unique pour SAP HANA

Pour activer l’authentification unique pour SAP HANA, procédez comme suit :

  1. Vérifiez que le serveur SAP HANA exécute la version minimale requise, qui dépend du niveau de la plateforme de votre serveur SAP HANA :

  2. Sur l’ordinateur de la passerelle, installez le pilote ODBC SAP HANA le plus récent. La version minimale est HANA ODBC 2.00.020.00 datant d’août 2017.

  3. Assurez-vous que le serveur SAP HANA a été configuré pour l’authentification unique basée sur Kerberos. Pour plus d’informations sur la configuration de l’authentification unique pour SAP HANA à l’aide de Kerberos, consultez Authentification unique à l’aide de Kerberos. Consultez également les liens de cette page, notamment SAP Note 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.

Nous vous recommandons également de suivre les étapes supplémentaires ci-après, qui peuvent légèrement améliorer les performances :

  1. Dans le répertoire d’installation de la passerelle, recherchez et ouvrez ce fichier de configuration : Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Recherchez la propriété FullDomainResolutionEnabled et remplacez sa valeur par True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. Générez un rapport Power BI.

Résoudre des problèmes

Cette section fournit des instructions sur la résolution des problèmes liés à l’utilisation de Kerberos pour l’authentification unique (SSO) pour SAP HANA dans le service Power BI. Ces étapes de dépannage vous permettent de diagnostiquer automatiquement et de corriger de nombreux problèmes auxquels vous pouvez être confronté.

Pour suivre les étapes de cette section, vous devez collecter les journaux de la passerelle.

Erreur TLS/SSL (certificat)

Ce problème présente plusieurs symptômes.

  • Lorsque vous essayez d’ajouter une nouvelle source de données, vous pouvez voir un message d’erreur semblable au suivant :

    Unable to connect: We encountered an error while trying to connect to.
    Details: "We could not register this data source for any gateway
    instances within this cluster.
    Please find more details below about specific errors for each gateway instance."
    
  • Lorsque vous essayez de créer ou d’actualiser un rapport, le message d’erreur suivant peut s’afficher :

    Capture d’écran de la fenêtre d’erreur TLS/SSL de dépannage du modèle « Impossible de charger le modèle ».

  • En examinant le fichier Mashup[date]*.log, vous verrez le message d’erreur suivant :

    A connection was successfully established with the server, 
    but then an error occurred during the login process and 
    the certificate chain was issued by an authority that is not trusted.
    

Résolution

Pour résoudre cette erreur TLS/SSL, accédez à la connexion à la source de données, puis dans la section Valider le certificat du serveur, désactivez le paramètre, comme illustré dans l’image suivante :

 Capture d’écran de la résolution de l’erreur TLS/SSL en désactivant le certificat.

Une fois que vous avez désactivé ce paramètre, le message d’erreur n’apparaît plus.

Emprunt d'identité

Les entrées de journal pour l’emprunt d’identité contiennent des entrées similaires à :

About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).

L’élément important de cette entrée de journal est l’information qui s’affiche après l’entrée ImpersonationLevel: . Toute valeur différente de Impersonation révèle que l’emprunt d’identité ne se produit pas correctement.

Résolution

Vous pouvez configurer ImpersonationLevel correctement en suivant les instructions fournies dans Accorder au compte du service de passerelle les droits de stratégie locaux sur la passerelle.

Une fois le fichier de configuration modifié, redémarrez le service de passerelle pour que la modification prenne effet.

Validation

Actualisez ou créez le rapport, puis collectez les journaux de la passerelle. Ouvrez le fichier GatewayInfo le plus récent, puis vérifiez la chaîne suivante : About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Assurez-vous que le paramètre ImpersonationLevel retourne Impersonation.

La délégation

Les problèmes de délégation apparaissent généralement dans le service Power BI en tant qu’erreurs génériques. Pour vous assurer que le problème n’est pas lié à la délégation, collectez les traces Wireshark et utilisez Kerberos comme filtre. Pour en savoir plus sur Wireshark et pour plus d’informations sur les erreurs Kerberos, consultez Erreurs Kerberos dans les captures réseau.

Les symptômes et les étapes de dépannage suivants peuvent aider à résoudre certains problèmes courants.

Problèmes liés au nom de principal du service (SPN)

Si vous voyez l’erreur suivante : The import [table] matches no exports. Did you miss a module reference?: quand vous examinez le fichier Mashup[date]*.log, cela signifie que vous rencontrez des problèmes de nom de principal du service (SPN).

Lorsque vous examinez le problème plus en détail à l’aide des traces Wireshark, l’erreur KRB4KDC_ERR_S_PRINCIPAL_UNKOWN apparaît, ce qui signifie que le nom de principal du service (SPN) est introuvable ou n’existe pas. L’image suivante en montre un exemple :

Capture d’écran montrant une erreur de nom de principal du service (SPN).

Résolution

Pour résoudre les problèmes de nom de principal du service (SPN) tels que celui-ci, vous devez ajouter un SPN à un compte de service. Pour plus d’informations, consultez la documentation SAP dans Configurer Kerberos pour les hôtes de base de données SAP HANA.

En outre, suivez les instructions de résolution décrites dans la section suivante.

Aucun problème d’informations d’identification

Il se peut qu’il n’y ait pas de symptômes évidents associés à ce problème. En examinant Mashup[date]*.log, vous verrez l’erreur suivante :

29T20:21:34.6679184Z","Action":"RemoteDocumentEvaluator/RemoteEvaluation/HandleException","HostProcessId":"1396","identity":"DirectQueryPool","Exception":"Exception:\r\nExceptionType: Microsoft.Mashup.Engine1.Runtime.ValueException, Microsoft.MashupEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\nMessage:

Lorsque vous examinez plus en détail le même fichier, l’erreur suivante (inutile) s’affiche :

No credentials are available in the security package

La capture des traces Wireshark révèle l’erreur suivante : KRB5KDC_ERR_BADOPTION.

Capture d’écran montrant l’erreur « Aucune erreur d’informations d’identification ».

En règle générale, ces erreurs signifient que le fichier du SPN hdb/hana2-s4-sso2.westus2.cloudapp.azure.com a pu être trouvé, mais qu’il ne se trouve pas dans la liste Services auxquels ce compte peut présenter des informations d’identification déléguées dans le volet Délégation du Compte de service de passerelle.

Résolution

Pour résoudre le problème relatif à l’Absence d’informations d’identification, suivez les étapes décrites dans Configurer Kerberos avec restriction standard. Une fois l’opération correctement effectuée, l’onglet de délégation au niveau du compte de service de passerelle reflète le HDB (fichier de base de données HansaWorld) et le FQDN (nom de domaine complet) dans la liste des services auxquels ce compte peut présenter des informations d’identification déléguées.

Validation

Pour résoudre le problème, suivez les étapes précédentes. Si vous rencontrez toujours des problèmes Kerberos, il se peut que vous ayez une configuration impossible dans la passerelle Power BI ou dans le serveur HANA lui-même.

Erreurs d’informations d’identification

Si vous rencontrez des erreurs d’informations d’identification, les erreurs dans les journaux ou les traces exposent des erreurs mentionnant Credentials are invalid ou similaires. Ces erreurs peuvent se manifester différemment du côté de la source de données de la connexion, par exemple SAP HANA. L’image suivante en montre un exemple d’erreur :

Capture d’écran montrant une erreur d’informations d’identification non valide.

Symptôme 1

Dans les traces d’authentification HANA, vous pouvez voir des entrées similaires au message qui suit :

[Authentication|manager.cpp:166] Kerberos: Using Service Principal 
Name johnny@contoso.com@CONTOSO.COM with name type: GSS_KRB5_NT_PRINCIPAL_NAME 
[Authentication|methodgssinitiator.cpp:367] Got principal name: 
johnny@contoso.com@CONTOSO.COM

Résolution

Suivez les instructions décrites dans Définir les paramètres de configuration de mappage d’utilisateur sur la machine de la passerelle, même si vous avez déjà configuré le service Microsoft Entra Connect.

Validation

Une fois la validation terminée, vous pouvez charger correctement le rapport dans le service Power BI.

Symptôme 2

Dans les traces d’authentification HANA, vous pouvez voir des entrées similaires à l’entrée qui suit :

Authentication ManagerAcceptor.cpp(00233) : Extending list of expected
external names by johnny@CONTOSO.COM (method: GSS) Authentication 
AuthenticationInfo.cpp(00168) : ENTER getAuthenticationInfo 
(externalName=johnny@CONTOSO.COM) Authentication AuthenticationInfo.cpp(00237) : 
Found no user with expected external name!

Résolution

Vérifiez l’ID externe Kerberos dans l’utilisateur HANA pour déterminer si les ID correspondent correctement.

Validation

Une fois que vous avez résolu le problème, vous pouvez créer ou actualiser des rapports dans le service Power BI.

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