主要内容

身份验证

笔记

独立支持身份验证金宝app马铃薯®Web App Server™产品,而不是包含在内的开发版本MATLAB编译器™.有关详细信息,请参见MATLAB的Web应用程序服务器之间的差异

笔记

要使用身份验证,则需要在服务器上启用SSL。有关更多信息,请参阅启用S​​SL.

身份验证允许您验证用户的凭证,并帮助您控制哪些用户可以访问部署在服务器上的web应用程序。

MATLAB Web App Server金宝app使用轻型目录访问协议(LDAP)和ID连接(OIDC)支持验证。

启用身份验证:

  1. 检查是否启用SSL。有关更多信息,请参阅启用S​​SL.

  2. 创建一个名为的文件webapps_authn.json并将它放入webapps_private文件夹,该文件夹位于配置文件夹。对于格式webapps_authn.json取决于您是使用LDAP还是OIDC进行身份验证。

    webapps_private文件夹中可以找到:

    操作系统 文件夹位置

    窗户®

    %ProgramData%\ MathWorks公司\的webapps \R2021b\ config \ webapps_private

    Linux.®

    /地方/ MathWorks / webapps /R2021b/配置/ webapps_private

    苹果系统

    /图书馆/应用程序/ MathWorks 金宝app/ webapps /支持R2021b/配置/ webapps_private

LDAP身份验证

LDAP目录服务器存储有关用户,组和应用程序的信息。目录中的每个条目都包含三个组件:可分辨名称(DN),属性集合以及对象类的集合。

要使用LDAP认证,创建一个名为文件webapps_authn.json使用以下JSON架构并将其放入其中webapps_private文件夹。

{“版本”:“1.2.0”,“类型”:“ldap”,“authnconfig”:{host“:”“,”端口“:”“,“searcherdn”:“”,“searcherpassword”:“”,“,”<“:”<点在LDAP中从哪里开始搜索用户>“,”userfilter“:”“},”appconfig“:{“checksslca”:“”,trustedsslca“:”“,”displayname“:”“,”groupattributename“:”<属性名称以识别组对象>“}}

  • 版本:指定JSON架构的版本。默认值R2021b是:1.2.0

  • 类型:指定认证所用的类型。将该值设置为ldap

  • 宿主:指定LDAP目录服务器的主机名。例如:myldap.myboston.com

  • 港口(可选的)指定LDAP目录服务器的端口号。例如:389..如果未指定端口号,将使用默认端口。这MATLAB Web App Server使用SSL / STARTTLS来保护与LDAP服务器的通信。这可确保通过与加密通道传输的用户名和密码MATLAB Web App Server和LDAP服务器。缺省情况下,服务器使用标准端口636.在Windows和SSL端口389.对于Linux上的Starttls和苹果系统.LDAP服务器必须配置为允许通过指定(或默认)LDAP端口的SSL / STARTTLS连接;否则,身份验证将失败。

  • searcherdn.:在目录中指定搜索者帐户的DN。默认值是.搜索DN是指允许搜索LDAP目录服务器的帐户。例如:“cn = admin,dc = myboston,dc = com”

  • searcherPassword:搜索帐户密码。默认值是

    MATLAB Web App Server使用的值searcherdn.searcherPassword使用a搜索用户的DNuserFilter.所发现的DN随后对验证通过LDAP输入的密码。值searcherdn.searcherPassword如果LDAP服务器提供匿名认证访问,则不需要。

    自从此以来webapps_authn.json文件位于webapps_private文件夹中,这是唯一由服务器帐户读取,搜索者的凭据保护,谁登录到服务器上的应用程序或其他用户。

  • baseDN:指定目录下的基准DN。基本DN是应用程序开始搜索用户的目录中的位置。例如:DC = myldap的,DC = myboston,DC = COM

  • userFilter:指定一个过滤器来查找用户的DN。MATLAB Web App Server使用userFilter发现输入的用户名相匹配的用户的DN,表示为{用户名}在过滤器中。如果未找到匹配项或发现多个匹配,则身份验证失败。可以使用标准LDAP滤波器语法指定过滤器。例如:(&(objectclass = user)(samaccountname = {username}))

  • checkSSLCA:检查LDAP服务器的SSL证书是否由公认的证书颁发机构(CA)签名。将此属性设置为真正的检查有效的SSL证书并将其设置为错误的有措施检查。如果设置为真正的,您需要指定值trustedsslca..如果设置为错误的,用户名和密码之间仍然发射MATLAB Web App Server和LDAP服务器通过加密通道。但是,建议此检查以获取其他安全性。

  • trustedsslca.:在Linux和苹果系统系统指定的路径,通过签署该网站证书的证书颁发机构(CA)颁发的根证书。在Windows系统上,你并不需要指定的路径。只要根证书是在可信root认证机构证书商店MATLAB Web App Server会自动找到它。

  • 显示名称:配置如何在用户身份上显示MATLAB Web App Server通过指定用户的LDAP条目的属性,主页。例如,将此属性设置为uid显示用户ID。Default是在身份验证过程中输入的用户名。

  • TokenExpirationMin.:在几分钟内指定令牌到期持续时间。例如:60..默认值是,这意味着令牌不会过期。

  • userattributename.:指定标识用户对象的属性名。例如:uid.如果使用基于策略的访问,则必须为此属性设置值。否则,请勿在JSON文件中包含此属性。有关更多信息,请参阅基于策略的访问

  • groupAttributeName:指定属性名称以识别组对象。例如:成员.如果使用基于策略的访问,则必须为此属性设置值。否则,请勿在JSON文件中包含此属性。有关更多信息,请参阅基于策略的访问

