Avec la pré-authentification, WebFOCUS considère que cette authentification a déjà été réalisée, et l'information d'identité de l'utilisateur est passée à WebFOCUS par l'une des méthodes décrites dans les rubriques suivantes. Dans cette configuration, WebFOCUS n'affiche pas de page de connexion aux utilisateurs. Un certain nombre de fonctionnalités WebFOCUS, tel que l'accès anonyme et la possibilité pour les utilisateurs de changer eux-mêmes leur mot de passe, doivent être désactivées.
La pré-authentification offre plusieurs avantages, tels que la connexion unique (SSO) offertes aux utilisateurs, et une authentification centralisée pour les administrateurs, ce qui élimine le besoin de synchronisation des mots de passe entre WebFOCUS et une autre source. Selon la méthode de pré-authentification choisie, des étapes supplémentaires peuvent s'avérer nécessaire pour empêcher que la configuration de pré-authentification ne soit compromise. Par exemple, si l'ID utilisateur pré-authentifié est passé via un en-tête HTTP, alors il faut prendre un certain nombre de mesures pour empêcher que la valeur de cet en-tête ne sont compromise.
Si un utilisateur se connecte depuis une zone de sécurité configurée pour pré-authentification, WebFOCUS va automatiquement :
Pour les portails, soit désactiver le lien déconnexion de votre barre de menu, soit renseigner une valeur appropriée pour le paramètre IBI_Signout_Redirect_URL afin d'éviter d'entraîner l'utilisateur dans une boucle sans fin de tentatives de déconnexion sans succès.
Par exemple, si vous utilisez un système de gestion d'accès Web ou openID, renseignez IBI_Signout_Redirect_URL avec la valeur spécifiée dans la documentation de votre fournisseur. Si vous utilisez une authentification Windows, renseignez la valeur avec une URL pleinement qualifiée à l'extérieur de l'application Web de WebFOCUS. Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité.
Comment : |
WebFOCUS peut être configuré pour pré-authentifier les utilisateurs Microsoft Windows qui ont été authentifiés par Microsoft Internet Information Services (IIS) avec son authentification Windows ou des options basiques. Cette configuration nécessite une configuration de plug-in permettant à IIS de passer l'identité utilisateur de manière sécurisée au conteneur des servlets Java hébergeant WebFOCUS. Dans la procédure suivante, vous pouvez lire des informations supplémentaires sur la configuration IIS avec Tomcat et IIS avec WebSphere.
Certains des problèmes que vous allez devoir résoudre avec l'authentification Windows incluent :
Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
Nous recommandons aussi que vous fassiez une copie de sauvegarde du fichier securitysettings.xml avant toute modification.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" tomcatAuthentication="false" redirectPort="8443" />
Cliquez sur Enregistrer et quittez la console d'administration.
Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité.
Si vous avez activé la zone alternative, tel que recommandé, vous pouvez maintenant accéder à WebFOCUS via l'authentification interne si vous êtes sur la machine WebFOCUS. L'URL est http://localhost/ibi_apps.
Alternativement, la pré-authentication vous permet d'accéder à WebFOCUS en vous connectant via http://machinename/ibi_apps à partir de toute station de travail.
Remarque : si le navigateur Web n'est pas configuré pour utiliser automatiquement l'authentification Windows avec le domaine, le navigateur va demander aux utilisateurs des informations de connexion lorsqu'ils se connectent en utilisant http://machinename.domain.com/ibi_apps.
Comment : |
Les systèmes de gestion d'accès Web, y compris CA SiteMinder, Oracle Access Manager (auparavant Oblix), IBM Tivoli Access Manager, et WebSEAL, peuvent être utilisés pour activer SSO avec WebFOCUS. Ces systèmes interceptent les requêtes vers WebFOCUS, vérifient que l'utilisateur est authentifié et qu'il a une autorisation d'accès à WebFOCUS, puis fournissent un en-tête HTTP dans lequel WebFOCUS peut trouver l'ID utilisateur pré-authentifié. Ces systèmes interceptant et remplissant l'en-tête HTTP à chaque requête, WebFOCUS peut considérer comme valide l'ID utilisateur qui se trouve dans l'en-tête http.
Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
Nous recommandons aussi que vous fassiez une copie de sauvegarde du fichier securitysettings.xml avant toute modification.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
Remarque : certaines configurations de serveur web modifient les noms d'en-tête HTTP. Par exemple, il arrive que les traits de soulignement (_) soient remplacés par des traits d'union (-) ou que la casse passe de majuscules en minuscules.
Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité.
Pour CA SiteMinder, la valeur est typiquement est SM_USER. Pour IBM Tivoli Access Manager/WebSEAL, la valeur est typiquement iv-user. Pour Oracle Access Manager, il existe pas de valeur par défaut. Pour plus d'informations, consultez votre administrateur Oracle Access Manager.
Comment : |
Les conteneurs Java, tels que Apache Tomcat, IBM WebSphere, et Oracle WebLogic, peut authentifier les utilisateurs pour WebFOCUS. Le conteneur Java utilise l'appel getRemoteUser() pour fournir les identifiants utilisateur à WebFOCUS.
Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
Nous recommandons aussi que vous fassiez une copie de sauvegarde du fichier securitysettings.xml avant toute modification.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité.
Comment : |
Un fournisseur OpenID peut authentifier les utilisateurs pour WebFOCUS. Les fournisseurs pris en charge incluent Google Accounts et Yahoo®, mais vous pouvez tout aussi bien utiliser un fournisseur OpenID hébergé en interne. WebFOCUS ne prend en charge qu'un seul fournisseur OpenID par installation. Assurez-vous que vous configurez la bonne URL de déconnexion.
Pour plus d'informations sur la configuration OpenID, consultez la documentation fournisseur OpenID.
Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
Nous recommandons aussi que vous fassiez une copie de sauvegarde du fichier securitysettings.xml avant toute modification.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
Par défaut, claimedIdentityFieldValue est renseigné avec l'adresse URL appropriée de Google Accounts. La valeur par défaut pour attributeNameForAccountID est email.
Par exemple, pour Google Accounts, entrez:
https://www.google.com/accounts/Logout
Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité. Pour plus d'informations sur les adresses de déconnexion pour OpenID, consultez la documentation du fournisseur OpenID.
Comment : |
Vous pouvez configurer WebFOCUS pour qu'il utilise un Service d'Authentification Centrale (Central Authentication Service - CAS) pour la pré-authentification. CAS permet à des clients tels que des applications web d'authentifier les utilisateurs sans obtenir un accès aux informations de connexion sécurisée des utilisateurs. À la place, le client s'authentifie lui-même auprès du serveur CAS, qui renvoie alors un ticket de sécurité au client pour valider le fait que la connexion est sécurisée. Le client valide le ticket en fournissant le ticket et son propre identifiant de service au serveur CAS, et CAS renvoie l'information sécurisée concernant l'authentification d'un utilisateur individuel.
Si le serveur CAS utilise un certificat d'auto-connexion, dans la plupart des cas, vous aurez à ajouter le certificat de connexion faisant autorité pour les certificats racines sécurisés utilisés par la JVM associée à WebFOCUS.
Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
Nous recommandons aussi que vous fassiez une copie de sauvegarde du fichier securitysettings.xml avant toute modification.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
Spécifie le protocole de serveur CAS, son port, et son URL de connexion.
Spécifie le protocole WebFOCUS, son port, et le contexte.
Spécifie le protocole de serveur CAS, son port, et son contexte.
Remarque : les paramètres sendRenew, key, et ticketValidatorClassName n'ont pas besoin d'être modifiés.
Quand les utilisateurs se déconnectent de WebFOCUS en utilisant cet URL, les deux sessions WebFOCUS et CAS sont terminées.
Pour plus d'informations sur le paramètre IBI_Signout_Redirect_URL, consultez Paramètres de sécurité. Pour plus d'informations sur les adresses de déconnexion pour CAS, consultez la documentation du fournisseur CAS.
Si vous utilisez un certificat se connectant via une autorité de certification sécurisée, WebFOCUS est maintenant configuré pour utiliser l'authentification CAS. Si vous utilisez un certificat d'auto-connexion, vous aurez à ajouter le certificat de connexion faisant autorité pour les certificats racines sécurisés utilisés par la JVM associée à WebFOCUS. Pour plus d'informations, consultez Ajouter un certificat d'auto-connexion au magasin de certificat CAS .
Le code suivant est un exemple de méthode de modification de la section casPreference dans le fichier securitysettings.xml pour implémenter la pré-authentification par CAS.
<bean id="casPreference" class="com.ibi.webapp.security.config.WFCasPreference"> <property name="loginUrl" value="https://CASServer:port/cas/login"/> <property name="serviceUrl" value="http://WebFOCUSServer:port/ibi_context/"/> <property name="sendRenew" value="false"/> <property name="key" value=""/> <property name="casServerUrlPrefix" value="https://CASServer:port/cas"/> <property name="ticketValidatorClassName" value=""/> </bean>
où :
Est le serveur CAS et son port.
Est le serveur WebFOCUS, son port, et le répertoire racine de contexte.
Si vous utilisez un certificat d'auto-connexion, vous aurez à ajouter le certificat aux certificats racines sécurisés utilisés par la JVM associée à WebFOCUS.
Remarque : cette tâche est aussi nécessaire si vous utilisez un certificat connecté par une autorité de certificat sécurisé.
..\..\..\bin\keytool -import -alias youralias -keystore cacerts -file path\to\youralias.crt
où :
Est l'alias affecté à votre certificat.
Est le fichier de certificat.
Les erreurs de validation CAS peuvent survenir si vous utilisez un certificat auto-connecté qui n'a pas été ajouté au magasin de certificat sécurisé. Dans de tels cas, vous recevrez une erreur similaire à la suivante :
[YYYY-MM-DD hh:mm:ss,sss] ERROR
org.jasig.cas.client.validation.Cas20ServiceTicketValidator
http-apr-8080-exec-2 - javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
.
.
.
... 60 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 66 more
WebFOCUS peut être intégré avec d'autres applications pour fournir aux utilisateurs une expérience SSO (connexion unique). Par exemple, il est possible que les utilisateurs se connectent à une application Web existante avec des informations de connexion qui sont validées par l'application. Si les utilisateurs cliquent sur des boutons ou des liens qui les dirigent vers un portail WebFOCUS, il se peut que vous souhaitiez que les utilisateurs soient automatiquement connectés à WebFOCUS, plutôt que d'avoir à leur demander de fournir à nouveau leurs mots de passe.
Le moyen le plus efficace d'effectuer ce type d'intégration consiste à déployer un filtre de servlet Java personnalisé au sein de l'application web WebFOCUS. Les services support client peuvent développer une solution personnalisée basée sur IBIServletFilter. Alternativement, si vos utilisateurs accèdent à WebFOCUS via IIS, vous pouvez installer un module HTTP en utilisant ASP.NET dans IIS.
Les solutions personnalisées suivent généralement l'une de ces approches :
L'utilisateur initie une connexion à WebFOCUS en cliquant sur un lien, un bouton, ou un onglet dans l'application web existante. L'application web crée une chaîne aléatoire, ou un jeton, et stocke ce jeton et l'ID utilisateur dans une base de données à laquelle WebFOCUS peut accéder. Cette chaîne, ou jeton, est passée à WebFOCUS avec la requête de connexion par une redirection HTTP 302 initiée par le serveur d'applications, ou une requête JavaScript asynchrone initiée par l'application dans le navigateur web.
Quand IBIServletFilter détermine qu'il n'y a pas de session WebFOCUS associée à cette requête SSO, le servlet génère une requête ODBC vers la base de données partagée pour récupérer l'ID utilisateur associée avec le jeton. La ligne est supprimée de la base de données pour éviter la réutilisation du jeton. L'ID utilisateur est renseigné avec la valeur de l'en-tête HTTP personnalisé qui est passé à WebFOCUS lors de la pré-authentification.
L'utilisateur initie une connexion à WebFOCUS en cliquant sur un lien, un bouton, ou un onglet dans l'application web existante. L'application web créé un hachage de l'ID utilisateur qui incorpore un secret partagé avec IBIServletFilter. Le hachage est alors transmis à WebFOCUS. IBIServletFilter génère un hachage de l'ID utilisateur en utilisant le même algorithme et secret, puis le compare au hachage qui est passé dans la requête. S'ils sont identiques, l'ID utilisateur est autorisé. S'ils diffèrent, la connexion est rejetée.
L'application web devrait être capable de générer une assertion SAML contenant l'ID utilisateur et d'autres informations. IBIServletFilter peut être modifié pour valider la section SAML passée par l'application et renseigner l'en-tête HTTP avec l'ID utilisateur.
Remarque : Le fait de passer simplement l'ID utilisateur dans un en-tête http ou un cookie ne va pas créer une implémentation SSO sécurisée. Vous devez aussi fournir certaines méthodes de validation de l'ID utilisateur.
Par exemple, si l'utilisateur est passé simplement dans un en-tête HTTP appelé SSO_USER, un utilisateur non autorisé pourrait utiliser un plug-in de navigateur web pour générer cet en-tête http et le remplir avec n'importe quel ID utilisateur valide. WebFOCUS n'aurait aucun moyen de savoir que l'en-tête HTTP a été créé via un processus non autorisé. L'utilisation de jeton de sécurité, de secrets partagés, ou encore d'intégration SAML fournit la validation permettant d'éviter ce problème.
Pour plus d'informations sur une solution SSO personnalisée, contactez les services de support client.
Dans cette section : Comment : |
Le ministère de la défense des États-Unis fournit une carte intelligente appelée Common Access Card (CAC, carte d'accès commune) pour identifier tous les fournisseurs du personnel du ministère de la défense. Lors de son utilisation avec une configuration de lecture de cartes appropriées sur une machine de l'utilisateur final, un serveur web qui a été spécifiquement configuré pour requérir les certificats côté client suit le standard d'infrastructure à clé publique (PKI), ces cartes pouvant être utilisées pour effectuer une authentification basée sur certificat.
WebFOCUS peut extraire les attributs Nom Commun et Nom Principal de l'utilisateur du certificat utilisateur fourni et peut utiliser les attributs pour renseigner la variable REMOTE_USER. Ceci fournit une connexion sécurisée à WebFOCUS en utilisant CAC.
Vous devez configurer le serveur web pour inviter les utilisateurs à renseigner leurs certificats côté client en utilisant PKI. Le logiciel de lecture de carte ActivIdentity™ doit être installé correctement sur les machines des utilisateurs finaux avant que le client WebFOCUS ne puisse être configuré pour sécuriser le certificat client. Pour les informations relatives à la configuration du logiciel ActivIdentity, consultez la documentation fournie par le ministère de la défense.
La procédure de configuration similaire à la procédure de configuration de la pré-authentification avec la sécurité conteneur Java. Avant de commencer, suivez les étapes suivantes si vous ne l'avez pas encore fait.
L'ID utilisateur du compte administrateur WebFOCUS doit être la valeur de l'attribut du certificat choisi pour le paramètre IBI_PKI_Userid_Source.
Par exemple, si l'administrateur WebFOCUS a le nom d'usage (CN) Joe.Smith.1122334455 et que le IBI_PKI_Userid_Source a la valeur CN, l'ID utilisateur WebFOCUS doit être Joe.Smith.1122334455. Si l'administrateur WebFOCUS à le nom principal utilisateur (UPN) 1122334455@mil et que le IBI_PKI_Userid_Source a la valeur upn, l'ID utilisateur WebFOCUS doit être 1122334455@mil.
Pour plus d'informations sur la création d'un compte administrateur WebFOCUS, consultez Créer un Compte Administrateur WebFOCUS pour Sources externes. Pour plus d'informations sur l'activation de la zone alternative, consultez Activer la Zone Alternative. Pour plus d'informations sur l'activation de l'accès super utilisateur (superuser), consultez Activer l'accès super utilisateur.
Les attributs sont activés dès qu'ils sont enregistrés. Il n'est pas nécessaire de recycler le serveur d'applications.
Active le filtre PKI qui va extraire l'attribut spécifier dans le paramètre IBI_PKI_Userid_Source pour remplir REMOTE_USER. Managed Reporting et ReportCaster doivent être configurés séparément pour utiliser la variable REMOTE_USER pour connexions. La valeur par défaut est False (faux). Pour plus d'informations, consultez Configurer la Pré-authentification.
Spécifie l'attribut du certificat qui devrait être utilisé pour remplir l'identifiant utilisateur spécifié par REMOTE_USER. Les valeurs possibles sont :
cn. Le nom commun du certificat. Par exemple, Joe.Smith.1122334455.
objet. L'attribut du sujet pour le certificat. Il s'agit de la valeur par défaut.
upn. L'attribut userPrincipalName depuis la section Autre nom du sujet du certificat. Par exemple, 1122334455@mil.
En raison de la façon dont UPN est codé, vous devez avoir une copie de la bibliothèque de Cryptographie Java Bouncy Castle dans votre classpath. Il peut être téléchargé depuis le site web Bouncy Castle à l'adresse http://www.bouncycastle.org/java.html.
Spécifie une liste d'adresses IP, séparées par des points-virgules, qui seront autorisées à passer le filtre PKI même s'il n'existe aucun certificat client valide dans la requête. L'adresse IP du serveur de distribution ReportCaster doit être comprise dans cette liste pour que le serveur de distribution soit capable d'extraire le contenu WebFOCUS. Une liste d'exemples pourrait ressembler à :
127.0.0.1;127.0.0.2
Si une adresse IP n'est pas spécifiée ici et un certificat client n'est pas fourni, le filtre PKI retourne une erreur interdite par 403 lors de l'accès.
WebFOCUS prend en charge la connexion unique (SSO) entre un navigateur Web, le client WebFOCUS, et le serveur de rapports pour Windows. Ceci inclut la prise en charge de l'emprunt d'identité sur le serveur de rapports, ce qui implique que vous pouvez étendre la fonctionnalité de connexion unique sur certains adaptateurs SGBDR prenant en charge la connexion sécurisée, y compris Microsoft SQL Server. Cette rubrique explique comment configurer l'environnement SSO, qui utilise un support Kerberos natif dans Active Directory.
La fonctionnalité SSO nécessite un domaine Active Directory à un niveau fonctionnel Windows 2000 ou supérieur :
user_ID@domain.com
où :
Est l'identifiant utilisateur approprié.
Est un domaine et une extension disponibles.
Un administrateur réseau avec les privilèges Administration de domaine peut effectuer les étapes de pré-installation suivante. Les images d'exemple s'appliquent à un environnement Windows 2003 Windows 2008.
Remarque : si vous utilisez Windows 2008, vous aurez peut-être besoin d'installer le patch Microsoft suivant pour votre contrôleur de domaine afin qu'il prenne en charge l'utilisation d'afficher keytab Kerberos.
La valeur spécifiée pour Champ 1 doit commencer par HTTP en majuscules. Le format utilisé est
HTTP/computername.domain.ext
où :
Est le nom de domaine pleinement qualifié de la machine sur lequel le client WebFOCUS sera installé.
La valeur spécifiée pour Champ 2 devient l'attribut sAMAccountName pour le compte de service. Le format utilisé est
http_computername
où :
Est le nom de la machine sur laquelle le client WebFOCUS sera installé.
L'image suivante est un exemple de la fenêtre de dialogue Nouvel objet - Utilisateur. Elle montre les champs qui sont renseignés au format recommandé, indiquant que le client WebFOCUS sera installé sur une machine appelée wf-kerb.
Une fenêtre de dialogue de confirmation apparaît, indiquant que l'utilisateur sera créé avec les propriétés affichées.
Remarque : l'onglet Délégation n'est pas affiché dans la fenêtre de dialogue Propriétés. L'onglet délégation ne sera pas affiché avant que vous n'exécutiez la commande ktpass, tel que décrit dans étape 5.
Vous devez obligatoirement exécuter ktpass depuis la ligne de commande sur le contrôleur de domaine, sur une seule ligne. Substituez vos valeurs dans l'exemple qui suit. Conservez une copie de la syntaxe de commande que vous utilisez. Vous en aurez besoin plus tard en cas de dépannage.
Le format de la commande ktpass est
ktpass /out filename /mapuser user_ID /princ principal /crypto encryption/pass password /ptype KRB5_NT_PRINCIPAL
où :
Est le nom que ktpass devra utiliser pour créer le fichier keytab Kerberos. La valeur recommandée est http_nommachine.keytab.
Est la valeur sAMAccountName fournie à l'étape 1.
Est spécifié en effectuant une concaténation sur la valeur du nom de connexion de l'utilisateur fourni à l'étape 1 avec @REALM, où REALM est le realm Kerberos. Le realm Kerberos est généralement le même que votre suffixe DNS Active Directory, mais en majuscules.
Est l'option de cryptage qui sera utilisé à la création du fichier keytab. Vous aurez peut-être à télécharger les derniers outils de support Microsoft pour une version de la commande ktpass prenant en charge la valeur recommandée de RC4-HMAC-NT.
Remarque : si des machines sur votre réseau tourne sous Windows 2008 R2, Windows 7, ou supérieure, vous devez obligatoirement choisir RC4-HMAC-NT pour ces machines afin qu'elles fonctionnent correctement avec Kerberos. Microsoft a supprimé tout support pour DES dans les versions supérieures de Windows.
Elle mot de passe Windows associée avec le comte de services, en texte standard.
Une commande ktpass formatée correctement, s'appliquant aux exemples fournis précédemment dans cette section, est :
C:\>ktpass /out http_wf-kerb.keytab /mapuser http_wf-kerb /princ HTTP/wf-kerb.ibi.com@IBI.COM /crypto RC4-HMAC-NT /pass password1 /ptype KRB5_NT_PRINCIPAL
Windows répond avec les messages suivants :
Targeting domain controller: ibidca.ibi.com Successfully mapped HTTP/wf-kerb.ibi.com to http_wf-kerb. Key created. Output keytab to http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x0df97e7355555817c828671454137af0)
La commande ktpass ajoute un attribut appelé servicePrincipalName (SPN) et modifie l'attribut userPrincipalName (UPN), comme le montre l'image suivante.
L'onglet Délégation s'affiche maintenant dans la fenêtre de dialogue Propriétés, comme le montre l'image suivante.
Remarque : avant l'exécution de la commande ktpass, l'onglet Délégation n'est pas affiché. Après l'exécution de la commande ktpass, l'option Délégation est disponible.
Si vous utilisez un ou plus en-têtes d'hôte, vous devez effectuer les étapes suivantes.
La procédure suivante suppose qu'il existe deux en-têtes d'hôte, respectivement wf-kerb1 et wf-kerb2.
Remarque : ne créez pas d'enregistrement C.
ktpass /in filename /out filename /princ principal /crypto encryption/pass password /ptype KRB5_NT_PRINCIPAL
ktpass /in c:\keytab\http_wf-kerb.keytab /out c:\keytab\http_wf-kerb.keytab /princ HTTP/wf-kerb1.ibi.com@IBI.COM /crypto RC4-HMAC-NT /pass password1 /ptype KRB5_NT_PRINCIPAL
La sortie résultante est :
Existing keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) NOTE: creating a keytab but not mapping principal to any user. For the account to work within a Windows domain, the principal must be mapped to an account, either at the domain level (with /mapuser) or locally (using ksetup) If you intend to map HTTP/wf-kerb1.ibi.com@IBI.COM to an account through other means or don't need to map the user, this message can safely be ignored. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\keytab\http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef)
ktpass /in c:\keytab\http_wf-kerb.keytab /out c:\keytab\http_wf-kerb.keytab /princ HTTP/wf-kerb2.ibi.com@IBI.COM /crypto RC4-HMAC-NT /pass password1 /ptype KRB5_NT_PRINCIPAL
La sortie résultante est :
Existing keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) NOTE: creating a keytab but not mapping principal to any user. For the account to work within a Windows domain, the principal must be mapped to an account, either at the domain level (with /mapuser) or locally (using ksetup) If you intend to map HTTP/wf-kerb2.ibi.com@IBI.COM to an account through other means or don't need to map the user, this message can safely be ignored. WARNING: pType and account type do not match. This might cause problems. Key created. Output keytab to c:\keytab\http_wf-kerb.keytab: Keytab version: 0x502 keysize 63 HTTP/wf-kerb.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 2 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef) keysize 64 HTTP/wf-kerb1.ibi.com@IBI.COM ptype 1 (KRB5_NT_PRINCIPAL) vno 1 etype 0x17 (RC4-HMAC) keylength 16 (0x5835048ce94ad0564e29a924a03510ef)
Remarque : vous pouvez faire référence à chaque en-tête d'hôte de deux moyens différents, soit en utilisant le nom de domaine pleinement qualifié ou alors avec le nom partiel. Par exemple, vous pouvez faire référence au premier en-tête d'hôte avec wf-kerb1.ibi.com (nom de domaine pleinement qualifié) ou avec wf-kerb1 (nom partiel). Par conséquent, quand vous exécutez les commandes setspn dans cette étape, il y a quatre entrées.
setspn -A HTTP/wf-kerb1.ibi.com ibi\http_wf-kerb
La sortie résultante est :
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb1.ibi.com Updated object
setspn -A HTTP/wf-kerb1 ibi\http_wf-kerb
La sortie résultante est :
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb1 Updated object
setspn -A HTTP/wf-kerb2.ibi.com ibi\http_wf-kerb
La sortie résultante est :
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb2.ibi.com Updated object
setspn -A HTTP/wf-kerb2 ibi\http_wf-kerb
La sortie résultante est :
Registering ServicePrincipalNames for CN=http_wf-kerb,OU=USERS,OU=DEVELOPMENT, O=BIPG,OU=COR,DC=ibi,DC=com HTTP/wf-kerb2 Updated object
La procédure suivante décrit les étapes de configuration du Client WebFOCUS.
Remarque : l'utilisateur administratif doit avoir contrôle total sur la racine (root). Par défaut, WebFOCUS inclut ce privilège dans le rôle Administrateur, mais il est possible que votre personnalisation l'ait supprimé.
La section contient maintenant le code suivant :
<property name="anonymousAuthEnabled" value="false"/> <property name="formAuthEnabled" value="false"/> . . . <property name="spnegoAuthEnabled" value="true"/>
<property name="servicePrincipal" value="HTTP/wf-kerb.ibi.com" /> <property name="keyTabLocation" value="file:c:/ibi/WebFOCUS80/ webapps/webfocus/WEB-INF/http_wf-kerb.keytab" />
Remarque : si vous souhaitez étendre les capacités SSO à un SGBDR, tel que Microsoft SQL Server, mettez l'option de sécurité de l'adaptateur pour le serveur de rapports sur Approuvé.
La fonctionnalité SSO nécessite un domaine Active Directory à un niveau fonctionnel Windows 2000 ou supérieur. Les navigateurs suivants sont pris en charge :
Ajoutez les drapeaux suivants pour le serveur exécutant WebFOCUS :
--auth-server-whitelist="*.url.domain" --auth-negotiate-delegate-whitelist="*.url.domain"
L'environnement doit être entièrement référencé en tant que :
http://server.url.domain:port/context
La syntaxe est :
http://server.url.domain:port/context
Si Kerberos est configuré correctement et que votre ID utilisateur a été ajouté à Managed Reporting tel qu'indiqué précédemment, vous devriez être connectés au PBI en utilisant vous information Kerberos.
Le fichier de journal edaprint du serveur de rapports va enregistrer demande de cmrpip0000xx pour connexion Kerberos à agent et refléter votre ID de connexion Windows au format IPN.
L'authentification Kerberos requière une connexion synchrone entre le serveur de rapports et la session de navigateur de l'utilisateur, mais ReportCaster n'utilise pas une session de navigateur pendant l'exécution des rapports planifiés. Par conséquent, ReportCaster doit obligatoirement fournir un ID utilisateur et un mot de passe à Kerberos pour activer les rapports.
Dans l'outil de configuration du serveur ReportCaster, configurer chacun des serveurs de données avec lesquels ReportCaster est configuré pour communiquer. Mettez le Type ID Exécution Utilisateur pour vous assurer que les utilisateurs finaux seront invités à entrer leurs identifiants et mots de passe une fois pour chaque noeud.
Vous pouvez également mettre le Type ID Exécution sur Statique et fournir l'ID utilisateur et le mot de passe qui seront utilisés pour toutes les planifications de ce serveur de rapports.
L'implémentation de Kerberos sous Microsoft Windows met tous les identifiants de groupe Windows à l'intérieur du ticket Kerberos pour chaque utilisateur, ce qui peut résulter en un ticket de grande taille pour un utilisateur appartenant à beaucoup de groupe. Le ticket Kerberos est transporté dans un en-tête http, ce qui entraîne plusieurs problèmes techniques quand la taille du ticket devient trop importante. Si certains utilisateurs appartiennent plus de son groupe, il est conseillé d'appliquer certaines des tâches spéciales de configuration suivantes (voire toutes).
Vous devez aussi configurer MaxTokenSize pour les contrôleurs de domaine.
Cette rubrique décrit les étapes supplémentaires à suivre pour Kerberos fonctionne correctement dans un environnement Multi-domaine ou de sous-domaine.
Par exemple si vous avez des utilisateurs qui sont membres de SUBA.MYDOMAIN.COM, SUBB.MYDOMAIN.COM, et MYDOMAIN.COM, et que tous ces utilisateurs ont besoin d'accéder environnement Kerberos, vous devez suivre les directions de cette rubrique.
Pour appliquer les paramètres de configuration supplémentaires requis pour que Kerberos fonctionne correctement dans un environnement multi-domaine, vous devez créer un fichier de configuration Kerberos qui s'appelle krb5.ini. Ce fichier contient toutes les informations supplémentaires requises pour que Kerberos fonctionne quand vous utilisez plus d'un domaine.
Plusieurs versions de Java ont un dysfonctionnement qui empêche les domaines multiples de fonctionner correctement malgré la configuration krb5.ini. Par conséquent, il est recommandé de mettre à jour votre version de Java. Pour des informations détaillées sur ce dysfonctionnement Java, consultez le rapport d'anomalie Java suivant :
Vous pouvez créer ce fichier n'importe où sur le système des fichiers, puisque, par la suite, vous ferez explicitement référence à son emplacement. Dans le cadre de cet exemple, créer le fichier dans :
C:\ibi\WebFOCUS80\config\krb5.ini
Remplacez le nom default_realm, MYDOMAIN.COM, à la dernière ligne de l'exemple avec le nom DNS pleinement qualifié pour le domaine de la machine que le client WebFOCUS a joint.
Saisissez le nom default_realm en lettres majuscules, puisqu'il est sensible à la casse.
[libdefaults] ticket_lifetime = 600 default_tgt_enctypes = rc4-hmac default_tgs_enctypes = rc4-hmac default_checksum = rsa-md5 forwardable = true default_realm = MYDOMAIN.COM
Si les domaines et sous-domaines partagent des contrôleurs de domaine, vous pouvez créer une section [realms] ici, et faire référence aux relations dans la section suivante, [domain_realm]. La section [domain_realm] est décrite à l'étape 4.
[realms] MYDOMAIN.COM = { kdc = dc1.mydomain.com:88 kdc = dc2.mydomain.com:88 kdc = dc3.mydomain.com:88 default_domain = mydomain.com } SUBA.MYDOMAIN.COM = { kdc = dc1.suba.mydomain.com:88 kdc = dc2.suba.mydomain.com:88 default_domain = suba.ibi.com } SUBB.MYDOMAIN.COM = { kdc = dc1.subb.mydomain.com:88 kdc = dc2.subb.mydomain.com:88 default_domain = subb.ibi.com }
Comme dans la section [libdefaults], les valeurs dans la section [realms] sont sensibles à la casse. Par exemple, le premier nom de référence (tel que MYDOMAIN.COM dans le premier bloc de notre exemple) doit obligatoirement être en majuscules et la valeur pour default_domain doit être en minuscules.
Chaque entrée kdc doit faire référence au nom DNS d'un contrôleur de domaine pour le domaine applicable. Une seule entrée kdc est requise par domaine listé, mais plusieurs entrées kdc redondantes sont permises.
Un domaine et mater avec l'identité de même nom, mais le nom de l'identité est en majuscules. Ainsi, les entrées suivantes sont redondantes :
[domain_realm] .suba.mydomain.com = SUBA.MYDOMAIN.COM .subb.mydomain.com = SUBB.MYDOMAIN.COM .mydomain.com = MYDOMAIN.COM
Pour plus d'informations sur la section [domain_realm], consultez les spécifications de Kerberos sur le site Web du MIT (Massachusetts Institute of Technology) :
http://web.mit.edu/kerberos/krb5-1.4/krb5-1.4.1/doc/krb5-admin/domain_realm.html
La section [capaths] n'est nécessaire que dans des environnements dans lesquels le domaines parent n'a pas de relations de sécurité unilatérales avec tous les domaines enfants, ou bien dans des environnements dans lesquels plusieurs hiérarchies de domaine sont utilisées.
Dans de telles situations, le protocole Kerberos n'est pas capable de déterminer comment authentifier un utilisateur depuis un domaine particulier et pour une ressource située dans un autre domaine. Par conséquent, les relations requises pour accomplir l'authentification devront être mappées de façon à ce que Kerberos connaisse le chemin à prendre pour authentifier un utilisateur. Les relations de sécurité suivantes s'appliquent :
Dans cet exemple, Kerberos peut directement authentifier tout utilisateur de SUBA.MYDOMAIN.COM, et ce pour toute ressource dans SUBB.MYDOMAIN.COM. Pour authentifier un utilisateur dans SUBA.MYDOMAIN.COM avec MYDOMAIN.COM, vous devez obligatoirement authentifier cet utilisateur via SUBB.MYDOMAIN.COM, puisque SUBA.MYDOMAIN.COM n'a pas de relation d'approbation directe avec MYDOMAIN.COM.
[capaths] SUBA.MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . MYDOMAIN.COM = SUBB.MYDOMAIN.COM } SUBB.MYDOMAIN.COM { SUBA.MYDOMAIN.COM = . MYDOMAIN.COM = . } MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . SUBA.MYDOMAIN.COM = SUBB.MYDOMAIN.COM }
Dans le premier block se trouve l'information pour authentifier un utilisateur de SUBA.MYDOMAIN.COM. Kerberos peut directement authentifier un utilisateur de SUBA.MYDOMAIN.COM contre SUBB.MYDOMAIN.COM, tel qu'indiqué par le point (.). Pour authentifier un utilisateur de SUBA.MYDOMAIN.COM contre MYDOMAIN.COM, Kerberos doit procéder contre SUBB.MYDOMAIN.COM. C'est pourquoi le code indique MYDOMAIN.COM =SUBB.MYDOMAIN.COM.
Dans le second block se trouve l'information pour authentifier un utilisateur de SUBB.MYDOMAIN.COM. Puisque Kerberos peut directement authentifier un utilisateur de SUBB.MYDOMAIN.COM à la fois contre SUBA.MYDOMAIN.COM et contre MYDOMAIN.COM, un point (.) est inclus dans ces deux colonnes.
Dans le troisième block se trouve l'information pour authentifier un utilisateur de MYDOMAIN.COM. Kerberos peut directement authentifier un utilisateur de MYDOMAIN.COM contre SUBB.MYDOMAIN.COM, tel qu'indiqué par le point (.). Kerberos doit obligatoirement authentifier un utilisateur de SUBA.MYDOMAIN.COM en passant d'abord par SUBB.MYDOMAIN.COM.
Pour plus d'informations sur l'utilisation de la section [capaths] avec le protocole Kerberos protocol, consultez le document suivant du MIT (Massachusetts Institute of Technology) :
http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/capaths.html
Votre fichier krb5.ini ressemblera à celui-ci quand vous aurez terminé :
[libdefaults] ticket_lifetime = 600 default_tgt_enctypes = rc4-hmac default_tgs_enctypes = rc4-hmac default_checksum = rsa-md5 forwardable = true default_realm = MYDOMAIN.COM [realms] MYDOMAIN.COM = { kdc = dc1.mydomain.com:88 kdc = dc2.mydomain.com:88 kdc = dc3.mydomain.com:88 default_domain = mydomain.com } SUBA.MYDOMAIN.COM = { kdc = dc1.suba.mydomain.com:88 kdc = dc2.suba.mydomain.com:88 default_domain = suba.ibi.com } SUBB.MYDOMAIN.COM = { kdc = dc1.subb.mydomain.com:88 kdc = dc2.subb.mydomain.com:88 default_domain = subb.ibi.com } [domain_realm] .suba.mydomain.com = SUBA.MYDOMAIN.COM .subb.mydomain.com = SUBB.MYDOMAIN.COM .mydomain.com = MYDOMAIN.COM [capaths] SUBA.MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . MYDOMAIN.COM = SUBB.MYDOMAIN.COM } SUBB.MYDOMAIN.COM { SUBA.MYDOMAIN.COM = . MYDOMAIN.COM = . } MYDOMAIN.COM { SUBB.MYDOMAIN.COM = . SUBA.MYDOMAIN.COM = SUBB.MYDOMAIN.COM }
Pour que Kerberos utilise le fichier krb5.ini dans WebFOCUS, vous devez faire référence à l'emplacement du fichier en utilisant l'option Java™ suivante. Vous pouvez spécifier l'option -Djava.security.krb5.conf dans Tomcat, tel que décrit dans la procédure suivante.
Typiquement, le répertoire bin se trouve dans l'emplacement suivant :
C:\ibi\tomcat\bin\
-Djava.security.krb5.conf=C:\ibi\WebFOCUS80\config\krb5.ini
Si vous choisissez un autre emplacement pour le stockage du fichier krb5.ini, vous devez obligatoirement faire référence à cet emplacement plutôt qu'à l'emplacement de l'exemple précédent.
WebFOCUS |