automation-suite
2023.10
true
Automation Suite unter Linux – Installationsanleitung
Last updated 4. Okt. 2024

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-rbacuipathctl 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-syncp, 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:adming, <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:adminp, 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 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 ldapuipathctl 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 Datei cluster_config.json 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?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten