外部 IDP(已作说明)
IDP是 Identity Provider 的首字母缩略词。外部 IDP 是一种外部应用程序和服务,您可以在其中存储和管理用户身份信息,并向其他系统提供用户身份验证服务。您可以将外部 IDP 与 XProtect 视频管理软件相关联。
XProtect 支持与 OpenID Connect (OIDC) 兼容的外部 IDP。
用户身份验证
配置外部 IDP 后,XProtect 客户端支持将外部 IDP 用作额外的身份验证选项。
当客户端登录屏幕中的计算机地址指向配置了外部 IDP 的 XProtect 视频管理软件时,将触发 API 调用,外部 IDP 的身份验证选项将可在登录屏幕上使用。当客户端启动和地址变更时,API 调用将激活。
客户端查询的特定 API 是不需要任何用户身份验证的公共 API,因此客户端始终可以读取此信息。
声明
声明是用户或应用程序等实体做出的关于自身的声明。
声明包含声明名称和声明值。例如,声明名称可以是描述声明值内容的标准名称,而声明值可以是组的名称。请参阅来自外部 IDP 的声明的更多示例:来自外部 IDP 的声明示例。
声明不是强制要求的。但是,为了将外部 IDP 用户自动链接到 XProtect 视频管理软件中的角色以确定用户的权限,则需要。声明包含在来自外部 IDP 的用户 ID 令牌中,它们在 XProtect 中通过与角色的关联来确定用户的权限。
如果没有为外部 IDP 用户提供与 XProtect 视频管理软件角色相关的声明,可以在外部 IDP 用户首次登录时在 XProtect 视频管理软件中创建外部 IDP 用户。在这种情况下,外部 IDP 用户没有链接到任何角色。然后 XProtect 视频管理软件管理员必须将用户手动添加到角色。
使用外部 IDP 的先决条件
应先在外部 IDP 中完成以下步骤,然后才能在视频管理软件中配置外部 IDP。
-
必须已经在外部 IDP 中创建了用于 XProtect 视频管理软件的客户端 ID 和密钥。有关详细信息,请参阅外部 IDP 用户的唯一用户名 。
-
外部 IDP 的身份验证机构必须已知。有关详细信息,请参阅选项对话框中有关外部 IDP 的身份验证机构的信息。必须已知。
-
必须已经在 IDP 中配置了 XProtect 视频管理软件的重定向 URI。有关详细信息,请参阅添加 Web 客户端的重定向 URI。
-
或者,必须已经为 IDP 中的用户或组配置了与视频管理软件相关的声明。
-
XProtect 视频管理软件必须配置了所有证书,以确保所有通信都通过加密的 https 进行。否则,大多数外部 IDP 将不会接受来自 XProtect 视频管理软件及其客户端的请求,或部分通信数据流和安全令牌交换会失败。
-
XProtect 视频管理软件和所有将使用外部 IDP 的客户端计算机或智能手机必须能够访问外部 IDP 登录地址
XProtect允许用户从外部 IDP 登录到 视频管理软件
-
从外部 IDP 创建用户,并创建声明,以将用户标识为 XProtect 视频管理软件中的外部 IDP 用户。创建声明不是强制要求的步骤,但这是实现将用户自动链接到角色的方法。有关详细信息,请参阅声明。
-
在 XProtect 视频管理软件中创建一个配置(此功能已内置于视频管理软件中),使 Identity Provider 能够连接外部 IDP。有关如何为外部 IDP 创建配置的更多信息,请参阅添加和配置外部 IDP 。
-
在 XProtect 视频管理软件中,通过将用户声明从外部 IDP 映射到 XProtect 角色,建立用户身份验证。有关如何将声明映射到角色的详细信息,请参阅将声明从外部 IDP 映射到 XProtect 中的角色。
-
使用外部 IDP 登录 XProtect 客户端进行用户身份验证,请参阅通过外部 IDP 登录:。
重定向 URI
重定向 URI 会指定用户在身份验证成功后进入的页面。在外部 IDP 中,您必须添加管理服务器的地址,后接您在 XProtect Management Client 中定义的回调路径。例如 https://management-server-computer.company.com/idp/signin-oidc
根据 XProtect 视频管理软件的访问方式,以及网络、服务器和 Microsoft Active Directory 的配置方式,可能需要多个重定向 URI,下面是一些示例:
示例
URL 中带或不带域的管理服务器:
-
“https://[服务器名称]/idp/signin-oidc”
-
“https://[服务器名称].[域名]/idp/signin-oidc”
URL 中带或不带域的移动设备服务器:
-
“https://[服务器名称]:[移动设备端口]/idp/signin-oidc”
-
“https://[服务器名称].[域名]:[移动设备端口]/idp/signin-oidc”
如果移动设备服务器设置为通过互联网访问,还必须添加公共地址和端口。
外部 IDP 用户的唯一用户名
对于通过外部 IDP 登录 Milestone XProtect 的用户,会自动创建用户名。
外部 IDP 提供了一组声明来为 XProtect 中的用户自动创建名称,在 XProtect 中使用了一种算法,可以从外部 IDP 中选择一个在视频管理软件数据库中唯一的名称。
来自外部 IDP 的声明示例
声明包含声明名称和声明值。例如:
声明名称 | 声明值 |
---|---|
名称 | Raz Van |
电子邮件 | 123@domain.com |
amr | pwd |
idp | 00o2ghkgazGgi9BIE5d7 |
preferred_username | 321@domain.com |
vmsRole | 操作员 |
locale | zh-CN |
given_name | Raz |
family_name | Lindberg |
zoneinfo | America/Los_Angeles |
email_verified | 真 |
使用声明的序号来在中创建用户名XProtect
在 XProtect 中,在 XProtect 视频管理软件中创建用户时的搜索优先级是由下表中的声明序号控制的。第一个可用声明名称将在 XProtect 视频管理软件中使用:
声明名称 | 序号 | 说明 |
---|---|---|
UserNameClaimType | 1 | 已配置与一个声明的映射,以定义用户名。声明在外部 IDP 选项卡的工具 > 选项下的用于创建用户名的声明字段中定义。 |
preferred_username | 2 | 可能来自外部 IDP 的声明。通常用于 Oidc(OpenID 连接)中此种情况的标准声明。 |
名称 | 3 | |
given_name family_name | 4 | 名和姓氏组合,比如 Bob Johnson。 |
电子邮件 | 5 | |
第一个可用声明 + #(第一个可用编号) | 6 | 例如,Bob#1 |
定义特定声明以在 XProtect 中创建用户名
XProtect 管理员可以定义来自外部 IDP 的特定声明,该声明用于在XProtect 视频管理软件中创建用户名。当管理员定义用于在XProtect 视频管理软件中创建用户名的声明时,声明名称必须与来自外部 IDP 的声明名称完全相同。
-
用于用户名的声明可在外部 IDP 选项卡的工具 > 选项下的用于创建用户名的声明字段中定义。
删除外部 IDP 用户
XProtect 中通过外部 IDP 登录创建的用户的删除方式与基本用户相同,用户创建后可随时删除。
XProtect 中的用户被删除后,如果用户从外部 IDP 再次登录,则会在 XProtect 中创建一个新用户。然而,与 XProtect 中用户相关的数据,如私有视图和角色会丢失,必须在 XProtect 中为用户再次创建这些信息。
如果在 Management Client 中删除了外部 IDP,则通过外部 IDP 连接到视频管理软件的所有用户也会被删除。