针对多身份应用的策略应用的制作方法

文档序号:12071305阅读:209来源:国知局
针对多身份应用的策略应用的制作方法与工艺

IT管理员长时间以来都能够以设备为目标来指定管理策略。随着移动设备的发展,已经出现了以通过行业解决方案而包括具体应用为目标的策略扩展,上述行业解决方案诸如能够从各种提供方所获得的各种移动应用管理解决方案。此外,用户越来越多地将相同的设备用于工作和个人使用,或者在多个公司使用。例如,顾问或承包方可以使用相同的设备来访问不同公司的资源。这已经导致了支持被多个帐户或身份所使用的应用。例如,邮件应用可以包含个人收件箱以及一个或多个不同的企业收件箱。在可替换实施例中,云存储应用可能能够连接至多个不同的企业服务。

然而,一种挑战在于,IT管理策略仅能够被整体应用于一个设备或应用。这样就具有以下不期望出现的副作用,被用于多个身份的应用被相同的策略所约束。即使IT管理员的意图仅在于管理具体的企业身份,但是该限制也会减少或移除面向所有身份的应用的功能。目前,IT管理者被迫将相同的策略用于应用中的所有身份或者部署相同应用的多个副本,或者仅允许从具体应用进行企业访问(而并不允许个人或其它访问),这就使得用户对于应当使用哪个版本感到困惑。

这里所请求保护的主题并不局限于解决任何缺陷或仅在诸如以上所描述的那些的环境中进行操作的实施例。相反,该

背景技术:
仅被提供以阐述可以在其中实践这里所描述的一些实施例的一个示例性技术领域。



技术实现要素:

这里所阐述的一个实施例包括一种可以在计算环境中实践的方法。该方法包括用于控制在被管理帐户的上下文中的应用行为的动作。该方法包括标识应用状态,这包括标识一个或多个用户帐户的集合,其包括对于该应用而言活动的零个或多个被管理用户帐户。该方法进一步包括咨询有关所述应用状态的策略。该策略包括针对被管理用户帐户所定义的一种或多种不同的策略。每种不同的策略定义针对一个或多个被管理用户帐户的应用配置控制。基于该策略和应用状态,该方法包括关于该策略而控制应用配置,其包括关于该策略活动的用户帐户。该方法包括标识发生改变的应用状态,其包括针对该应用活动的一个或多个用户帐户的集合的改变。该方法进一步包括基于策略和发生改变的应用状态而改变该应用配置的控制。

另一个示例包括一种计算设备,其被配置为对在被管理帐户的上下文中的应用行为进行控制。该设备包括一个或多个应用。其中至少一个应用被配置为供包括零个或多个被管理用户帐户的多个用户帐户一起使用。该设备包括客户端组件。该客户端组件被配置为标识针对该应用活动的用户帐户。该客户端组件进一步被配置为从管理系统接收策略,其中该策略规定了基于用户帐户的应用控制。该客户端组件进一步被配置为基于来自管理系统的策略以及活动的用户帐户而实施应用配置。

提供该发明内容而以简化形式对随后将在下文的具体实施方式中进一步进行描述的代表性概念的选择进行介绍。该发明内容并非意在标识所请求保护主题的关键特征或必要特征,其也并非意在被用作确定所请求保护主题的范围时的辅助。

另外的特征和优势将在随后的描述中给出,并且部分将由于该描述而显而易见,或者通过对这里教导的实践而习得。本发明的特征和优势可以利用在所附权利要求中所特别指出的手段以及组合方式而被意识到并获得。本发明的特征将由于以下描述和所附权利要求而变得完全更为显而易见,或者可以通过对随后所给出的本发明的实践而习得。

附图说明

为了对能够获得本发明的上述和其它优点和特征的方式进行描述,以上简要描述的本发明的更特定的描述将通过参考其在附图中示出的具体实施例来呈现。应当理解的是,这些附图仅描绘了本发明的典型实施例,因此不应被认为是对其范围的限制,将通过使用附图而利用附加的特性和细节对本发明进行描述和解释,其中:

图1图示了其中基于活动用户帐户控制应用配置的环境;和

图2图示了对被管理帐户的上下文中的应用行为进行控制的方法。

具体实施方式

本文中的实施例允许IT管理者以具体身份作为目标制定策略,并允许客户端和/或应用组件仅针对作为目标应用中的被管理身份启动并实施策略。以这种方式,策略能够被应用于被管理身份,而并不将策略应用于未被管理的身份。另外,能够针对不同的被管理身份应用不同的策略。以这种方式,对功能加以限制的策略在不需要一个不同身份时就不被应用以为一些身份保留功能,同时还为其它身份保留管理能力。因此,例如对于同一个应用,用户可能在使用被管理的公司身份(用于随他们被雇用的组织一起使用)时被限制而无法剪切和粘贴数据,但是在使用个人身份(用于他们的个人用途)时则并不受到该限制。

现在参考图1,其图示出了一个示例。图1图示了设备102。设备102可以是移动电话、平板电脑,或者其它适当的计算设备。设备102通常被用户104所拥有。

设备102可以具有存储于其上的多个应用106。每个应用可以集结多个帐户108。因此,例如应用106-1可以是电子邮件应用,其具有个人帐户以及一个或多个被管理的企业(或其它组织)帐户。如果设备102被用于访问企业帐户,则与那些帐户相关联的企业(或其它组织)可能希望在那些帐户被使用时对设备102上的应用具有某些限制。例如,公司在企业数据被浏览时可能并不希望能够在应用106-1使用剪切/复制/粘贴功能。然而,当用户使用个人帐户108-1时,该企业可能并不关心,或者如果剪切/复制/粘贴功能可用时并没有控制的基础。然而,用户104可能希望这样的功能能够使用。实施例可以在不同设备上针对相同用户支持不同的策略。例如,在股票交易者的移动设备上,一些应用功能可能被锁定,但是在交易所的股票交易者的膝上计算机或平板电脑上,上述功能则并不被锁定。

IT管理员110在管理系统114针对一个或多个应用而创建管理策略112。IT管理员110能够创建以应用的具体用户为目标的策略并且使得该策略被部署至用户的设备。可替换地或除此之外,IT管理员能够创建以具体的域而不是用户为目标的策略。例如,某个网站地址的所有用户都将具有对他们所应用的相同策略。

如图1所示,管理系统114向适当的应用106-1部署策略112。设备102处的客户端组件116对策略112进行解释和处理。

当用户104启动应用程序106-1时,他们将需要明确地(例如通过输入凭证、选择帐户等)或隐含地(例如,基于所查看的内容、所访问的文件、所聚焦的帐户等)对自己进行标识。应用106-1将向客户端组件116通知有效身份,并且客户端组件116将实施策略。

在应用用户界面需要有所改变以适当实施策略的情况下,客户端组件116向应用106-1进行通知。例如,如果应用支持将内容保存到任意位置,则在策略112如下规定的情况下,客户端组件可以通知应用其需要将保存目的地限制为具体列表或者阻止具体位置。在一个示例实施例中,有两个方面要考虑。一个是基于新策略改变用户界面(如示例中那样限制保存)。第二个是从软件开发工具包(SDK)调用的应用程序中的回调(callback)。实施例将通知针对应用的活动用户需要立即改变应用从而改变活动帐户。考虑其中应用程序一次只支持一个活动帐户并且它们使用该活动帐户在屏幕上显示正确的信息(电子邮件、共享文件等)的示例。如果存在与不同用户相关联的传入数据,则该应用还改变应用视图以显示与新帐户相关联的适当信息。

如以上所说明的,一种策略管理系统能够使得策略以设备上的一个或多个应用的具体用户身份或帐户为目标并进行部署。

该策略管理系统可以包括针对设备上的一个或多个应用的具体用户身份或帐户而调用操作(例如,抹掉数据)的功能。

在一些实施例中,该策略管理系统的客户端组件116可以使用用于设备的SDK来实施。客户端组件116可以包括用于接收和实施策略的各种特征。例如,客户端组件116可以包括用于与策略管理系统114进行通信以接收以应用内的一个或多个身份或帐户为目标的策略的功能。客户端组件116还包括用于与应用(例如应用106-1)进行通信以实施以应用内的一个或多个身份或帐户为目标的策略的功能。客户端组件116可以包括将针对应用内的一个或多个身份或帐户的策略的状态报告给管理系统114的远程组件的功能。

客户端组件116可以包括允许应用106-1向客户端组件116通知应用中的当前活动身份而使得客户端组件116可以实施适当策略的功能。客户端组件116可以包括允许应用106-1向客户端组件116通知与数据(例如,文件或数据缓冲器)相关联的身份而使得该客户端组件可以实施适当策略的功能。客户端组件116可以包括允许客户端组件116向应用106-1通知应用106-1中的具体用户界面元素(例如,“另存为”目标、剪切/复制/粘贴功能等)基于策略必须受到限制的功能。客户端组件116可以包括允许客户端组件116向应用106-1通知当前活动帐户和所显示的任何相关联数据都必须被切换到新帐户的功能。这可以例如使用所定义的模式、编程方法或者通过其它适当的手段进行传达。

因此,一个示例实施例可以包括以下四个组件:

(1)被管理应用(诸如应用106-1)—在所示示例中,这是由策略管理系统(例如策略管理系统114)所管理并且接收针对一个或多个身份的策略(例如策略112)的应用。

(2)策略管理系统的客户端/应用组件(诸如客户端组件116)—在所示示例中,这是促成服务和应用之间的通信并且自动实施策略的SDK。一般来说,这可以由应用直接实现。在一些实施例中,这可以使用可从华盛顿州雷德蒙德的微软公司获得的Intune或配置管理器的特征来提供。在另一个示例中,服务可以替代SDK的概念—这意味着应用通过所定义的协议与服务进行通话。

(3)策略管理系统(例如策略管理服务114)—在所示示例中,这是去往IT Pro的接口,用于创建、定向和部署策略到被管理应用的身份或帐户。在一些实施例中,这可以使用可从华盛顿州雷德蒙德的微软公司获得的Intune或配置管理器来实施。

(4)通信模式—在所示示例中,这是描述应用基于策略和活动身份所必须实施的用户界面限制的版本化XML架构(或其它架构)。

以下的讨论现在涉及到可以执行的多种方法和方法动作。尽管方法动作可以以某种顺序进行讨论或者在流程图被图示为以特定顺序进行,但是除非特别声明或由于一个动作取决于在该动作执行之前完成的另一个动作而要求特定的顺序,否则并不要求特定的顺序。

现在参考图2,图示出了方法200。方法200可以在计算环境中被实践。方法200包括用于控制被管理帐户的上下文中的应用行为的动作。例如有关数据使用的应用行为可以被控制。特别地,如下文将更详细阐述的,对于某些帐户,某些数据使用行为可能受到限制。

方法200包括标识应用状态,这包括标识一个或多个用户帐户的集合,其包括对于该应用而言活动的零个或多个被管理用户帐户(动作202)。例如,如图1所示,应用106-1已经与多个用户帐户108相关联。这可以包括一些被管理帐户,诸如用于访问组织的资源的帐户。例如,应用106-1可以是电子邮件应用。其中一个帐户可以是用户在其是承包商时用来访问其雇主或该用户的客户(或该用户的雇主)的企业电子邮件的用户帐户。该帐户可以是被管理帐户,因为企业希望对应用程序106-1如何使用企业数据加以控制,或者企业可能希望确保设备102或应用程序106-1具有某些被实施的安全措施(诸如密码、数据加密或其它保护)。帐户108中的其它帐户可以是未被管理的个人帐户或其它帐户。因此,实施例可能想要标识哪些帐户是活动的。在一个示例中,可以通过确定被聚焦的帐户来确定哪个帐户是活动的。例如,用户能够选择使得特定用户帐户的数据被聚焦的文件夹、视图或其它界面元素。这例如可以包括使得数据可视、可编辑,或者以一些其它方式将数据与应用针对其它帐户使用的或可用的其它数据加以区分。可替换地,用户可以能够从帐户挑选器对话框中手动选择帐户。除此之外或可替换地,标识帐户的其它方法可以被使用。

方法200进一步包括咨询有关应用状态的策略(动作204)。该策略包括针对被管理用户帐户所定义的一种或多种不同的策略。每种不同的策略定义了针对一个或多个被管理用户帐户的应用程序配置控制。因此,例如,图1示出了策略112。这些策略可以定义如何使用数据和/或应该对不同用户帐户的数据使用施加什么样的限制。因此,例如,应用配置控制可以包括对数据使用的控制。例如,策略可以规定应当针对特定用户帐户禁用剪切/复制/粘贴功能。可替换地或除此之外,策略可以规定不能备份数据。可替换地或除此之外,应用配置控制可以包括关于数据共享的控制。例如,策略可以规定应用不应当能够与其它应用共享应用之外的数据。可替换地或除此之外,应用配置控制可以包括对加密的控制。例如,策略可以规定应当对特定用户帐户的数据进行加密。可替换地或除此之外,应用配置控制可以包括帐户启动时间检查的控制(意为,应用中的帐户由于应用启动或帐户改变而在该应用中变为活动的时间)。例如,策略可以指示在针对特定用户帐户时,应该输入PIN或密码,或者设备应当遵守某些策略或健康约束。可替换地或除此之外,应用配置控制可以包括对操作环境的控制。例如,策略可以规定当利用特定用户帐户使用一个或多个应用时,某些应用不应当在设备上运行,即某些应用不应当同时运行。在数据访问的另一种变化形式中,可以基于被管理浏览器中的特定帐户的白名单/黑名单来允许或阻止对具体URL的访问。

应用配置控制可以包括对由管理机构所定义的图形用户界面特征的控制。例如,控制可以规定在用户帐户被用于应用程序时被激活的某些品牌特征。可以规定某些调色板、文本、图像、徽标或其它图形用户界面特征。

方法200进一步包括基于该策略和应用状态,控制应用程序有关策略的对数据的使用,包括有关策略的活动用户帐户(动作206)。例如,客户端组件可以对数据使用、数据共享、加密、启动时间检查、操作环境等实施所指定的控制。在一些实施例中,应用对数据使用的控制可以包括改变应用用户界面。例如,当某些用户帐户对于应用程序是活动的时,可以指示应用改变用户界面以禁用“另存为”或剪切/复制/粘贴功能。

方法200可以被实践,其中应用对数据使用的控制可以包括擦除数据、刷新数据、改变活动帐户等。

方法200进一步包括标识发生改变的应用状态,包括对于应用而言活动的一个或多个用户帐户的集合的改变(动作208)。例如,不同用户帐户的数据成为应用的焦点,或者用户可以选择不同的帐户。

方法200进一步包括基于策略和发生改变的应用状态,改变应用配置的控制(动作210)。例如,由于使得个人用户帐户(或受限较少的组织帐户)成为焦点,对于应用的数据使用的控制可以有所放松以允许该应用对数据执行附加功能。

方法200可以被实践,其中应用状态是全局应用状态。可替换地,这也可以包括缓存状态。可替换地,方法200可以在应用状态是线程状态的情况下执行。可替换地,方法200可以在应用状态是进程状态的情况下执行。这三个状态参照代码可以在应用中执行的不同上下文。它们是分层的从而使得一个应用可以具有零个、一个或多个进程,并且一个进程可以具有一个或多个线程。

1.全局应用状态是能够贯穿整个应用而得以应用的状态。这意味着如果用户正在使用应用并且没有具体的线程或进程状态,则实施例将针对该应用内的活动帐户使用全局状态。例如,当示例应用并未运行且简单地以安装在计算机上的方式而存在时,其具有与其相关联的一些状态(该状态可以是“无活动用户”或“无权限”)。

2.进程状态是能够在应用的运行实例内应用的状态。这意味着如果用户正在使用应用并且没有具体的线程状态,则实施例将针对活动帐户使用进程状态。继续之前的示例,如果启动了已安装的应用,则其现在在用户帐户下运行;随之而来的是一些状态(例如,可能存在一个用户能够而其他用户则不能编辑的一些文档)。

3.线程状态是能够在应用中运行的进程内得以应用的状态。这意味着如果用户正在使用应用,通常他们将使用进程状态,但是可能最终以处于不同状态运行的线程所终止。例如,如果同事运行所安装的应用并开始上传非常大的文档、关闭文档,并且接着一个人继续运行该应用,则仍然将存在在后台运行的上传同事的大文档的线程,同时将存在支持用户立即使用该应用的独立线程。

