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 :
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 :
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.
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 :
Dans le répertoire d’installation de la passerelle, recherchez et ouvrez ce fichier de configuration : Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.
Recherchez la propriété
FullDomainResolutionEnabled
et remplacez sa valeur parTrue
.<setting name=" FullDomainResolutionEnabled " serializeAs="String"> <value>True</value> </setting>
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 :
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 :
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 :
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
.
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 :
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.
Contenu connexe
Pour plus d’informations sur la passerelle de données locale et DirectQuery, consultez les ressources suivantes :