使用 Endpoint Privilege Management 创建提升权限规则

提升权限规则策略允许 Endpoint Privilege Management (EPM) 识别特定文件和脚本并执行关联的提升权限操作。 要使提升权限规则生效,设备必须具有启用 EPM 的 提升权限设置策略 。 有关详细信息,请参阅 EPM 提升设置

注意

可以从 Microsoft Intune 管理中心为每个提升规则策略添加最多 100 个提升规则。

除了本文中的信息,在管理提升规则时,请随时了解重要的 安全建议

关于提升规则策略

提升规则策略用于管理特定文件的标识以及如何处理这些文件的提升请求。 每个 高程规则策略 都包含一个或多个 高程规则。 可使用提升规则配置有关要管理的文件的详细信息以及提升文件的要求。

支持以下类型的文件:

  • 扩展名为 or .msi.exe可执行文件。
  • PowerShell 脚本。.ps1

每个提升规则都指示 EPM 如何:

  • 使用以下命令标识文件

    • 文件名 (包括扩展名) 。 该规则还支持可选条件,例如最低内部版本、产品名称或内部名称。 可选条件用于在尝试提升时进一步验证文件。 文件名 (不包括扩展名) 可以包括通过使用问号?对单个字符使用变量或通过使用星号*对字符串使用变量
    • 证书。 可以直接将证书添加到规则中,也可以使用可重用的设置组来添加。 证书必须是可信且有效的。 建议使用可重用的设置组,因为它们可以更高效并简化将来对证书的更改。 有关详细信息,请参阅 可重用设置组
  • 验证文件

    • 文件哈希。 自动规则需要文件哈希。 对于提升类型为 “用户已确认 ”或“提升为 当前用户”的规则,可以选择使用证书或文件哈希,在这种情况下,文件哈希将变为可选。
    • 证书。 文件属性可以与用于签名文件的发布者证书一起进行验证。 使用 Windows API 验证证书,这些 API 检查信任、证书到期和吊销状态等属性。
    • 文件属性。 规则中指定的任何其他属性必须匹配。
  • 配置文件提升类型。 高程类型标识对文件发出高程请求时会发生什么。 默认情况下,此选项设置为“ 用户确认”。 除了“ 提升为当前用户”外,EPM 使用 虚拟帐户 提升进程。 这将提升的操作与用户配置文件隔离开来,从而减少对用户特定数据的暴露并降低权限提升的风险。

    • 拒绝:拒绝规则阻止已标识的文件在提升的上下文中运行。

    • 支持已批准:管理员必须先批准 所需的支持提升 权限请求,然后才能允许应用程序以提升的权限运行。

    • 用户已确认:用户确认提升始终要求用户在确认提示上选择运行文件。 确认只能配置为要求用户身份验证、 (报告) 中可见的业务理由,或两者兼而有之。

    • 当前用户身份提升:这种类型的提升权限会在登录用户自己的帐户下运行提升的进程,同时保持与依赖于活动用户配置文件的工具和安装程序的兼容性。 这要求用户输入其 Windows 身份验证的凭据。 这将保留用户的配置文件路径、环境变量和个性化设置。 由于提升的进程在提升之前和之后保持相同的用户标识,因此审核跟踪保持一致且准确。

      但是,由于提升的进程继承用户的完整上下文,因此此模式引入了更广泛的攻击面,并减少了与用户数据的隔离。

      关键注意事项:

      • 兼容性需求: 仅当虚拟帐户提升导致应用程序失败时才使用此模式。
      • 严格限定范围:将提升规则限制为受信任的二进制文件和路径,以降低风险。
      • 安全性权衡:了解此模式会增加对用户特定数据的暴露。

      提示

      如果兼容性不是问题,则首选使用虚拟帐户提升权限的方法来增强安全性。

    • 自动:自动提升对用户来说不可见。 没有提示,也没有指示文件正在提升的上下文中运行。

  • 管理子进程的行为。 您可以控制如何将提升规则应用于提升的父进程启动的任何子进程。

    • 需要提升规则 – 子进程必须满足自己的规则要求,然后才能运行提升权限。 子进程根据其规则定义提升,包括任何拒绝规则。

    • 全部拒绝 - 所有子进程在没有提升上下文的情况下启动。

    • 允许子进程以提升权限运行 - 由提升的父级启动的任何子进程都将自动以提升权限运行。 选择此选项时,将跳过子进程的规则评估,包括拒绝规则。 这意味着即使子进程存在显式拒绝规则,子进程也可以以提升权限运行。

    最佳实践: 避免为可以启动其他进程的应用程序创建过于宽泛的提升规则,例如命令 shell 或脚本引擎 () 以防止意外提升。

注意

有关创建强规则的更多信息,请参阅定义与 Endpoint Privilege Management 一起使用的规则

还可以使用 Get-FileAttributesEpmTools PowerShell 模块中的 PowerShell cmdlet。 此 cmdlet 可检索 .exe 文件的文件属性,并将其发布者和 CA 证书提取到可用于填充特定应用程序的提升规则属性的设置位置。

警告

建议谨慎使用自动提升,并且仅对具有业务关键性的受信任文件使用。 最终用户在 每次 启动该应用程序时自动提升这些应用程序。

定义与 Endpoint Privilege Management 一起使用的规则

Endpoint Privilege Management 规则由两个基本元素组成:检测提升操作

检测 被定义为用于识别应用程序或二进制文件的一组属性。 这些属性包括文件名、文件版本和签名属性。

高程操作 是在检测到应用程序或二进制文件后发生的结果高程。

在定义 检测 时,将其定义为尽可能 具有描述性 ,这一点很重要。 为了具有描述性,请使用强属性或多个属性来增加检测强度。 定义检测时的目标应该是消除多个文件属于同一规则的能力,除非这是明确的意图。

文件哈希规则

文件哈希规则是可以使用 Endpoint Privilege Management 创建的最强规则。 强烈建议使用这些规则,以确保要提升的文件是提升的文件。

可以使用 Get-Filehash PowerShell 方法从直接二进制文件中收集文件哈希,也可以直接从 Endpoint Privilege Management 的报告中收集。

证书规则

证书规则是一种强类型的属性,应与其他属性配对使用。 将证书与产品名称、内部名称和描述等属性配对,可以大大提高规则的安全性。 这些属性受文件签名保护,通常指示签名文件的详细信息。

警告

不建议仅使用证书和文件名来标识文件。 任何有权访问文件所在目录的 标准用户 均可更改文件名。 对于驻留在写保护目录中的文件,此问题可能不是问题。

包含文件名的规则

文件名是一个属性,可用于检测需要提升的应用程序。 但是,文件名很容易更改,并且不构成由发布者证书签名的哈希或属性的一部分。

这意味着文件名 极易 更改。 可重命名由信任的证书签名的非目标的 Files 以便检测提升

重要

始终确保规则(包括文件名)包含可为文件标识提供强大断言的其他属性。 文件签名中包含的属性(如文件哈希或属性 (例如,产品名称) )可以很好地指示你打算使用的文件可能是要提升的文件。

基于 PowerShell 收集的属性的规则

若要帮助构建更准确的文件检测规则,可以使用 Get-FileAttributes PowerShell cmdlet。 Get-FileAttributes 可从 EpmTools PowerShell 模块获取,可以检索文件的文件属性和证书链材料,并且可以使用输出填充特定应用程序的提升规则属性。

针对 Windows 11 版本 10.0.22621.2506 上的 msinfo32.exe 运行的示例模块导入步骤和输出 Get-FileAttributes:

PS C:\Windows\system32> Import-Module 'C:\Program Files\Microsoft EPM Agent\EpmTools\EpmCmdlets.dll'
PS C:\Windows\system32> Get-FileAttributes -FilePath C:\Windows\System32\msinfo32.exe -CertOutputPath C:\CertsForMsInfo\

FileName      : msinfo32.exe
FilePath      : C:\Windows\System32
FileHash      : 18C8442887C36F7DB61E77013AAA5A1A6CDAF73D4648B2210F2D51D8B405191D
HashAlgorithm : Sha256
ProductName   : Microsoft® Windows® Operating System
InternalName  : msinfo.dll
Version       : 10.0.22621.2506
Description   : System Information
CompanyName   : Microsoft Corporation

注意

msinfo32.exe 的证书链将输出到命令示例中列出的 C:\CertsForMsInfo 目录。

有关详细信息,请参阅 EpmTools PowerShell 模块

控制子进程行为

子进程行为允许您在使用 EPM 提升的进程创建子进程时控制上下文。 此行为允许你控制将自动委派给其父进程上下文的进程。

Windows 会自动将父级的上下文委派给子级,因此在控制允许的应用程序的行为时要特别小心。 确保在创建高程规则时评估所需的内容,并实施最小权限原则。

注意

更改子进程行为可能与某些需要默认 Windows 行为的应用程序存在兼容性问题。 确保在操作子进程行为时彻底测试应用程序。

部署使用 Endpoint Privilege Management 创建的规则

Endpoint Privilege Management 规则的部署方式与 Microsoft Intune 中的任何其他策略相同。 这意味着可以将规则部署到用户或设备,并且规则在客户端合并并在运行时选择。 任何冲突都将根据 策略冲突行为解决。

部署到设备的规则应用于使用该设备 的所有用户 。 部署到用户的规则仅应用于该 用户 使用的每台设备上的该用户。 发生提升操作时,部署到用户的规则优先于部署到设备的规则。 此行为允许你将一组规则部署到设备的所有用户,并向特定用户 ((例如支持管理员) )部署一组更宽松的规则。 这将允许支持管理员在登录到设备时提升一组更广泛的应用程序。

仅当找不到规则匹配项时,才使用默认高程行为。 默认高程行为仅在使用 “使用提升访问权限运行” 右键单击菜单触发高程时适用。

创建提升规则策略

提升权限规则策略部署到用户或设备,以便为由 Endpoint Privilege Management 管理以进行提升的文件部署一个或多个规则。 添加到此策略的每个规则:

  • 按文件名和文件扩展名标识要管理提升请求的文件。
  • 可以包括证书以帮助验证文件的完整性。 还可以添加一个可重用组,其中包含证书,然后将其与一个或多个规则或策略一起使用。
  • 可以包括一个或多个手动添加 的文件参数或命令行开关。 将文件参数添加到规则时,EPM 仅允许包含定义的命令行之一的请求的文件提升。 如果定义的命令行不是文件提升请求的一部分,则 EPM 将拒绝该请求。
  • 指定文件的提升类型是自动 (静默) ,还是需要用户确认。 通过用户确认,可以要求通过凭据提示或业务理由或两者进行验证。

注意

除此策略之外,还必须为设备分配启用 Endpoint Privilege Management 的 Windows 提升权限设置策略。

使用以下任一方法创建新的高程规则,这些规则将添加到高程规则策略中:

  • 自动配置高程规则 – 通过从报告添加文件详细信息,使用此方法在创建高程规则时节省时间。 可以使用 高程报告从支持批准的高 程请求记录创建规则。

    使用此方法,可以:

    • 从高程报告中选择要为其创建高程规则的文件,或 支持已批准 的高程请求。
    • 选择将新高程规则添加到现有高程规则策略,或创建包含新规则的新高程规则策略。
      • 添加到现有策略时,新规则将立即可用于已分配组的该策略列表。
      • 创建新策略时,必须编辑该策略以分配组,然后才能使用它。
  • 手动配置高程规则 – 此方法要求您确定要用于检测的文件详细信息,并在规则创建工作流程中手动输入这些详细信息。 有关检测条件的信息,请参阅定义与 Endpoint Privilege Management 一起使用的规则

    使用此方法,可以:

    • 手动确定要使用的文件详细信息,然后将其添加到高程规则中,以便进行文件识别。
    • 在创建策略期间配置策略的所有方面,包括将策略分配给组以供使用。
    • 可以在 EPM 允许文件提升之前添加一个或多个必须是提升请求一部分的文件参数。

提示

对于自动配置和手动配置的提升规则,建议使用指向标准用户无法修改的位置的文件路径

自动为 Windows 配置提升规则策略

  1. 登录到 Microsoft Intune 管理中心,然后转到 Endpoint securityEndpoint>Privilege Management。 要选择要用于高程规则的文件,请选择以下起始路径之一:

    从报表开始:

    1. 选择“ 报告 ”选项卡,然后选择 “高程报告 ”磁贴。 在“ 文件 ”列中找到要为其创建规则的文件。
    2. 选择文件的链接名称以打开该文件的高 程详细信息 窗格。

    从支持部门批准的提升权限请求开始:

    1. 选择“ 提升请求 ”选项卡。

    2. 文件 列中,选择要用于高程规则的文件,这将打开该文件的高 程详细信息 窗格。

      提升请求的状态并不重要。 可以使用待处理的请求或之前已批准或拒绝的请求。

  2. 在高 程详细信息 窗格中,查看文件详细信息。 高程规则使用此信息来标识正确的文件。 准备就绪后,选择使用 这些文件详细信息创建规则

    从“海拔”报告中选择的文件的管理中心 UI 中的图像。

  3. 为要创建的新提升规则选择策略选项:

    创建新策略: 此选项会创建一个新策略,其中包含所选文件的提升规则。

    1. 对于规则,配置 “类型 ”和 “子进程”行为,然后选择“ 确定 ”以创建策略。
    2. 出现提示时,请为新策略提供 策略名称 并确认创建它。
    3. 创建策略后,可以编辑策略以对其进行分配并进行任何其他更改。

    添加到现有策略: 使用此选项时,使用下拉列表并选择要添加新高程规则的现有高程策略。

    1. 对于规则,配置提升权限 类型子进程行为,然后选择“ 确定”。 策略将使用新规则进行更新。
    2. 将规则添加到策略后,可以编辑策略以获取对规则的访问权限,然后根据需要对其进行修改以进行其他配置。

    需要与此提升相同的文件路径: 选中此复选框时,规则中的“文件路径”字段将设置为报告中所示的文件路径。 如果未选中复选框,路径将为空。

    提示

    虽然是可选的,但我们建议使用指向标准用户无法修改的位置的文件路径。

    “创建规则”窗格中管理中心 UI 中的图像。

手动配置 Windows 提升规则策略的提升权限规则

  1. 登录到 Microsoft Intune 管理中心,转到 Endpoint security,Endpoint>Privilege Management>,选择“策略”选项卡>,然后选择“创建策略”。 将 “平台 ”设置为“ Windows”,将 “配置文件 ”设置为 “Windows 提升规则策略”,然后选择 “创建”

  2. “基本”上,输入以下属性:

    • 名称:输入配置文件的描述性名称。 为配置文件命名,以便以后可以轻松识别它们。
    • 说明:输入配置文件的说明。 此设置是可选的,但建议设置。
  3. “配置设置”上,为此策略管理的每个文件添加规则。 创建新策略时,策略启动时将包含一个空白规则,其提升权限类型为“ 用户确认” ,且没有规则名称。 首先配置此规则,稍后可以选择“ 添加” 以向此策略添加更多规则。 添加的每个新规则都有一个提升类型“用户确认”,可以在配置规则时更改该类型。

    新提升规则策略管理中心 UI 中的图像。

    要配置规则,请选择编辑 实例 以打开其规则属性页面,然后配置以下内容:

    高程规则属性的图像。

    • 规则名称:指定规则的描述性名称。 为规则命名,以便以后可以轻松识别它们。
    • 说明 (可选) :输入配置文件的说明。

    高程条件 是定义文件运行方式的条件,并且在运行应用此规则的文件之前必须满足的用户验证。

    • 高程类型:默认情况下,此选项设置为“ 用户确认”,这是最常用的高程类型,因为它允许高程,但需要用户确认。

      • 拒绝拒绝 规则可阻止已识别的文件在提升的上下文中运行。 以下行为适用:

        • 拒绝 规则支持与其他高程类型相同的配置选项,子进程选项除外。 即使已配置,此规则也不会使用子进程选项。
        • 当用户尝试提升与拒绝规则匹配的文件时,提升失败。 EPM 显示一条消息,指示无法以管理员身份运行应用。 如果还为该用户分配了允许提升同一文件的规则,则 拒绝规则优先
        • 被拒绝的提升在提升报告中显示为“已拒绝”,类似于“ 支持批准请求 被拒绝”。
        • EPM 目前不支持从评估报告中自动配置拒绝规则。
      • 支持已批准:此提升权限类型要求管理员批准提升权限请求。 有关详细信息,请参阅 支持已批准的提升权限请求

        重要

        使用支持批准的文件提升要求具有其他权限的管理员以管理员权限审阅并批准设备上该文件之前的每个文件提升请求。 有关使用支持批准的提升权限类型的信息,请参阅支持 Endpoint Privilege Management 的批准的文件提升。

      • 用户确认:最常用于具有需要提升的规则的文件,因为它允许提升,但需要用户确认。 运行文件时,用户会收到一个简单的提示,以确认其运行文件的意图。 该规则还可以包括“ 验证 ”下拉列表中提供的其他提示:

        • 业务理由:要求用户输入运行文件的理由。 条目没有必需的格式。 如果 报告范围 包括终结点高程的集合,则将保存用户输入,并且可以通过日志查看用户输入。
        • Windows 身份验证:此选项要求用户使用其组织凭据进行身份验证。
      • 自动:此提升类型以提升的权限自动运行文件。 自动提升对用户是透明的,无需提示确认,也无需用户提供理由或身份验证。

        警告

        仅按异常和信任的文件使用自动提升。 这些文件无需用户交互即可自动提升。 未明确定义的规则可能允许未经批准的应用程序提升。 有关创建强规则的详细信息,请参阅 创建规则指南

    • 子进程行为:默认情况下,此选项设置为 需要规则提升,这要求子进程与创建它的进程匹配相同的规则。 其他选项包括:

      • 允许所有子进程运行提升权限:应谨慎使用此选项,因为它允许应用程序无条件地创建子进程。
      • 全部拒绝:此配置可阻止创建任何子进程。

    文件信息 是指定用于标识应用此规则的文件的详细信息的位置。

    • 文件名:指定文件名及其扩展名。 例如:myapplication.exe。 也可以在文件名中使用 变量

    • 文件路径 (可选) :指定文件的位置。 如果文件可以从任何位置运行或未知,您可以将此文件留空。 也可以使用变量。

      提示

      虽然是可选的,但我们建议使用指向标准用户无法修改的位置的文件路径。

    • 签名源: 选择以下选项之一:

      • 在可重用设置中使用证书文件 (默认) :此选项使用以前添加到可重用设置组的证书文件,用于Endpoint Privilege Management。 必须 先创建可重用的设置组 ,然后才能使用此选项。

        要标识 证书,请选择 “添加或删除证书”,然后选择包含正确证书的可重用组。 然后,指定 证书类型发布者 ”或 “证书颁发机构”

      • 上传证书文件:将证书文件直接添加到提升规则中。 对于“ 文件上传”,指定一个可验证应用此规则的文件的完整性的 .cer 文件。 然后,指定 证书类型发布者 ”或 “证书颁发机构”

      • 未配置:如果不想使用证书来验证文件的完整性,请使用此选项。 如果未使用任何证书,则必须提供 文件哈希

    • 文件哈希:当“签名源”设置为“ 未配置”时,文件哈希是必需的,当设置为使用证书时,文件哈希是可选的。

    • 最低版本: (可选) 使用 x.x.x.x 格式指定此规则支持的最低文件版本。

    • 文件描述: (可选) 提供文件的说明。

    • 产品名称: (可选) 指定文件来源的产品名称。

    • 内部名称: (可选) 指定文件的内部名称。

    选择 “保存” 以保存规则配置。 然后可以 添加 更多规则。 添加此策略所需的所有规则后,选择 “下一步 ”以继续。

  4. 在“范围标记”页上,选择要应用的任何所需范围标记,然后选择“下一步”。

  5. 对于 “分配”,选择接收策略的组。 有关分配配置文件的详细信息,请参阅分配用户和设备配置文件。 选择 下一步

  6. “查看 + 创建”中,查看设置,然后选择 “创建”。 选择“创建”时,将保存所做的更改并分配配置文件。 该策略还显示在策略列表中。

在高程规则中使用变量

手动配置文件高程规则时,可以为以下配置使用通配符,这些配置可在高程规则策略的 “规则属性 ”页面上使用:

  • 文件名:配置“ 文件名 ”字段时,支持将通配符作为文件名的一部分。
  • 文件夹路径:配置 “文件夹路径” 字段时,支持将通配符作为文件夹路径的一部分。

注意

自动提升规则不支持通配符。

使用通配符可在规则中提供灵活性,以支持具有名称可能会随后续修订而频繁更改的受信任文件,或者文件路径也可能更改的受信任文件。

支持以下通配符:

  • 问号 ? - 问号替换文件名中的单个字符。
  • 星号 * - 星号替换文件名中的字符串。

以下是支持的通配符使用示例:

  • 名为 Visual Studio 安装程序的文件VSCodeSetup-arm64-1.99.2.exe的文件名

    • VSCodeSetup*.exe
    • VSCodeSetup-arm64-*.exe
    • VSCodeSetup-?????-1.??.?.exe
  • 同一文件的文件路径,通常可在以下位置找到C:\Users\<username>\Downloads\

    • C:\Users\*\Downloads\

提示

在文件名中使用变量时,请避免使用可能冲突的规则属性。 例如, 文件哈希 仅与一个文件匹配,因此文件名通配符可能是多余的。

将文件参数用于高程规则

文件提升规则也可以 限制为允许使用特定参数进行提升。

例如,dsregcmd 可用于调查 Microsoft Entra ID 中设备的状态,但需要提升。 为了帮助支持此文件用于调查,可以使用 dsregcmd 的参数列表配置规则,其中包括 /status/listaccounts 等的开关。 但是,若要防止诸如注销设备这样的破坏性操作,请排除 /leave 等参数。 使用此配置时,规则仅在使用参数 /status/listaccounts 时允许提升。 将拒绝使用 /leave 开关的 dsregcmd,该开关会从 Microsoft Entra ID 中删除设备。

要向高程规则添加一个或多个参数,请将“ 将参数限制允许列表”。 选择“添加”并配置允许的命令行选项。 通过添加多个参数,可提供提升权限请求支持的多个命令行。

重要

文件参数注意事项:

  • EPM 使用文件参数列表作为允许列表。 配置后,EPM 在未使用任何参数或仅使用指定的参数时允许提升。 如果使用了指定参数中未找到的任何参数,则阻止提升。
  • 文件参数区分大小写;用户必须完全按照规则中的定义匹配大小写。
  • 不要将机密定义为文件参数。

用于配置命令行参数的用户界面屏幕截图。

可重用的设置组

Endpoint Privilege Management 使用可重用的设置组来管理验证您使用 Endpoint Privilege Management 提升规则管理的文件的证书。 与 Intune 的所有可重用设置组一样,对可重用组的更改会自动传递到引用该组的策略。 如果必须更新用于文件验证的证书,只需在“可重用设置”组中更新一次。 Intune 会将更新的证书应用于使用该组的所有提升权限规则。

要为 Endpoint Privilege Management 创建可重用设置组,请执行以下操作:

  1. 登录到 Microsoft Intune 管理中心并转到终结点安全>Endpoint Privilege Management>选择“可重用设置” (预览) “选项卡>,然后选择”添加“。

    用于添加可重用设置组的 UI 屏幕截图。

  2. “基本”上,输入以下属性:

    • 名称:输入可重用组的描述性名称。 命名组,以便以后可以轻松识别每个组。
    • 说明:输入配置文件的说明。 此设置是可选的,但建议设置。
  3. “配置设置”中,选择“ 证书文件”文件夹图标,然后浏览到一个 。CER 文件,以将其添加到此可重用组中。 Base 64 值 字段根据所选证书进行填充。

    用于浏览证书的用户界面屏幕截图。

  4. “审阅 + 创建”中,查看设置,然后选择 “添加”。 选择“添加”时,将保存您的配置,然后组将显示在 Endpoint Privilege Management 的可重用设置组列表中。


后续步骤