方法200可以进行实践,其中标识一个或多个用户帐户的集合由应用执行并且被传输至管理系统的客户端组件。可替换地,方法200可以被实践,其中标识一个或多个用户帐户的集合由客户端管理实体执行。例如,这可以由SDK、管理代理、平台等来执行。

方法200可以被实践,其中通过获得数据集的特性来执行标识一个或多个帐户的集合。例如,实施例可以检查由应用对其进行操作的文件或文件分段、存储器分段等,以标识在访问应用时正在使用哪个用户帐户。这可以由标识帐户关联的应用来执行。可替换地,这可以由确定与数据集的帐户关联的客户端管理实体(诸如客户端组件116)来执行。

方法200的实施例可以进一步包括报告应用和身份符合策略。例如,可以向管理系统114报告这种符合。这可以便利管理系统114使得数据从设备102被抹掉,出于审核目的而通知IT管理员,或者在设备上执行其它管理功能102。

另外,该方法可以由包括一个或多个处理器和诸如计算机存储器的计算机可读介质的计算机系统来实践。具体地,计算机存储器可以存储计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令使得各种功能得以被执行,诸如在实施例中所提到的多种动作。

本发明的实施例可以包括或利用包括如以下更详细讨论的计算机硬件的专用或通用计算机。本发明范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这样的计算机可读介质可以是能够由通用或专用计算机系统访问的任意可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种截然不同类型的计算机可读介质:计算机存储介质和传输介质。

物理计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储(诸如CD、DVD等)、磁盘存储或者全体磁存储设备、固态驱动设备等,它们能够被用来以计算机可执行指令或数据结构的形式存储所期望的程序代码,并且能够由通用或专用计算机进行访问。

“网络”被定义为使得能够在计算机系统和/或模块和/或其它电子设备之间传输电子数据的一个或多个数据链路。当通过网络或另一个通信连接(硬线、无线(例如,单个无线链路或多个无线链路),或者硬线或无线的组合)向计算机系统传输或提供信息时,该计算机将该连接适当地视为传输介质。传输介质可以包括能够被用来以计算机可执行指令或数据结构的形式承载所期望的程序代码并且能够由通用或专用计算机进行访问的网络和/或数据链路。

此外,在到达各种计算机系统组件时,计算机可执行指令或数据结构形式的程序代码能够从传输介质自动传输到计算机存储介质(反之亦然)。例如,通过网络或数据链路所接收的计算机可执行指令或数据结构能够被缓存在网络接口模块(例如,“NIC”)内的RAM中,接着最终被传输至计算机系统的RAM和/或计算机系统处的较不易失性的计算机存储介质。因此,应当理解的是,计算机存储介质可以被包括在同样也(或甚至主要地)利用传输介质的计算机系统组件中。

计算机可执行指令例如包括指令和数据,它们使得通用计算机系统、专用计算机系统或专用处理设备执行某种功能或功能群组。计算机可执行指令例如可以是二进制码,诸如汇编语言的中间格式指令,或者甚至是源代码。虽然已经以特定于结构特征和/或方法动作的语言对主题进行了描述,但是所要理解的是,所附权利要求中所定义的主题并非必然被局限于以上所描述的具体特征和动作。相反,以上所描述的具体特征和动作作为实施权利要求的示例形式而公开。

本领域技术人员将会意识到,本发明可以在具有许多类型的计算机系统配置的网络计算环境中进行实践,上述计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本发明还可以在分布式系统环境中实施,其中通过网络进行链接(通过硬线数据链路、无线数据链路(例如,单个无线链路或多个无线链路),或者通过硬线和无线数据链路的组合)的本地和远程计算机系统二者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器的存储设备中。

可替换地或除此之外,这里所描述的功能能够至少部分由一个或多个硬件逻辑组件来执行。作为示例而非限制,能够使用的说明性类型的硬件逻辑组件包括:现场可编程门阵列(FPGA)、应用特定集成电路(ASIC)、程序特定标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等。

本发明可以以其它具体形式来体现而并不背离其精神或必要特征。所描述的实施例要始终被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求而非以上描述所指示。在权利要求等同形式的含义和范围内所进行的所有变化都被包含于其范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1