Abonnieren

UiPath Automation Suite

Die Anleitung für die UiPath Automation Suite

Einrichten einer Kerberos-Authentifizierung

Voraussetzungen


Um die Kerberos-Authentifizierung erfolgreich einzurichten, müssen die folgenden Voraussetzungen erfüllt sein:

 

Sicherstellen, dass der Automation Suite-Cluster auf Ihr AD zugreifen kann

Bevor Sie die Kerberos-Authentifizierung konfigurieren können, müssen Sie gemeinsam mit Ihren IT-Administratoren sicherstellen, dass der Automation Suite-Cluster auf Ihr AD zugreifen kann.
Die folgenden Anforderungen müssen erfüllt sein:

  • Der Automation Suite-Cluster muss sich im selben Netzwerk wie die AD-Domäne befinden;
  • DNS muss im Netzwerk korrekt eingerichtet sein, damit der Automation Suite-Cluster die AD-Domänennamen auflösen kann.

📘

Hinweis:

Es ist wichtig, dass der Automation Suite-Cluster die AD domain names auflösen kann. Sie können dies überprüfen, indem Sie nslookup <AD domain name> auf der Hostmaschine ausführen.

 

Konfigurieren des AD-Dienstkontos für die Kerberos-Authentifizierung

Wenden Sie sich an Ihren AD-Administrator, um ein AD-Benutzerkonto zu erhalten, und rufen Sie <KERB_DEFAULT_USERNAME> und <KERB_DEFAULT_KEYTAB> für dieses Konto wie folgt ab:

  1. Erstellen Sie auf Ihrem AD-Server ein neues Benutzerkonto. Wenn Sie bereits über eines verfügen, fahren Sie mit Schritt 2 fort.
    1.1. Klicken Sie in der Active Directory-Konsole für Benutzer und Computer mit der rechten Maustaste auf den Ordner Benutzer, klicken Sie dann auf Neu und wählen Sie Benutzer aus.
    1.2. Beenden Sie die Erstellung des Benutzerkontos.
  2. Klicken Sie mit der rechten Maustaste auf das Benutzerkonto und wählen Sie Eigenschaften aus.
  3. Gehen Sie zur Registerkarte Konto und wählen Sie dann unter Kontooptionen die Option Dieses Konto unterstützt eine Kerberos AES 256-Bit-Verschlüsselung.
  4. Wichtig: Die in den nächsten Schritten generierte Keytab wird ungültig, wenn das Kennwort des AD-Benutzers abgelaufen oder aktualisiert wurde. Überlegen Sie, ob Sie für dieses AD-Benutzerkonto die Option Kennwort läuft nie ab unter Kontooptionen aktivieren. Alternativ können Sie das Kennwort aktualisieren, wenn es abläuft, und eine neue Keytab generieren.
  5. Um eine Keytab-Datei für den SPN (Service Principal Name) zu generieren, öffnen Sie PowerShell mit Administratorzugriff und führen Sie den folgenden Befehl aus:
ktpass -princ HTTP/<Service Fabric FQDN>@<AD FQDN in cap> -pass <AD user's password> -mapuser <AD NetBIOS name in cap>\<AD user name> -pType KRB5_NT_PRINCIPAL -out <output file path> -crypto AES256-SHA1

Einige Felder müssen in Großbuchstaben angegeben werden. Zum Beispiel:

ktpass -princ HTTP/[email protected] -pass pwd123 -mapuser TESTDOMAIN\aduser -pType KRB5_NT_PRINCIPAL -out c:\krb5.keytab -crypto AES256-SHA1

📘

Hinweis:

Nach dem Erstellen der Keytab ändert sich der Benutzeranmeldungsname zu HTTP/<Service Fabric FQDN>. Nennen wir diesen Wert <KERB_DEFAULT_USERNAME>.

  1. Kodieren Sie die generierte Keytab-Datei in Base64, öffnen Sie PowerShell und führen Sie den folgenden Befehl aus:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>"))
  1. Speichern Sie die codierte Keytab-Datei. Sie verwenden sie beim Konfigurieren des UiPath-Clusters für Kerberos. Rufen wir den Wert aus Schritt 6 auf: <KERB_DEFAULT_KEYTAB>.

 

Optional: Voraussetzungen der SQL-Authentifizierung

