配置 User Manager
User Manager 管理 Polyspace® Access 用户登录的身份验证。系统会根据存储在 User Manager 数据库中的身份凭据检查用户名和密码,以对登录进行身份验证。要向 User Manager 数据库添加身份,请执行以下操作:
将公司的轻型目录访问协议 (LDAP) 服务器连接到 User Manager 并从该 LDAP 服务器导入身份。要配置与 LDAP 服务器的连接,请参阅将组织的 LDAP 服务器连接到 User Manager。
创建自定义身份。请参阅Manage Users and Groups。例如,如果无法使用或选择不使用公司 LDAP,请创建自定义身份。
在 Cluster Dashboard 上,点击 Configure Apps 以转至 Cluster Settings。填写所有设置后,请点击 Save,返回到 Cluster Dashboard 并点击 Restart Apps,然后更改才会生效。在点击 Save 之前,请确保 Validate on Save 已启用。
注意
在 Windows® 系统上,您指定的所有文件路径都必须指向本地驱动器。
前提条件
安装并启动 Cluster Admin。请参阅配置并启动 Cluster Admin
User Manager 常规设置
无论是创建自定义用户凭据还是从公司 LDAP 服务器导入用户,都必须进行以下设置。
| 设置 | 描述 |
|---|---|
| Internal directory database volume | 指定数据库文件夹的完整路径。该数据库存储有关从 LDAP 服务器导入或在 User Manager 界面中创建的用户和组的信息。 该数据库默认存储在提取 Polyspace Access 安装镜像的文件夹中,位于 |
| Internal directory database username | 如果需要使用 PostgreSQL 命令与内部数据库进行交互,请使用在此字段中指定的用户名。 默认用户名为 "UM"。 |
| Internal directory database password | 如果需要使用 PostgreSQL 命令与内部数据库进行交互,请使用在此字段中指定的密码。 此字段为必填项。 要查看当前的数据库密码,请运行以下命令。
要更改数据库密码,请更新密码两次:
选项 |
| Administrator sign-in IDs | 输入以逗号分隔的多个用户名,以将这些用户设置为 User Manager 管理员。您可以指定自定义用户名或公司 LDAP 中的用户名。请参阅Create, Edit, or Remove Users and Groups。 注意 如果启用 Connect an LDAP directory,则在此字段中指定的用户名至少有一个必须来自 LDAP 目录或必须已存在于 User Manager 数据库中。否则将无法登录到 User Manager 界面。 在此字段中指定的用户也是 Polyspace Access 管理员。有关 Polyspace Access 管理员的详细信息,请参阅Manage Project Permissions。 要删除具有 Polyspace Access 管理员身份的用户,请执行以下操作:
|
| Initial administrator password | 用以登录 User Manager 界面的密码。 如果在 User Manager Directory Connection 设置中选择了 Connect an LDAP directory,则此字段不可用。 |
| Authentication token expiration (sec): | 以秒为单位指定 User Manager 颁发给通过身份验证的用户的已签名 JSON Web 令牌的有效期。此到期时间决定了会话的存在时间。登录 Polyspace Access 后,您的许可证将被签出且会话将定期刷新,以防止其过期。如果您显式注销或关闭 Web 浏览器,会话将立即结束,您的许可证也将重新签回。如果浏览器意外关闭,则许可证将保持签出状态,直至会话过期。 设置过期时间时,请考虑以下情况:
请使用此设置来设置许可超时。Polyspace Access 会忽略您使用 |
Authentication private key file: | 指定 User Manager 用于为 JSON Web 令牌签名的私钥 User Manager 服务不支持受密码保护的私钥。您可以使用 openssl genrsa -out private.pem 2048 不要重用用于生成 SSL 证书的私钥,SSL 证书是您在启用 HTTPS 协议时需要提供的。 |
| API keys and user IDs | 在此字段中输入 API 密钥值和用户名对组,以便为用户分配 API 密钥。例如,要为用户 5ea34345-a03b-4a20-821e-f10e45e0e863,jsmith 可以将字母数字字符的任意组合作为 API 密钥分配给用户。例如,要为 API 密钥生成通用唯一标识符 (UUID),请使用以下命令:
请将 API 密钥与需要 Polyspace Access 凭据的以下命令一起使用:
使用 API 密钥时,建议将 API 密钥存储在一个文本文件中,并使用 -api-key 5ea34345-a03b-4a20-821e-f10e45e0e863 polyspace-access -credentials-file credentials.txt -api-key 直接在命令行传递 API 密钥。这些命令使用 API 密钥作为相应用户的登录凭据。如果用户更新其密码,您无需更新 API 密钥。如果将 API 密钥用于自动化脚本中,请确保与该密钥关联的用户具有足够的权限执行脚本中的所有操作。请参阅Manage Project Permissions。 |
要创建或管理身份,请参阅Manage Users and Groups。
将组织的 LDAP 服务器连接到 User Manager
要使用组织的 LDAP 服务器,请在 User Manager Directory Connection 设置中选择 Connect an LDAP directory 并配置 LDAP 设置。请联系 LDAP 管理员,以获取 LDAP URL、LDAP 用户数据库以及其他 LDAP 设置和过滤器。如果您使用的是 Docker,则 Docker 容器必须从主机继承 DNS 设置。
Polyspace Access™ 不支持使用基于 RSA 的密钥交换的密码套件以及 3DES 密码套件,因为这些密码套件存在已知弱点。在将 LDAP 服务器连接到 User Manager 之前,请升级 LDAP 服务器配置以使用安全的密码套件,例如基于 ECDHE 的密码套件。
| 设置 | 描述 |
|---|---|
| LDAP URL | 按以下格式输入 LDAP URL: ldap://HOST:PORT HOST 为 LDAP 主机,PORT 为 LDAP 端口号。 如果已配置基于 SSL 的 LDAP 服务器,请按以下格式输入 URL: ldaps://HOST:PORT 由于 LDAP 服务器与客户端之间的通信未加密,因此建议配置并使用基于 SSL 的 LDAP (LDAPS)。 |
| Synchronization interval (seconds) | 以秒为单位指定 User Manager 数据库与 LDAP 服务器之间的同步时间间隔。例如,要每半小时同步一次 User Manager 数据库与 LDAP 服务器,请指定 1800。 要手动同步,请在 User Manager 界面点击 Synch With LDAP。 |
| LDAP username | 对 LDAP 服务器具有读取权限的用户的用户名。如果对 LDAP 服务器的访问不受密码保护,请将此字段留空。 |
| LDAP password | 对 LDAP 服务器具有读取权限的用户的密码。如果对 LDAP 服务器的访问不受密码保护,请将此字段留空。 密码存储在 |
| Enable LDAP pagination | 启用此设置可控制 LDAP 服务器返回结果的速率。如果要查询大量用户且 LDAP 服务器对其返回的条目数有限制,或者进行查询的客户端的资源有限,则通常可以使用此设置。 在启用此设置之前,请确认:
|
| LDAP page size | 设置 LDAP 服务器每页返回的结果数,例如 1000。仅在选择了 Enable LDAP pagination 时,此设置才可用。 |
| LDAP user base | 可以使用 LDAP 资源管理器工具检索此参数。例如,通过 Apache Directory Studio 连接到 LDAP 服务器,并打开连接的属性。在 Browser Options 中,点击 Fetch Base DNs 以获取该 LDAP 库。 |
| LDAP user search filter | 使用搜索过滤器从 LDAP 数据库检索用户子集。User Manager 在启动时将加载此子集中的用户,而非加载组织中的所有用户。加载较少数量的用户进行身份验证可以提高 Polyspace Access 的性能。 将搜索过滤器指定为 在 AND (&) 或 OR (|) 子句中使用圆括号组合多个过滤器表达式。例如, 默认搜索过滤器为 要检查搜索过滤器是否返回用户子集,请在 API keys and user IDs 字段中输入该子集的一个用户名和一个虚拟密钥,然后点击页面底部的 Validate Now。如果找不到该用户名,则会收到警告。例如,要检查过滤器是否返回 |
LDAP user ID attribute LDAP user display name attribute LDAP user email attribute LDAP user image attribute | 除非 LDAP 管理员另有指示,否则请保持这些设置不变。Polyspace Access 不使用 LDAP 电子邮件和图像属性。 |
| Enable LDAP groups | 启用此设置可以从 LDAP 服务器目录导入用户组。 |
| LDAP group base | 可以使用 LDAP 资源管理器工具检索此参数。例如,通过 Apache Directory Studio 连接到 LDAP 服务器并搜索要导入的组,然后打开该组的属性。 |
| LDAP group search filter | 使用搜索过滤器从 LDAP 数据库检索组的子集。User Manager 在启动时会加载此子集中的组,而非加载组织中的所有组。加载较少数量的组可以提高 Polyspace Access 的性能。 将搜索过滤器指定为 在 AND (&) 或 OR (|) 子句中使用圆括号组合多个过滤器表达式。例如, 有关搜索过滤器的详细信息,请参阅 LDAP 过滤器。 |
LDAP group ID attribute LDAP group display name attribute LDAP group membership attribute | 除非 LDAP 管理员另有指示,否则请保持这些设置不变。Polyspace Access 不使用 LDAP 显示名称属性。 |
为基于 SSL 的 LDAP 配置 User Manager
如果使用基于 SSL 的 LDAP 服务器 (LDAPS),请将 LDAPS SSL 证书添加到 Nodes 设置的 CA File 字段中指定的证书信任存储文件中。要查看这些设置,请点击 Cluster Dashboard 上的 Configure Nodes。根据信任存储文件,LDAP SSL 证书可能已包含在信任存储中。
证书信任存储文件通常对应于使用 HTTPS 配置 Cluster Admin 时通过 --ssl-ca-file 提供的文件。请参阅为 Polyspace Access 选择 HTTP 或 HTTPS 配置。
例如,在 Linux Debian® 分发版中,要将 LDAP 证书 ldaps_cert.pem 添加到信任存储文件 trust_store.pem,请使用以下命令:
cat trust_store.pem ldaps_cert.pem > combined_cert.pem
combined_cert.pem。如果您使用自签名证书配置 HTTPS,请将 LDAP 证书添加到自签名证书中。要完成配置,请在 Nodes 设置的 CA File 字段中输入 combined_cert.pem 的路径,保存更改,返回仪表板,并重新启动 App。
如果未使用 HTTPS 配置 Cluster Admin,请在 CA File 字段中指定 LDAP SSL 证书的路径。
配置使用单点登录 (SSO) 的身份验证
在 Polyspace Access 中,您可以配置使用安全断言标记语言 (SAML) 身份提供商 (IdP) 的身份验证。有关 SAML 的详细信息,请参阅 OASIS SAML Wiki。
除了 SAML 设置之外,您还必须填写 LDAP 设置。填写 LDAP 和 SAML 设置会同步 LDAP 身份信息、SAML 设置以及 Polyspace Access User Manager。它还提供为用户分配权限并将结果分配给用户以供审查的能力。有关 LDAP 设置的详细信息,请参阅将组织的 LDAP 服务器连接到 User Manager。
配置 SAML 需要满足以下前提条件:
已安装 Polyspace Access。请参阅安装用于 Web 审查的 Polyspace Access。
组织的 IdP 遵循 SAML 协议。
您有权访问您的 IdP。要获得访问权限,请联系您的身份管理管理员。
您的 IdP 托管其 SAML 元数据的端点。多项设置要求输入在此元数据中找到的信息。
要配置组织的 SAML 设置,请首先从身份验证类型列表中选择 SAML,然后指定以下设置。
| 设置 | 描述 |
|---|---|
| SAML IDP metadata | SP 发起或 IdP 发起的配置文件的必需 SAML 元数据的 URL。 |
| SAML relying party | 与 SAML 身份提供商集成的服务器的主机名。该值通常是 IdP 的 DNS 条目的主机名。这可以在 IdP 的元数据中作为 |
| SAML CORS domains | 跨源通信所需的域的字符串数组。可能不需要使用此设置,具体取决于您的设置。 |
| SAML user ID attribute | IdP 中的用户名或用户 ID 属性。当服务器签出许可证时,此属性的值将显示在许可证服务器日志中。 |
| SAML user display name attribute | IdP 中的用户显示名称属性。此属性的值将显示在 Polyspace Access 用户界面中。如果断言传递了另一个更合适的字段(例如 "uname"),则将此字段将设置为 |
| SAML binding attribute | 用于向身份提供商发送身份验证请求的绑定方法,指定为 HTTP Redirect 方法将请求数据作为 URL 中的查询参数发送,而 HTTP POST 方法则在请求主体中以更安全的方式发送数据。 |
| SAML destination regex attribute | 添加与 Polyspace 域的域名和端口匹配的正则表达式模式。例如,以下规则强制要求任何重定向都必须以 ^https://www.myAccessDomain.com:9443)/.*$ 如果测试 SSO 配置时收到 Invalid destination URL(目标 URL 无效)错误,请使用此设置。 |
配置所有 SAML 和 LDAP 设置后,保存更改并返回 Cluster Dashboard。点击 User Manager 链接以验证您的更改是否生效。如果配置成功,则会启动 SSO 流程,提示您登录到您的 IdP。登录后,IdP 会将您重定向到 Polyspace Access 的 User Manager。