- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 管理产品
- 集群管理门户入门
- 为 ArgoCD 启用 SSO
- 将对象存储从持久性卷迁移到原始磁盘
- 在对象存储之间迁移数据
- 将集群内对象存储迁移到外部对象存储
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何自动清理 Longhorn 快照
- 如何禁用 TX 校验和卸载
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 如何使用证书
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何在离线环境中安装 RKE2 SELinux
- 如何清理 NFS 服务器上的旧差异备份
- 无法获取沙盒映像
- Pod 未显示在 ArgoCD 用户界面中
- Redis 探测器失败
- RKE2 服务器无法启动
- 在 UiPath 命名空间中找不到密码
- ArgoCD 在首次安装后进入“进行中”状态
- 访问 ArgoCD 只读帐户时出现问题
- MongoDB Pod 处于 CrashLoopBackOff 状态或在删除后处于“等待 PVC 配置”状态
- 集群还原或回滚后服务运行状况不佳
- Pod 在 Init:0/X 中卡住
- Prometheus 处于 CrashLoopBackoff 状态,并出现内存不足 (OOM) 错误
- 监控仪表板中缺少 Ceph-rook 指标
- Pod 无法在代理环境中与 FQDN 通信
- 无法配置升级后的电子邮件警示
- 无正常的上游问题
- 使用 Automation Suite 诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
为 ArgoCD 启用 SSO
概述
The uipathctl.sh script is required to enable SSO authentication. For more details on the script and the parameters you need to use, see Using uipathctl.sh.
准备配置文件
在为 ArgoCD 启用 SSO 之前,您必须生成 RBAC 文件和连接器文件。
RBAC 文件
RBAC 文件包含访问规则。
有关内置角色定义的详细信息,请参阅ArgoCD 文档。
For details on the ArgoCD account types and their permissions, see Managing the cluster in ArgoCD.
我们建议在定义组时使用这些角色,但您可以创建自己的权限集。
配置 RBAC 文件
-
创建一个名为
policy.csv的文件,添加以下内容,然后保存文件: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 -
通过将以下行附加到
policy.csvRBAC 文件,将 RBAC 组与内置管理员角色和 UiPath™ argocdro只读角色相关联: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 -
保存更新的
policy.csvRBAC 文件。
示例:
假设 ArgoCD 管理员的 LDAP 组为“Administrators”,ArgoCD 只读用户的 LDAP 组为“Readers”,则 RBAC 文件应为:
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
有关更高级的用例,请参阅默认的 RBAC 文件。
# 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
LDAP 连接器文件
LDAP 连接器文件包含为 ArgoCD 配置 SSO 所需的 LDAP 参数。
If you already have an LDAP connector file (ldap_connector.yaml), skip to Enabling the SSO for ArgoCD.
要通过 LDAP 配置 SSO,请执行以下步骤:
-
通过运行以下命令生成 LDAP 模板文件。 将在运行命令的目录中生成连接器模板文件。
./uipathctl.sh sso-generate-connector --sso-connector-type ldap --install-type [online|offline] --accept-license-agreement./uipathctl.sh sso-generate-connector --sso-connector-type ldap --install-type [online|offline] --accept-license-agreement -
复制从
---开始的输出,并将其另存为ldap_connector.yaml。OpenLDAP 连接器文件示例:
--- 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--- 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: cnActive Directory LDAP 连接器文件示例:
--- 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--- 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 -
使用所需信息更新 LDAP 连接器文件并保存。 我们建议使用 LDAPS。
为 ArgoCD 启用 SSO
准备 RBAC 和连接器文件后,您可以为 ArgoCD 启用 SSO。
使用 LDAP
通过在存储连接器文件的目录中运行以下命令,为 ArgoCD 启用 SSO:
./uipathctl.sh sso-apply-overlays --install-type [online|offline] --accept-license-agreement --sso-connector-file ldap_connector.yaml --sso-rbac-file policy.csv
./uipathctl.sh sso-apply-overlays --install-type [online|offline] --accept-license-agreement --sso-connector-file ldap_connector.yaml --sso-rbac-file policy.csv
运行上一个命令后,您应该会在 ArgoCD 登录页面上看到一个 SSO 登录按钮。 提供公司域的用户名和密码。