“SmartDocs”栏可以自定义此页面,仅显示在特定 Zebra 设备上存在的功能。
在 Android“设置”面板或通过 ADB、EMDK 或 MX CSP 查询设备,可以找到设备的 OSX、MX 和 Android 版本信息。更多信息。
Access Manager (AccessMgr) 支持对设备进行配置,以控制在指定设备上可使用哪些用户或哪些“可安装”的应用程序,以及应用程序可执行的操作。
AccessMgr 的一个主要功能是能够打开或关闭白名单。白名单在默认情况下处于关闭状态,没有施加任何限制。打开白名单时,可以使用 AccessMgr 应用各种限制。
白名单是一个进程,只允许在列表中显式指定的应用程序运行。未包含在“白名单”中的应用程序将无法运行。AccessMgr 允许安装、启动和维护白名单应用程序。AccessMgr 还允许控制允许哪些应用程序为所有 CSP 提交 XML,包括 AccessMgr 本身在内。
白名单仅适用于用户应用程序,对系统应用程序不会有影响。系统应用程序均是内置到设备的应用程序,因此始终已安装。对系统应用程序的某些控制可以使用 AppMgr 来完成。
用户应用程序是没有内置到设备的应用程序,因此必须先在设备上安装,然后才能使用它们。白名单可用于控制是否允许设备用户安装用户应用程序,但不能控制是否可以使用 AppMgr 以编程方式安装某个应用程序。白名单还可用于控制用户应用程序是否可以在安装后(采用任何方式)启动。
注意:必须了解的是,如果用户应用程序使用 AccessMgr 打开白名单,那么该应用程序将受到白名单功能的管制。如果应用程序未添加自身到“白名单”列表,则不再允许该应用程序运行。此外,如果这样的应用程序未显式允许自身提交 XML,那么它将无法在成功应用后修改配置。
AccessMgr 还提供了控制设备用户是能够访问完整版本还是缩减版本的设备内“设置”面板的选项。
选择所需的操作模式,这将打开或关闭白名单。白名单默认情况下处于关闭状态,因此没有施加有关设备用户可以安装哪些应用程序或者可以启动哪些应用程序的限制。
打开白名单后,将通过阻止设备用户安装不在“白名单”列表上的应用程序,以及阻止启动不在“白名单”列表上的应用程序,让设备变得更加安全。打开白名单还会使应用程序的部署过程变得复杂,因为已部署和安装的应用程序也必须添加到“白名单”列表,然后才能启动。
参数名称:OperationMode
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
1 | 单用户无白名单 | 此值将导致白名单被关闭,因此禁用所有白名单功能。 |
OSX:1.0+ MX:4.1+ |
2 | 单用户有白名单 | 此值将导致白名单被打开,因此启用白名单功能。白名单功能的确切行为将取决于其他参数的配置。 |
OSX:1.0+ MX:4.1+ |
选择在设备的“系统设置”菜单上允许的系统设置访问级别。
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:SystemSettings
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
1 | 完全访问权限 | 此值将导致允许设备用户访问设备内“系统设置”菜单的全部功能。 |
OSX:3.5+ MX:4.1+ |
2 | 缩减访问权限 | 此值将导致允许设备用户只能访问设备内“系统设置”菜单的一套缩减功能(显示、音量、关于) |
OSX:3.5+ MX:4.1+ |
此参数使您可以控制白名单功能是否会验证应用程序的签名;如果验证,那么会验证哪些应用程序签名。签名验证在默认情况下处于关闭状态。
当白名单已打开但签名验证处于关闭状态,那么只能通过比较 Android 包名称来确定应用程序是否在“白名单”列表上。这是不安全的,因为它无法阻止潜在恶意应用程序将其包名称设置为已知在“白名单”列表上的包名称,从而通过冒充可信应用程序骗过白名单功能。
为提高安全性,可以打开签名验证。当签名验证已打开时,将根据应用程序的包名称及其签名来确定应用程序是否在“白名单”列表上。为此,必须为添加到“白名单”列表的每个应用程序提供签名,以便能够对照该应用程序的实际签名进行比较。
签名验证会更加安全,因为只会允许安装和启动通过签名确定其为正版并且包名称在“白名单”列表上的指定应用程序。打开签名验证也会使应用程序的部署流程变得复杂,因为在将应用程序添加到“白名单”列表的过程中,需要为每个应用程序配置唯一的签名。
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:AppVerifySignMode
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
0 | 不更改 | 此值(或 XML 中缺少此参数)将导致不会更改签名验证是否会发生或者针对哪些应用程序进行签名验证。 |
OSX:3.5+ MX:4.3+ |
1 | 不验证应用程序签名 | 此值将导致签名验证被关闭,从而导致只使用包名称来确定应用程序是否在“白名单”列表上。 |
OSX:3.5+ MX:4.3+ |
2 | 验证用户应用程序签名 | 此值将导致签名验证被打开,从而导致除了包名称之外,还使用签名验证来确定用户或“可安装”的应用程序是否在“白名单”列表上。 |
OSX:3.5+ MX:4.3+ |
3 | 验证所有应用程序签名 | 此值将导致签名验证被打开,从而导致除了包名称之外还使用签名验证来确定“内置”或“可安装”的任何应用程序是否在“白名单”列表上。 |
OSX:3.5+ MX:4.3+ |
选择是否要从白名单中删除包
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:DeletePackagesAction
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
0 | 不删除软件包 | 此值不会删除任何内容,因此根本不会影响“白名单”列表。 |
OSX:1.0+ MX:4.1+ |
1 | 删除指定软件包 | 此值将导致一个或多个选定的包名称从“白名单”列表中删除,从而阻止设备用户安装或启动使用这些包名称的用户或“可安装”的应用程序。 |
OSX:1.0+ MX:4.1+ |
2 | 删除所有软件包 | 此值将导致所有包名称从“白名单”列表中删除,从而阻止设备用户安装或启动所有用户或“可安装”的应用程序。 |
OSX:1.0+ MX:4.1+ |
3 | 删除指定签名 | 此值是仅在签名验证已打开时有意义,在这种情况下,它会从“白名单”列表中删除一个或多个签名,从而阻止设备用户安装或启动使用这些签名的用户或“可安装”的应用程序。 |
OSX:1.0+ MX:4.1+ |
提供要从“白名单”列表中删除的包名称。
参数值输入规则:
在以下条件下显示:“操作模式”为“单用户有白名单”*且*“删除软件包”为“删除指定包”
参数名称:DeletePackageNames
需要:
- OSX:1.0+
- MX:4.1+
提供要删除的包签名。
参数值输入规则:
在以下条件下显示:“删除软件包”为“删除指定签名”*且*“应用程序验证签名模式”为“不验证应用程序签名”、“验证用户应用程序签名”或“验证所有应用程序签名”
参数名称:DeletePackageSign
需要:
- OSX:3.4+
- MX:4.3+
选择是否要将包添加到“白名单”列表。使用此参数将应用程序添加到“白名单”列表时,不允许该应用程序提交 XML。若要允许,则必须使用单独的参数“添加软件包并允许提交 XML”完成操作。
注意:必须了解的是,如果应用程序使用 AccessMgr 打开白名单,那么该应用程序将受到白名单功能的管制。如果应用程序未添加自身到“白名单”列表,则不再允许该应用程序运行。此外,如果这样的应用程序未显式允许自身提交 XML,那么它将无法在成功应用后修改配置。
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:AddPackagesAction
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
0 | 不添加软件包 | 此值不会导致将任何包名称添加到“白名单”列表。 |
OSX:1.0+ MX:4.1+ |
1 | 添加指定的软件包 | 此值将导致将指定的包名称添加到“白名单”列表。 |
OSX:1.0+ MX:4.1+ |
提供应添加到“白名单”列表的包名称。
参数值输入规则:
在以下条件下显示:“操作模式”为“单用户有白名单”*且*“添加软件包”为“添加指定包”
参数名称:AddPackageNames
需要:
- OSX:1.0+
- MX:4.1+
提供应添加到“白名单”列表的签名。指定空值(零长度)(或 XML 中缺少此参数)将导致不会添加包签名。
在以下条件下显示:“应用程序验证签名模式”是“不验证应用程序签名”或“验证用户应用程序签名”*且*“添加软件包”为“添加指定包”
参数名称:AddPackageSign
需要:
- OSX:3.4+
- MX:4.3+
选择是否要将包添加到“白名单”列表并允许他们提交 XML。
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:AddPackagesActionAllowXML
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
0 | 不添加软件包 | 此值(或 XML 中缺少此参数)不会导致将任何包名称添加到“白名单”列表,并且不会显式允许任何应用程序提交 XML。 |
OSX:4.1+ MX:4.2+ |
1 | 添加指定的软件包 | 此值将导致将指定的包名称添加到“白名单”列表,并且还允许这些包名称标识的应用程序提交 XML。 |
OSX:4.1+ MX:4.2+ |
提供要添加到“白名单”列表并且应允许提交 XML 的包名称。指定空值(零长度)(或 XML 中缺少此参数)将导致不会添加并允许其提交 XML 的包名称。
参数值输入规则:
在以下条件下显示:“操作模式”为“单用户有白名单”*且*“添加软件包并允许提交 XML”为“允许指定应用程序”
参数名称:AddPackageNamesAllowXML
需要:
- OSX:4.1+
- MX:4.2+
提供应添加到“白名单”列表的签名。
参数值输入规则:
在以下条件下显示:“操作模式”为“单用户有白名单”*且*“添加软件包并允许提交 XML”为“允许指定应用程序”*且*“应用程序验证签名模式”为“不验证应用程序签名”、“验证用户应用程序签名”或“验证所有应用程序签名”
参数名称:AddPackageSignAllowXML
需要:
- OSX:3.4+
- MX:4.3+
选择是否允许该应用程序提交 XML。这将允许或限制应用程序提交对 MX 框架的更改。
注意:此功能在运行 KitKat 版本 Android 的设备(如 TC70)上受支持,仅在启用了白名单功能时使用。
警告:确保在启用此功能时总是包括 EMDK for Android 服务包名称
com.symbol.emdkservice
。否则,将无法处理配置文件功能(不包括 DataCapture)。
在以下条件下显示:“操作模式”是“单用户有白名单”
参数名称:AllowSubmitXMLAction
选项 | 名称 | 说明 | 需要 |
---|---|---|---|
0 | 不允许应用程序 | 此值(或 XML 中缺少此参数)不会导致任何更改,因此不会显式允许任何应用程序提交 XML。 |
OSX:4.1+ MX:4.2+ |
1 | 允许指定的应用程序 | 此值将导致允许指定包列表所标识的应用程序提交 XML。</p><p>此值还允许指定一个包名称列表,不允许其中标识的应用程序提交 XML,从而提供一个指定“这些而不是那些”的选项。 |
OSX:4.1+ MX:4.2+ |
2 | 允许所有允许执行的应用程序 | 此值将导致允许“白名单”列表上的所有应用程序(即允许启动)提交 XML。此值还允许指定一个包名称列表,将不允许其中的包提交 XML,从而提供一个指定“除这些以外所有”的选项。 |
OSX:4.1+ MX:4.2+ |
提供应允许提交 XML 的包名称。指定空值(零长度)(或 XML 中缺少此参数)将导致不会允许包名称提交 XML。
参数值输入规则:
在以下条件下显示:“允许应用程序提交 XML”为“允许指定应用程序”
参数名称:AllowSubmitXMLPackageNames
需要:
- OSX:4.1+
- MX:4.2+
提供应禁止提交 XML 的包名称。指定空值(零长度)(或 XML 中缺少此参数)将导致不禁止任何包名称提交 XML。
参数值输入规则:
在以下条件下显示:“允许应用程序提交 XML”为“允许指定应用程序”或“允许已准许执行的所有应用程序”
参数名称:DisallowSubmitXMLPackageNames
需要:
- OSX:4.1+
- MX:4.2+
<wap-provisioningdoc><characteristic version="4.3" type="AccessMgr"><parm name="OperationMode" value="2" /><parm name="SystemSettings" value="1" /><parm name="DeletePackagesAction" value="0" /><parm name="AddPackagesAction" value="1" /><parm name="AddPackageNames" value="com.mypackage" /></characteristic></wap-provisioningdoc>
<wap-provisioningdoc><characteristic version="4.3" type="AccessMgr"><parm name="OperationMode" value="2" /><parm name="SystemSettings" value="1" /><parm name="DeletePackagesAction" value="0" /><parm name="AddPackagesAction" value="0" /><parm name="AllowSubmitXMLAction" value="1" /><parm name="AllowSubmitXMLPackageNames" value="com.mypackage" /><parm name="DisallowSubmitXMLPackageNames" value="com.mypackage2" /></characteristic></wap-provisioningdoc>
<wap-provisioningdoc><characteristic type="AccessMgr" ><parm-query name="PackageNames"/><parm-query name="OperationMode"/><parm-query name="AppVerifySignMode"/></characteristic></wap-provisioningdoc>