- Démarrage
- Prérequis
- Prérequis matériels
- Prérequis logiciels
- Serveur Web sur une seule machine (Web Server on a Single Machine)
- Déploiement multinœud
- Haute disponibilité (High Availability)
- Récupération d'urgence (Disaster Recovery) - Active/Passive
- Récupération d'urgence (Disaster Recovery) - Deux centres de données actifs (Two Active Data Centers)
- Déploiement dans le cloud (Deployment in the Cloud)
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Module complémentaire haute disponibilité
Dépannage du serveur d'identité
Il est possible de rencontrer des situations dans lesquelles le serveur d'identité envoie des messages d'erreur contenant des informations sensibles. Par exemple, si le certificat utilisé pour signer les jetons d'accès générés par le serveur d'identité est une clé publique 1024 bits au lieu de 2048 bits, vous recevrez le message d'erreur suivant lorsque vous tenterez de vous connecter à un locataire Orchestrator récemment installé ou mis à niveau :
InternalServerError - IDX10630 The '[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'
appsettings.Production.json
du serveur d’identité dans votre section AppSettings :
"AppSettings": {
"EnablePII": true
},
"AppSettings": {
"EnablePII": true
},
EnablePII
dans le fichier Identity Server appsettings.Production.json
, certaines informations peuvent encore être masquées. Pour afficher les informations personnelles d'Orchestrator, ajoutez le paramètre ExternalAuth.ShowPII au UiPath.Orchestrator.dll.config
d'Orchestrator.
Avec ce nouveau paramètre, le message d’erreur révèle des informations plus utiles :
The 'Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: 'F9B1F6C18B728C02C8853470C71C365F000C86B5', InternalId: 'd3dadcac-e5aa-48e6-a20a-9232a3c3d16f'.'
for signing cannot be smaller than '2048' bits. KeySize: '1024'. (Parameter 'key.KeySize')
Il peut arriver que le bundle d’hébergement .NET Core ne soit pas installé correctement. Cela peut avoir les effets suivants :
- Les applications .NET Core s'exécutant dans IIS (telles que le serveur d'identité) ne démarrent pas. Au lieu de cela, l'erreur
System.IO.IOException: IDX20807: Unable to retrieve document
s'affiche. - Une erreur s’affiche lorsque vous accédez au Mappage du gestionnaire du serveur d'identité dans IIS.
- L'erreur
500.19 Error Code: 0x8007000d
se produit lors de la visite de l'URL https://localhost/identity dans un navigateur.
La solution évidente à ce problème est de réinstaller le pack .NET Core Hosting Bundle.
Impossible d'accéder à la page Fournisseurs externes (External Providers) après la mise à niveau vers Orchestrator v2020.4+
Lorsque vous mettez à jour Orchestrator vers 2020.4+, Identity Server migre vos paramètres précédents. Si vous aviez précédemment activé l'authentification Windows tout ayant configuré la connexion automatique pour les utilisateurs Windows AD, après avoir effectué la mise à niveau, les utilisateurs ne peuvent pas accéder à la page Fournisseurs externes (External Providers) s'ils se sont précédemment connectés à Identity Server. Les utilisateurs sont connectés aux locataires directement après avoir entré leurs informations d'identification Windows.
Sans accès à la page de connexion, l'administrateur de l'hôte ne peut ni se connecter au locataire de l'hôte ni accéder au portail de gestion des identités.
https://<OrchestratorURL>/identity/configuration
.
/api/account/authenticate Échec des appels pour les utilisateurs qui ont modifié les mots de passe lors de la première connexion
Invalid credentials, failed to login
.
Les utilisateurs qui se trouvent dans cette situation doivent changer leur mot de passe depuis la page Profil d'Orchestrator.
Keyset does not exist
peut se produire si le certificat utilisé pour Identity Server ne dispose pas des autorisations appropriées.
Exécutez le script PowerShell suivant en tant qu'administrateur pour accorder les autorisations du certificat :
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
$siteName
en fonction de votre installation d'Orchestrator.
Redémarrez le site IIS après avoir effectué vos changements de configuration.
Le service Orchestrator doit être arrêté avant toute mise à jour/mise à niveau du service du serveur d'identité. Les modifications apportées aux robots dans Orchestrator au cours de la mise à jour du serveur d'identité entraînent un échec de la mise à jour.
Si cela se produit, arrêtez le service Orchestrator et ré-exécutez la migration.
Plusieurs problèmes ont été liés à des problèmes de localisation dans les langues contenant des caractères non ASCII. Pour une prise en charge complète de la localisation, veuillez effectuer une mise à niveau vers la version 20.10+ d'Insights.
Le contournement suivant concerne les scénarios dans lesquels vous avez installé Orchestrator v2020.4 ou une version ultérieure et qui nécessitent des paramètres spécifiques pour que votre fournisseur SAML puisse fonctionner.
Alors que l'interface utilisateur du serveur d'identité devrait répondre à la plupart de vos besoins en termes de configuration SAML, cette section fournit un moyen de contrôler des paramètres SAML supplémentaires qui ne sont pas exposés par défaut. Pour obtenir la liste complète des paramètres disponibles, consultez la documentation officielle de Sustainsys.Saml2.
Sustainsys.Saml2 est le Identity Server de la bibliothèque sur lequel repose le support SAML, et il utilise un fichier de configuration XML. Pour avoir accès aux champs qui ne sont pas disponibles dans l'interface utilisateur du Identity Server, vous devez écraser ce fichier XML. La procédure suivante décrit comment vous pouvez y parvenir :
- Assurez-vous d'avoir activé et correctement configuré le fournisseur d'identité externe SAML sur la page Fournisseurs externes ( External Providers ) du portail de gestion des identités.
-
Modifiez le
appsettings.json
ou le fichierappsettings.Production.json
pour inclure la section suivante au niveau des racines. Cela indique à Identity Server de rechercher un fichier appelésaml2.xml
dans le même dossier que l’application Web et leappsettings.json
ou leappsettings.Production.json
."Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } },
"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } }, - Créez un fichier XML appelé
saml2.xml
et ajoutez la configuration SAML. -
Associez les champs de la page Fournisseurs externes du portail de gestion des identités aux nœuds correspondants dans
saml2.xml
.<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration>
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration> - Ajoutez les paramètres dont vous avez besoin. Utilisez par exemple des scénarios d'équilibrage de charge
publicOrigin
ou desminIncomingSigningAlgorithm
si vous souhaitez modifier l’option SHA256 par défaut. - Enregistrez les fichiers et redémarrez l'application web Identity Server dans IIS. Si vous rencontrez des erreurs avec la configuration SAML, les événements d'erreur devraient être visibles dans vos journalisations. Vous pouvez utiliser Windows Event Viewer, l'outil par défaut à cet effet.
UiPath.Orchestrator.dll.config
d'Orchestrator n'offre pas de moyen de mettre à jour l'heure d'expiration du jeton du porteur.
AccessTokenLifetime
du client Orchestrator.Ropc
dans la base de données Clients
d'Identity Server.
Dans l'exemple suivant, le délai d'expiration du jeton du porteur est défini sur 86 400 secondes (24 heures).
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
- Visualisation d'informations supplémentaires dans les journaux
- Installation défectueuse de .NET Core Hosting Bundle
- Impossible d'accéder à la page Fournisseurs externes (External Providers) après la mise à niveau vers Orchestrator v2020.4+
- /api/account/authenticate Échec des appels pour les utilisateurs qui ont modifié les mots de passe lors de la première connexion
- Le jeu de clés n’existe pas (Keyset n’existe pas) Erreur après l’installation
- Échec de RobotKeyMigration lors de la mise à jour
- Deployments en utilisant des langues qui contiennent des caractères non-ascii
- Configuration des paramètres SAML non disponibles dans l'interface utilisateur Identity Server
- Mise à jour du délai d'expiration du jeton du porteur