例子webapps_authn.json文件LDAP

{"version": "1.2.0", "type": "ldap", "authnConfig": {"host": "myldap.myboston.com", "port": "", "searcherDN": "", "searcherPassword": "", "baseDN": "DC=myldap,DC=myboston,DC=com", "userFilter": "(&(objectClass=User)(sAMAccountName={username}))"}, "appConfig": { "checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60" } }

例子webapps_authn.json使用策略访问时LDAP的文件

{"version": "1.2.0", "type": "ldap", "authnConfig": {"host": "myldap.myboston.com", "port": "", "searcherDN": "", "searcherPassword": "", "baseDN": "DC=myldap,DC=myboston,DC=com", "userFilter": "(&(objectClass=User)(sAMAccountName={username}))"}, "appConfig": {"checkSSLCA": "false", "trustedSSLCA": "", "displayName": "uid", "tokenExpirationMin": "60", "userAttributeName": "uid", "groupAttributeName": "memberOf"}}

OIDC认证

允许OIDC (OpenID Connect)MATLAB Web App Server以验证最终用户的基于由第三方身份提供商(IDP)执行的认证的身份。要在服务器上使用OIDC认证,则需要与境内流离失所者,如Microsoft注册®Azure®AD,或者谷歌®身份平台。

要使用OIDC身份验证,请创建一个名为的文件webapps_authn.json使用以下JSON架构并将其放入其中webapps_private文件夹。

{ “版本”: “1.2.0”, “类型”: “OIDC”, “authnConfig”:{ “发行者”: “”, “的clientId”: “<从客户端的IdP ID>”,“clientSecret”: “<从的IdP客户端秘密>”, “的redirectUrl”: “<重定向URL>”, “范围”:[ “ ”]} “AppConfig的”:{ “端口”:“<通过MATLAB的Web应用服务器使用OIDC认证的端口号>”,‘显示名’:‘<身份到MATLAB的Web应用程序服务器主页显示>’,‘tokenExpirationMin’:‘<以分钟为单位令牌到期时间>’,‘userAttributeName’:“<属性名称来标识用户对象>”,“groupAttributeName”:“<属性名称来标识组对象>”}}
  • 版本:指定JSON架构的版本。默认值R2021b是:1.2.0

  • 类型:指定认证所用的类型。将该值设置为oidc

  • 发行者:指定OIDC IdP颁发者URI。例如,如果使用谷歌标识平台:https://accounts.google.com/.well-known/openid-configuration

  • ClientId.:指定客户端ID您在与境内流离失所者登记您的凭据获得。例如,如果使用谷歌标识平台:1234567890, xxxxxxxxxxxx.apps.googleusercontent.com

  • clientSecret:指定客户秘密您在与境内流离失所者登记您的凭据获得。例如,如果使用谷歌标识平台:_xxxxxxxxxxxxx_Xxxxxx_xX

    自从此以来webapps_authn.json文件位于webapps_private文件夹,仅由服务器帐户可读,ClientId.clientSecret受到登录服务器的应用或其他用户的保护。

  • redirecturl.(可选的)指定您在配置与IdP进行认证OIDC使用重定向URL。如果留空,则计算机的主机名和端口号运行MATLAB Web App Server用作回调。URL格式为:https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调.例如,如果MATLAB Web App Server在港口运行9988,然后重定向URL是:https://myboston.com:9988/webapps/extauth/callback

    之前R2021b,重定向URL的格式是:HTTPS:// :<端口> / OIDC /回调.例如:https://myboston.com:3000/oidc/callback

  • 范围:为管理员需要的资源指定标识符MATLAB Web App Server访问。例如,如果使用谷歌标识平台:openid概要文件电子邮件

  • 港口(可选的)使用的端口号MATLAB Web App Server内部为OIDC认证过程。例如:3000.

  • 显示名称:配置如何在用户身份上显示MATLAB Web App Server主页,通过指定经过身份验证的用户对象的属性名称。例如,如果使用Google Identity平台,给定的名称显示用户的名字。默认为属性。

  • TokenExpirationMin.:在几分钟内指定令牌到期持续时间。例如:60..默认值是,这意味着令牌不会过期。

  • userattributename.:指定标识用户对象的属性名。例如:uid.如果使用基于策略的访问,则必须为此属性设置值。否则,请勿在JSON文件中包含此属性。如果您未使用基于策略的访问,但决定在JSON文件中包含此属性,请将值设置为.有关更多信息,请参阅基于策略的访问

  • groupAttributeName:指定属性名称以识别组对象。例如:成员.如果使用基于策略的访问,则必须为此属性设置值。否则,请勿在JSON文件中包含此属性。如果您未使用基于策略的访问,但决定在JSON文件中包含此属性,请将值设置为.有关更多信息,请参阅基于策略的访问

笔记

  1. 如果使用OIDC身份验证,则需要注册MATLAB Web App Server作为应用程序与IDP。

  2. 在注册过程中,需要为MATLAB Web App Server重定向URL。URL格式为:https:// < MATLABWebAppServer_hostname >: < port_server_is_running_on > / webapps / extauth /回调.例如:https://myboston.com:9988/webapps/extauth/callback

例子webapps_authn.json用于OIDC的文件使用谷歌身份的平台

{“版本”:“1.2.0”,“类型”:“oidc”,“authnconfig”:{“issuer”:“https://accounts.google.com/.well-known/openid-configuration”,ClientId.": "1234567890-xxxxxxxxxxxx.apps.googleusercontent.com", "clientSecret": "_xxxxxxxxxxxxx_Xxxxxx_xX", "scope": ["openid profile email"] }, "appConfig": { "port": "3000", "displayName": "given_name", "tokenExpirationMin": "60" } }

提示

设置身份验证后,如果您无法从浏览器登录,请尝试清除浏览器的缓存和cookie,或尝试不同的浏览器。

警告

的JSON模式语法webapps_authn.json严格执行。在该模式中的语法错误可能导致服务器无法启动,或者当您尝试登录被拒绝访问该服务器。

相关的话题

外部网站