Um den UiPath-Cluster so zu konfigurieren, dass eine Verbindung zu SQL über die integrierte Windows-Authentifizierung/Kerberos hergestellt wird, müssen Sie einige zusätzliche Schritte durchführen:

  • Der SQL-Server muss der AD-Domäne beitreten;
  • Der Automation Suite-Cluster muss sich im selben Netzwerk wie der SQL-Server befinden;
  • Der Automation Suite-Cluster kann die Domänennamen der AD- und SQL-Server auflösen;
  • Der AD-Benutzer muss Zugriff auf den SQL-Server und DB-Berechtigungen haben.
Klicken Sie hier für detaillierte Anweisungen

Um eine neue Anmeldung im SQL Server Management Studio zu erstellen, führen Sie die folgenden Schritte aus:
a. Navigieren Sie im Bereich Objekt-Explorer zu Sicherheit > Anmeldungen.
b. Klicken Sie mit der rechten Maustaste auf den Ordner Anmeldungen und wählen Sie Neue Anmeldung aus. Das Fenster Anmeldung - Neu wird angezeigt.
c. Wählen Sie die Option Windows-Authentifizierung. Das Fenster wird entsprechend aktualisiert.

d. Geben Sie im Feld Anmeldename die Benutzerdomäne ein, die Sie als Dienstkonto verwenden möchten.
e. Wählen Sie in der Liste Standardsprache die Option Deutsch aus.

❗️

Wichtig!

Stellen Sie sicher, dass die Standardsprache (Default Language) auf Englisch (English) eingestellt ist. Wenn dies nicht der Fall ist, kann die Website nicht starten und die Ereignisanzeige auf dem Computer, auf dem Orchestrator installiert ist, zeigt die folgende Fehlermeldung an: „Die Konvertierung Varchar Datentyps in einen DatenZeit-Datentyp führte zu einem Wert außerhalb des Bereichs“.

f. Klicken Sie auf OK. Ihre Konfigurationen werden gespeichert.
Wenn das Dienstkonto bereits erstellt und dem Abschnitt Sicherheit >-Anmeldungen des SQL Servers hinzugefügt wurde, überprüfen Sie, ob die Standardsprache dieses SQL-Kontos auf Englisch festgelegt ist. Ist dies nicht der Fall, nehmen Sie bitte die erforderlichen Anpassungen vor.

Sie müssen den Benutzer, der sich mit der SQL-Datenbank verbindet, mit der Benutzerzuordnungsrolle db_owner ausstatten, wie in der folgenden Abbildung zu sehen ist.

Wenn Sicherheitseinschränkungen Ihnen die Verwendung der Benutzerzuordnungsrolle db_owner mit der UiPath-Anmeldung nicht erlauben, gewähren Sie die folgenden Berechtigungen:

  • db_datareader
  • db_datawriter
  • db_ddladmin
  • EXECUTE-Berechtigung für dbo-Schema

Die Berechtigung EXECUTE muss wie folgt mithilfe des SQL-Befehls GRANT EXECUTE gewährt werden:

USE UiPath
GO
GRANT EXECUTE ON SCHEMA::dbo TO [domain\user]
GO

Wenn Sie möchten, dass UiPath-Anwendungen eindeutige Konten für die Verbindung zu SQL mithilfe von Integrated Security=True verwenden, müssen Sie für jede UiPath-Anwendung wie folgt eine eindeutige Keytab erstellen. Diese wird für diese Anwendung als <KERB_APP_KEYTAB> bezeichnet.

# Generate keytab file and output it in the desired path 
ktpass /princ <AD username>@<AD domain in cap> /pass <AD user password> /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /out <path to keytab file> -setpass 

# Converts AD user's keytab file to base 64 
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>"))

Der Wert <AD username> wird der <KERB_APP_USERNAME> sein, der dem <KERB_APP_KEYTAB> entspricht.

 

Konfigurieren der Automation Suite als Kerberos-Client


In diesem Abschnitt wird erläutert, wie Sie die Automation Suite als Kerberos-Client für den LDAP- oder SQL-Zugriff konfigurieren können.

Konfigurieren Sie die Automation Suite mit <KERB_DEFAULT_KEYTAB> als Kerberos-Client auf eine der folgenden Arten:

📘

Hinweis:

Wenn Sie verschiedene Dienste so einrichten möchten, dass sie unter ihrem eigenen AD-Konto laufen und als dieses AD-Konto auf SQL zugreifen, können Sie ad_username mit <KERB_APP_USERNAME> und user_keytab als <KERB_APP_KEYTAB> im Konfigurationsabschnitt des Dienstes angeben.

 

Konfigurieren der Kerberos-Authentifizierung über das interaktive Installationsprogramm

  1. Geben Sie beim Ausführen des Automation Suite-Installationsprogramms an, dass Sie die Kerberos-Authentifizierung in der Bereitstellungskonfiguration aktivieren möchten:
===============================================================================
                            Deployment configuration
===============================================================================

Are you performing an evaluation/development/test/demo or a production deployment?
[1] Production deployment (multi-node)
[2] Evaluation/development/test/demo deployment (single-node)
Enter your choice [2]: 2

Will your deployment have access to Internet (online) or is it physically isolated from unsecured networks (air-gapped)?
[1] Online
[2] Air-gapped
Enter your choice [1]: 1
Enter the Automation Suite FQDN []: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
sfdev1868610-d053997f-lb.eastus.cloudapp.azure.comsfdev1868610-d053997f-lb.eastus.cloudapp.azure.com

Would you like to enable Kerberos Auth? This will be used to connect to SQL Databases and Active Directory Lightweight Directory Adaptor if configured.
[1] Yes
[2] No

Enter your choice [2]: 1
===============================================================================
                            Deployment configuration
===============================================================================

Are you performing an evaluation/development/test/demo or a production deployment?
[1] Production deployment (multi-node)
[2] Evaluation/development/test/demo deployment (single-node)
Enter your choice [2]: 2

Will your deployment have access to Internet (online) or is it physically isolated from unsecured networks (air-gapped)?
[1] Online
[2] Air-gapped
Enter your choice [1]: 1
Enter the Automation Suite FQDN []: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
sfdev1868610-d053997f-lb.eastus.cloudapp.azure.comsfdev1868610-d053997f-lb.eastus.cloudapp.azure.com

Would you like to enable Kerberos Auth? This will be used to connect to SQL Databases and Active Directory Lightweight Directory Adaptor if configured.
[1] Yes
[2] No

Enter your choice [2]: 1
  1. Geben Sie die Eingabeparameter für die Kerberos-Authentifizierung an:

📘

Hinweis:

Dies ist die standardmäßige Einstellung für die Kerberos-Authentifizierung für alle Dienste. Wenn Sie einen anderen AD-Benutzer auf Dienstebene einrichten möchten, können Sie die Werte im dienstspezifischen JSON-Objekt in einem späteren Schritt während der Installation angeben.

Specify the Active Directory domain for Kerberos Auth []: 
Specify the Ticket Granting Ticket lifetime (TGT) in hours between 8 and 168 for Kerberos Auth [8]:
Specify the default Active Directory username for Kerberos Auth []: 
Specify the default Active Directory user's keytab for Kerberos Auth []: 
Specify the SQL server FQDN []: 
Specify the SQL server connection PORT [1433]:

📘

Hinweis:

Beim AD-Domänencontroller befindet sich die Kerberos-Einstellung Maximale Lebensdauer des Benutzertickets in der Standarddomänenrichtlinie. Achten Sie darauf, dass die hier konfigurierte Lebensdauer des Tickets nicht länger ist als die serverseitige Einstellung.


Sie müssen die Keytab-Datei (<KERB_DEFAULT_KEYTAB>) wie im Abschnitt Voraussetzungen beschrieben generieren und dem Installationsprogramm den mit Base64-codierten Wert zur Verfügung stellen. Dann müssen Sie <KERB_DEFAULT_USERNAME> als den Wert für Active Directory username für das Installationsprogramm angeben.

  1. Schließen Sie den Rest der Installation ab, wie im folgenden Beispiel gezeigt:
Would you like the databases to be automatically provisioned for all the products you've selected?
[1] Yes
[2] No

Enter your choice [1]: 1

The following databases will be provisioned automatically:
- Shared suite capabilities: AutomationSuite_Platform
- Orchestrator: AutomationSuite_Orchestrator
- Test Manager: AutomationSuite_Test_Manager
- Insights: AutomationSuite_Insights
- Automation Hub: AutomationSuite_Automation_Hub
- Automation Ops: AutomationSuite_Automation_Ops
- AI Center: AutomationSuite_AICenter
- Document understanding: AutomationSuite_DU_Datamanager


===============================================================================
                            Current config values
===============================================================================
Multi node: false
Airgapped: false
Automation Suite FQDN: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
Sql server FQDN: sfdev1868610-d053997f-sql.database.windows.net
Sql port: 1433
Sql username:
Sql password:
Create sql databases: true
Kerberos Auth enabled: true
Kerberos Auth Active Directory domain: abcd.com
Kerberos Auth TGT lifetime in hours: 8
Kerberos Auth default Active Directory username: ad_user
Kerberos Auth default user's keytab: XXXXXXXXX


✅ The cluster configuration file was generated at /tmp/UiPathAutomationSuite/cluster_config.json:

[1] Continue installing with the default config
[2] Edit the config
[3] Go to the main menu

For advanced settings, quit now and manually edit the config file.
Once the configuration file is updated, run the deployment wizard again and follow the instructions.
Would you like the databases to be automatically provisioned for all the products you've selected?
[1] Yes
[2] No

Enter your choice [1]: 1

The following databases will be provisioned automatically:
- Shared suite capabilities: AutomationSuite_Platform
- Orchestrator: AutomationSuite_Orchestrator
- Test Manager: AutomationSuite_Test_Manager
- Insights: AutomationSuite_Insights
- Automation Hub: AutomationSuite_Automation_Hub
- Automation Ops: AutomationSuite_Automation_Ops
- AI Center: AutomationSuite_AICenter
- Document understanding: AutomationSuite_DU_Datamanager


===============================================================================
                            Current config values
===============================================================================
Multi node: false
Airgapped: false
Automation Suite FQDN: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
Sql server FQDN: sfdev1868610-d053997f-sql.database.windows.net
Sql port: 1433
Sql username:
Sql password:
Create sql databases: true
Kerberos Auth enabled: true
Kerberos Auth Active Directory domain: abcd.com
Kerberos Auth TGT lifetime in hours: 8
Kerberos Auth default Active Directory username: ad_user
Kerberos Auth default user's keytab: XXXXXXXXX


✅ The cluster configuration file was generated at /tmp/UiPathAutomationSuite/cluster_config.json:

[1] Continue installing with the default config
[2] Edit the config
[3] Go to the main menu

For advanced settings, quit now and manually edit the config file.
Once the configuration file is updated, run the deployment wizard again and follow the instructions.
  1. Optional: Sie können die Konfiguration bearbeiten, wie unten gezeigt:
===============================================================================
                    Choose what setting you want to edit
===============================================================================
[1] Multi node: false
[2] Airgapped: false
[3] Automation Suite FQDN: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
[4] Sql server FQDN: sfdev1868610-d053997f-sql.database.windows.net
[5] Sql port: 1433
[6] Sql username:
[7] Sql password:
[8] Create sql databases: true
[9] Kerberos Auth enabled: true
[10] Kerberos Auth Active Directory domain: abcd.com
[11] Kerberos Auth TGT lifetime in hours
[12] Kerberos Auth default Active Directory username: ad_user
[13] Kerberos Auth default user's keytab: XXXXXXXXX===============================================================================
                    Choose what setting you want to edit
===============================================================================
[1] Multi node: false
[2] Airgapped: false
[3] Automation Suite FQDN: sfdev1868610-d053997f-lb.eastus.cloudapp.azure.com
[4] Sql server FQDN: sfdev1868610-d053997f-sql.database.windows.net
[5] Sql port: 1433
[6] Sql username:
[7] Sql password:
[8] Create sql databases: true
[9] Kerberos Auth enabled: true
[10] Kerberos Auth Active Directory domain: abcd.com
[11] Kerberos Auth TGT lifetime in hours
[12] Kerberos Auth default Active Directory username: ad_user
[13] Kerberos Auth default user's keytab: XXXXXXXXX

 

Konfigurieren der Kerberos-Authentifizierung über cluster_config.json

  1. In der Datei cluster_config.json setzen Sie den Parameter kerberos_auth_config.enabled auf true.

  2. Wenn Sie Kerberos für den SQL-Zugriff verwenden möchten, konfigurieren Sie sql_connection_string_template, sql_connection_string_template_jdbc und sql_connection_string_template_odbc mit dem Flag für integrierte Sicherheit.

  3. Wenn Sie einen anderen AD-Benutzer auf Dienstebene einrichten möchten, können Sie die Werte im dienstspezifischen JSON-Objekt angeben.

Beispiel für die Aktualisierung des Orchestrators und der Plattform zur Verwendung der Kerberos-Authentifizierung

"kerberos_auth_config": {
    "enabled" : true, 
    "ticket_lifetime_in_hour" : 8, 
    "ad_domain": "PLACEHOLDER - INSERT ACTIVE DIRECTORY DOMAIN ",
    "default_ad_username": "PLACEHOLDER - INSERT KERB_DEFAULT_USERNAME",
    "default_user_keytab": "PLACEHOLDER - INSERT KERB_DEFAULT_KEYTAB"
  },
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"orchestrator": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Orchestrator;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
    "kerberos_auth_config": {
      "ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for Orchestrator",
      "user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for Orchestrator"
    }
    "testautomation": {
      "enabled": true
    },
    "updateserver": {
      "enabled": true
    }
},
"platform": {
    "sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Platform;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
    "kerberos_auth_config": {
      "ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for platform",
      "user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for platform"
    }
}

 

Anpassen der Kerberos-Authentifizierung über die Benutzeroberfläche von ArgoCD

  1. Gehen Sie zur ArgoCD-Benutzeroberfläche, suchen Sie die Anwendung uipath, klicken Sie in der oberen linken Ecke auf die Schaltfläche APP DETAILS und gehen Sie dann zur Registerkarte PARAMETERS.

  2. Klicken Sie auf EDIT, ändern Sie die folgenden Parameter auf den angegebenen Wert und speichern Sie dann die neue Konfiguration.

Parameter

Value

global.kerberosAuthConfig.adDomain

AD domain

global.kerberosAuthConfig.adUserName

KERB_DEFAULT_USERNAME

global.kerberosAuthConfig.enabled

true

global.kerberosAuthConfig.userKeytab

KERB_DEFAULT_KEYTAB

global.kerberosAuthConfig.ticketLifetimeInHours

8 (default)

Wenn Sie SQL mit integrierter Authentifizierung verwenden möchten und für jede Anwendung ein eigenes Benutzerkonto verwenden müssen, konfigurieren Sie auch die folgenden Parameter. Und so weiter für jede Anwendung.

Parameter

Value

global.platform.kerberosAuthConfig.adUserName

KERB_APP_USERNAME for platform

global.platform.kerberosAuthConfig.userKeytab

KERB_APP_KEYTAB for platform

global.orchestrator.kerberosAuthConfig.adUserName

KERB_APP_USERNAME for Orchestrator

global.orchestrator.kerberosAuthConfig.userKeytab

KERB_APP_KEYTAB for Orchestrator

📘

Hinweis:

Beim AD-Domänencontroller befindet sich die Kerberos-Einstellung Maximale Lebensdauer des Benutzertickets in der Standarddomänenrichtlinie. Achten Sie darauf, dass die hier konfigurierte Lebensdauer des Tickets nicht länger ist als die serverseitige Einstellung.

  1. Synchronisieren Sie die uipath-Anwendung und warten Sie, bis die Synchronisierung mit der Statusmeldung healthy abgeschlossen ist.

  2. Wenn Sie Kerberos für den SQL-Zugriff verwenden möchten, können Sie jetzt die SQL-Verbindungszeichenfolge Ihrer Dienste mit dem Flag der integrierten Sicherheit aktualisieren, um die integrierte Authentifizierung zu verwenden.

 

Aktualisieren der Kerberos-Authentifizierung über das CLI-Tool

To update Kerberos authentication via the CLI tool, see Updating Kerberos authentication.

 

Konfigurieren der Active Directory-Integration


Damit die Kerberos-Authentifizierung bei der Anmeldung in der Automation Suite verwendet werden kann, müssen Sie die Automation Suite-Hosteinstellungen weiter konfigurieren.
For instructions, see Configuring the Active Directory integration.

 

Kerberos-Fehlerbehebung


If you encounter any issues while configuring Kerberos, see Troubleshooting.

Vor etwa einem Monat aktualisiert


Einrichten einer Kerberos-Authentifizierung


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.