UiPath Documentation
automation-suite
2023.10
false
Automation Suite unter Linux – Installationsanleitung
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Aktivieren von SSO für ArgoCD

Überblick

Um die SSO-Authentifizierung zu aktivieren, müssen Sie das uipathctl-Befehlszeilentool verwenden.

Vorbereiten der Konfigurationsdateien

Sie müssen die RBAC-Datei und die Dex-Konfigurationsdatei generieren, bevor Sie SSO für ArgoCD aktivieren.

Die RBAC-Datei

Die RBAC-Datei enthält Zugriffsregeln.

Weitere Informationen zu den integrierten Rollendefinitionen finden Sie in der ArgoCD-Dokumentation.

Weitere Informationen zu den ArgoCD-Kontotypen und deren Berechtigungen finden Sie unter Verwalten des Clusters in ArgoCD.

Wir empfehlen, diese Rollen beim Definieren Ihrer Gruppen zu verwenden, aber Sie können auch Ihre eigenen Berechtigungen erstellen.

Konfigurieren der RBAC-Datei
  1. Erstellen Sie eine Datei mit dem Namen policy.csv, indem Sie den folgenden Befehl ausführen:
    uipathctl config argocd generate-rbac
    uipathctl config argocd generate-rbac
    
  2. Fügen Sie der Datei policy.csv den folgenden Inhalt hinzu und speichern Sie sie:
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    
  3. Verknüpfen Sie Ihre RBAC-Gruppen mit der integrierten Administratorrolle und der schreibgeschützten UiPath®-Rolle argocdro , indem Sie die folgenden Zeilen an die RBAC-Datei policy.csv anfügen:
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    
  4. Speichern Sie die aktualisierte policy.csv RBAC-Datei.
Beispiel

Wenn Ihre LDAP-Gruppe für ArgoCD-Administratoren Administratoren und die LDAP-Gruppe für schreibgeschützte ArgoCD-Benutzer Leser ist, sollte die RBAC-Datei der im folgenden Beispiel ähneln:

p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin
p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin

Für erweiterte Anwendungsfälle zeigt das folgende Beispiel die standardmäßige RBAC-Datei:

# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin
# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin

Dex-Konfigurationsdatei

Die Dex-Konfigurationsdatei enthält die erforderlichen Parameter zum Konfigurieren von SSO für ArgoCD.

Hinweis:

Wenn Sie bereits über eine LDAP Connector-Datei (ldap_connector.yaml) verfügen, fahren Sie mit dem Aktivieren von SSO für ArgoCD fort.

Führen Sie die folgenden Schritte aus, um SSO über LDAP zu konfigurieren:

  1. Generieren Sie die LDAP-Vorlagendatei, indem Sie den folgenden Befehl ausführen. Die Connector-Vorlagendatei wird in demselben Verzeichnis generiert, in dem Sie den Befehl ausführen.

    uipathctl config argocd generate-dex-config -t ldap
    uipathctl config argocd generate-dex-config -t ldap
    
  2. Kopieren Sie die Ausgabe, die bei --- beginnt, und speichern Sie sie als ldap_connector.yaml .

    Beispiel für eine ArgoCD-Konfigurationsdatei:

    ---
    connectors:
    - type: ldap
      # Required field for connector id.
      id: ldap
      # Required field for connector name.
      name: OpenLDAP
      config:
        host: openldap:389
        insecureNoSSL: true
        startTLS: false
        bindDN: cn=admin,dc=example,dc=org
        bindPW: adminpassword
        usernamePrompt: Email Address
        userSearch:
          baseDN: ou=People,dc=example,dc=org
          filter: "(objectClass=person)"
          username: mail
          idAttr: DN
          emailAttr: mail
          nameAttr: cn
        # Group search queries for groups given a user entry.
        groupSearch:
          baseDN: ou=Groups,dc=example,dc=org
          filter: "(objectClass=groupOfNames)"
          userMatchers:
            - userAttr: DN
              groupAttr: member
          nameAttr: cn
    ---
    connectors:
    - type: ldap
      # Required field for connector id.
      id: ldap
      # Required field for connector name.
      name: OpenLDAP
      config:
        host: openldap:389
        insecureNoSSL: true
        startTLS: false
        bindDN: cn=admin,dc=example,dc=org
        bindPW: adminpassword
        usernamePrompt: Email Address
        userSearch:
          baseDN: ou=People,dc=example,dc=org
          filter: "(objectClass=person)"
          username: mail
          idAttr: DN
          emailAttr: mail
          nameAttr: cn
        # Group search queries for groups given a user entry.
        groupSearch:
          baseDN: ou=Groups,dc=example,dc=org
          filter: "(objectClass=groupOfNames)"
          userMatchers:
            - userAttr: DN
              groupAttr: member
          nameAttr: cn
    

    Beispiel für eine Active Directory LDAP Connector-Datei:

    ---
    connectors:
    - id: ldap
    name: ActiveDirectory
    type: ldap
    config:
      bindDN: cn=admin,cn=Users,dc=example,dc=local
      bindPW: "<admins's password>"
      groupSearch:
        baseDN: dc=example,dc=local
        filter: "(objectClass=group)"
        nameAttr: cn
        userMatchers:
          - userAttr: distinguishedName
            groupAttr: member
      host: "ldaphost:389"
      insecureNoSSL: true
      insecureSkipVerify: true
      startTLS: false
      userSearch:
        baseDN: cn=Users,dc=example,dc=local
        emailAttr: userPrincipalName
        filter: (objectClass=person)
        idAttr: DN
        nameAttr: cn
        username: userPrincipalName
      usernamePrompt: Email Address
    ---
    connectors:
    - id: ldap
    name: ActiveDirectory
    type: ldap
    config:
      bindDN: cn=admin,cn=Users,dc=example,dc=local
      bindPW: "<admins's password>"
      groupSearch:
        baseDN: dc=example,dc=local
        filter: "(objectClass=group)"
        nameAttr: cn
        userMatchers:
          - userAttr: distinguishedName
            groupAttr: member
      host: "ldaphost:389"
      insecureNoSSL: true
      insecureSkipVerify: true
      startTLS: false
      userSearch:
        baseDN: cn=Users,dc=example,dc=local
        emailAttr: userPrincipalName
        filter: (objectClass=person)
        idAttr: DN
        nameAttr: cn
        username: userPrincipalName
      usernamePrompt: Email Address
    
  3. Aktualisieren Sie die LDAP-Connector-Datei mit den erforderlichen Informationen und speichern Sie sie. Wir empfehlen die Verwendung von LDAPS.

Aktivieren von SSO für ArgoCD

Nachdem Sie die RBAC-Datei und Dex-Konfigurationsdatei vorbereitet haben, können Sie SSO für ArgoCD aktivieren:

  1. Aktualisieren Sie die cluster_config.json -Datei mit den folgenden Parametern:
    1. fabric.argocd_dex_config_file – Geben Sie den Pfad zur zuvor erstellten Dex-Konfigurationsdatei ein .
    2. fabric.argocd_rbac_config_file – Geben Sie den Pfad zur zuvor erstellten RBAC-Datei ein.
  2. Führen Sie das Fabric-Installationsprogramm erneut aus:
    ./install-uipath.sh -i cluster_config.json -f -o output.json --accept-license-agreement
    ./install-uipath.sh -i cluster_config.json -f -o output.json --accept-license-agreement
    
  • Überblick
  • Vorbereiten der Konfigurationsdateien
  • Die RBAC-Datei
  • Dex-Konfigurationsdatei
  • Aktivieren von SSO für ArgoCD

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben