UiPath Documentation
automation-suite
2023.10
false
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Guía de instalación de Automation Suite en Linux

Habilitación de SSO para ArgoCD

Información general

Para habilitar la autenticación SSO, debes utilizar la herramienta de línea de comandos uipathctl.

Preparing the configuration files

Debes generar el archivo RBAC y el archivo de configuración Dex antes de habilitar SSO para ArgoCD.

The RBAC file

El archivo RBAC contiene reglas de acceso.

Para obtener más información sobre las definiciones de roles integradas, consulta la documentación de ArgoCD.

Para obtener más información sobre los tipos de cuenta de ArgoCD y sus permisos, consulta Gestionar el clúster en ArgoCD.

Recomendamos utilizar estos roles al definir tus grupos, pero puedes crear tu propio conjunto de permisos.

Configuring the RBAC file
  1. Cree un archivo con el nombre policy.csv ejecutando el siguiente comando:
    uipathctl config argocd generate-rbac
    uipathctl config argocd generate-rbac
    
  2. Agregue el siguiente contenido al archivo policy.csv y guárdelo:
    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. Asocia tus grupos RBAC con el rol de administrador integrado y el rol de solo lectura de UiPath® argocdro , anexando las siguientes líneas al archivo policy.csv RBAC:
    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. Guarde el archivo RBAC policy.csv actualizado.
Ejemplo

Si tu grupo LDAP para administradores de ArgoCD es Administradores y el grupo LDAP para usuarios de solo lectura de ArgoCD es Lectores, el archivo RBAC debe ser similar al del siguiente ejemplo:

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

Para casos de uso más avanzados, el siguiente ejemplo muestra el archivo RBAC predeterminado:

# 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

El archivo de configuración de Dex

El archivo de configuración de Dex contiene los parámetros necesarios para configurar SSO para ArgoCD.

Nota:

Si ya tienes un archivo de conector LDAP (ldap_connector.yaml), pasa a Habilitar el SSO para ArgoCD.

Para configurar SSO a través de LDAP, siga los siguientes pasos:

  1. Genere el archivo de plantilla LDAP ejecutando el siguiente comando. El archivo de plantilla de conector se genera en el mismo directorio en el que ejecutas el comando.

    uipathctl config argocd generate-dex-config -t ldap
    uipathctl config argocd generate-dex-config -t ldap
    
  2. Copie la salida que comienza en --- y guárdela como ldap_connector.yaml.

    Ejemplo de un archivo de configuración de ArgoCD:

    ---
    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
    

    Ejemplo de archivo de conector LDAP de Active Directory:

    ---
    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. Actualice el archivo del conector LDAP con la información requerida y guárdelo. Recomendamos utilizar LDAPS.

Habilitación de SSO para ArgoCD

Después de preparar el RBAC y el archivo de configuración Dex, puedes habilitar SSO para ArgoCD:

  1. Actualiza el archivo cluster_config.json con los siguientes parámetros:
    1. fabric.argocd_dex_config_file: introduce la ruta al archivo de configuración Dex creado anteriormente.
    2. fabric.argocd_rbac_config_file: introduce la ruta al archivo RBAC creado anteriormente.
  2. Vuelva a ejecutar el instalador de Fabric:
    ./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
    
  • Información general
  • Preparing the configuration files
  • The RBAC file
  • El archivo de configuración de Dex
  • Habilitación de SSO para ArgoCD

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado