帮助中心帮助中心
请注意
独立支持基于策略的访问金宝appMATLAB®Web应用服务器™产品,而不是包含的开发版本MATLAB编译器™.详情请参见MATLAB Web应用服务器的差异.
在服务器上启用SSL。有关更多信息,请参见启用SSL.
在服务器上启用身份验证。有关更多信息,请参见身份验证.
webapps_acc_ctl.json
在服务器上启用基于策略的访问可以让您创建基于属性的规则,允许经过身份验证的主体访问服务器上的web应用程序。
启用基于策略的访问。
检查SSL是否已启用。有关更多信息,请参见启用SSL.
检查是否启用了身份验证,并验证其中一个或两个userAttributeName和groupAttributeName中的值已指定webapps_authn.json文件。详情请参见身份验证.
userAttributeName
groupAttributeName
webapps_authn.json
控件中是否存在文件夹应用程序服务器上的根文件夹。虽然文件夹不是启用基于策略的访问的必要条件,但拥有文件夹可以让你组织web应用程序,并将它们指定为可访问的资源。详情请参见创建文件夹来组织Web应用程序.
应用程序
创建一个名为webapps_acc_ctl.json把它放在webapps_private文件夹中。
webapps_private
的webapps_private文件夹可在:
窗户®
% ProgramData % \ MathWorks \ webapps \R2022a\ config \ webapps_private
Linux®
/地方/ MathWorks / webapps /R2022a/ config / webapps_private
macOS
/图书馆/应用程序/ MathWorks 金宝app/ webapps /支持R2022a/ config / webapps_private
的JSON模式webapps_acc_ctl.json是:
{“版本”:“< >。<小>。> <补丁”、“政策”:[{" id ": " < policy_id >”,“描述”:“< policy_description >”,“规则”:[{" id ": " < rule_id >”,“描述”:“< rule_description >”,“主题”:{" < attribute_name_of_auth_subject >”:[" < attribute_value_of_auth_subject >”)},“资源”:{" < >应用程序或文件夹":[" < app_name或folder_name >”)},“行动”:[" < action_type >" ] }, { " id”:“< rule_id >”、“描述”:“< rule_description >”、“主题”:{" < attribute_name_of_auth_subject >”:[" < attribute_value_of_auth_subject > "]},“资源”:{" < >应用程序或文件夹":[" < app_name或folder_name >”)},“行动”:[" < action_type >" ] } ] } ] }
版本:指定JSON模式的版本。的默认值。R2022a是1.0.0.
1.0.0
政策:策略块包含策略访问所需的策略列表。一个策略文件中只能指定一个策略。
id:为策略指定策略ID。策略ID必须是一组由字母和数字组成的字符。任何前面或后面的空白都被删除。例如:
id: "policy420"
描述:为策略指定描述信息。例如:
"description": "公司访问网页应用的政策。"
规则:规则块包含规则对象的列表。一个规则块中可以存在多个规则。每个规则和都需要一个ID< rule_id >对于每个规则必须是唯一的。
< rule_id >
id:为每条规则指定唯一的规则ID。规则ID必须是一组字母数字字符。任何前面或后面的空白都被删除。例如:
"id": "rule101"
描述:为每条规则指定一个描述。例如:
"description": "只有大力神组可以运行血压应用。"
主题:指定可访问资源的认证主体的属性名值对。
例如:
"subject": {"memberOf": ["CN=Middle,OU= Middle,OU= groups,DC=school,DC=com"]}
"subject": {"groups": ["Sales"]}
"subject": {"uid": ["fbueller", "cfrye"]}
如果您正在使用Azure®活动目录和需要检索的组id,参见使用Azure Active Directory.
资源:指定可访问资源的类型和名称。类型的资源应用程序或文件夹都受支持金宝app。如果不指定资源,则经过身份验证的主题将不能访问应用程序或文件夹,即使它存在于服务器上。有关如何创建文件夹的信息,请参见创建文件夹来组织Web应用程序.
文件夹
例如,要指定在根级别访问一个应用程序:
"resource": {"app":["血压"]}
例如,指定对特定文件夹中的应用程序的访问权限:
"resource": {"app": ["MagicFolder/CardTricks"]}
例如,指定访问特定文件夹中的所有应用程序:
"resource": {"folder": ["MagicFolder"]}
例如,指定根目录下所有应用的访问权限:
"resource": {"folder": ["/"]}
行动:指定认证主体可以执行的动作类型。如果资源类型为应用程序,支持的操作为金宝app执行,这让主体运行一个web应用程序。如果资源类型是文件夹,支持的操作为金宝app执行和修改.的执行在本例中,Action让主体运行指定文件夹中的所有web应用程序。的修改动作允许主体上传或删除一个web应用程序到或从一个文件夹,如果主体被分配的角色作者在webapps_app_roles.json基于角色的访问文件。被赋予…角色的人用户在webapps_app_roles.json基于角色的访问文件不能上传或删除web应用程序到或从一个文件夹,即使他们分配了修改行动。例如:
执行
修改
webapps_app_roles.json
"action": ["execute", "modify"]
详情请参见基于角色的访问.
{"version": "1.0.0", "policy": [{"id": "policy1001", "description": "Web Apps访问控制策略","rule": [{"id": "rule101", "description": "Sales group can run the BloodPressure app.", "subject": {"memberOf": ["cn=Sales,ou= Sales,ou= groups,dc=myboston,dc=com"]}, "resource": {"app": ["BloodPressure"]}, "action": ["execute"]}, {"id": "rule102", "description": "指定的主题可以运行MagicDir文件夹中的CardTricks app.", "subject": {"uid": ["erooney"]}, "resource":{"app": ["MagicDir/CardTricks"]}, "action": ["execute"]}, {"id": "rule103", "description": "指定的主题可以运行MagicDir文件夹下的所有应用和修改(上传或删除)MagicDir文件夹下的应用","subject": {"uid": ["fbueller"]}, "resource": {"folder": ["MagicDir"]}, "action": ["execute", "modify"]}, {"id": "rule104", "description": "指定的主题可以运行DayOff文件夹下的所有应用","subject": {"uid": ["cfrye", "psloane"]}, "resource": {"folder":["DayOff"]}, "action": ["execute"]}, {"id": "rule105", "description": "指定的主题可以运行apps根目录下的所有app,并修改(上传或删除)apps根目录下的app .", "subject": {"uid": ["jbueller"]}, "resource": {"folder": ["/"]}, "action": ["execute", "modify"]}]}
谨慎
的JSON模式语法webapps_acc_ctl.json是严格执行的。模式语法中的错误可能导致服务器无法启动,或者在尝试登录时拒绝访问服务器。
如果使用基于策略的访问,则必须在appConfig的块webapps_authn.json认证文件,并设置相应的值:
appConfig
未能包含和设置这些属性的值将导致服务器无法启动。详情请参见身份验证.
如果使用基于策略的访问,则为userAttributeName和groupAttributeName在webapps_authn.json对象指定的属性主题的财产webapps_acc_ctl.json策略访问文件必须与认证文件中设置的值匹配。
主题
“userAttributeName”:“<值>, "groupAttributeName": "<值>"
<值>
"subject": {"<属性>”:“…”]}"subject": {"<属性>”:“…”]}
<属性>
例如,如果您在webapps_authn.json验证文件:
“userAttributeName”:“uid, "groupAttributeName": "memberOf"
然后,webapps_acc_ctl.json策略访问文件必须使用相同的值:
"subject": {"uid”:“…”]}
"subject": {"memberOf”:“…”]}
JSON文件中的属性不匹配会导致服务器无法启动。详情请参见基于策略的访问.
可以使用基于策略的访问,身份验证独立于基于角色的访问。然而,这种类型的访问导致认证对象只能执行web应用程序,而不能修改它们。
如果同时使用基于策略的访问和基于角色的访问,则设置userAttributeName和/或groupAttributeName在webapps_authn.json对象指定的属性主题的财产webapps_acc_ctl.json对象指定的基于策略的访问文件和属性组和用户属性必须与您在身份验证文件中设置的值相匹配。
组
用户
"users": {"<属性>”:“…”]}"组": { "<属性>”:“…”]}
然后,webapps_app_roles.json基于角色的访问文件必须使用相同的属性:
"appRoles": [{"id": "用户","description": "用户角色信息","groups": {"memberOf”:“…”]}, "users": { "uid”:“…”]}}, { "id": "Author", "description": "Author role info", "groups": { "memberOf”:“…”]}, "users": { "uid”:“…”]}}]
和,webapps_acc_ctl.json策略访问文件必须使用相同的值:
值不匹配会导致服务器无法启动。详情请参见基于角色的访问.
在使用基于策略的访问和基于角色的访问进行身份验证时,必须为经过身份验证的主体分配角色作者在webapps_app_roles.json基于角色的访问文件并有修改作为一个动作在webapps_acc_ctl.json基于策略的访问文件,以便主题能够修改web应用程序。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处