Active Directory Rights Management Services 移动设备扩展

可以从 Microsoft 下载中心下载 Active Directory Rights Management Services (AD RMS) 移动设备扩展并在现有 AD RMS 部署之上安装此扩展。 这使得用户可以保护和使用敏感数据(如果其设备支持最新的支持 API 的应用)。 例如,用户可以在其移动设备上执行以下操作:

  • 使用 Azure 信息保护应用以不同的格式使用受保护的文本文件(包括 .txt、.csv 和 .xml)。
  • 使用 Azure 信息保护应用使用受保护的图像文件(包括 .jpg、.gif 和 .tif)。
  • 使用 Azure 信息保护应用打开受常规保护的任何文件(.pfile 格式)。
  • 使用 Azure 信息保护应用打开作为 PDF 副本(.pdf 和 .ppdf 格式)的 Office 文件(Word、Excel、PowerPoint)。
  • 使用 Azure 信息保护应用在 Microsoft SharePoint 上打开受保护的电子邮件 (.rpmsg) 和受保护的 PDF 文件。
  • 使用支持 AIP 的 PDF 查看器进行跨平台查看或打开受任何支持 AIP 的应用程序保护的 PDF 文件。
  • 使用通过使用 MIP SDK 写入的内部开发的支持 AIP 的应用。

注意

可以从 Microsoft 网站的 Microsoft Rights Management 页面下载 Azure 信息保护应用。 有关受移动设备扩展支持的其他应用的信息,请参阅本文档的应用程序页中的表。 有关 RMS 支持的不同文件类型的详细信息,请参阅 Rights Management 共享应用程序管理员指南中的支持的文件类型和文件扩展名部分。

重要

在安装移动设备扩展之前,请确保读取和配置先决条件。

有关其他信息,请从 Microsoft 下载中心下载“Microsoft Azure 信息保护”白皮书和随附的脚本。

AD RMS 移动设备扩展的先决条件

在安装 AD RMS 移动设备扩展之前,请确保以下依赖项已就位。

要求 详细信息
Windows Server 2019、2016、2012 R2 或 2012 上的现有 AD RMS 部署,其中包括:

- 必须从 Internet 访问 AD RMS 群集。

- AD RMS 必须在单独的服务器上使用完全基于 Microsoft SQL Server 的数据库,而不是通常用于在同一服务器上进行测试的 Windows 内部数据库。

- 用于安装移动设备扩展的帐户必须对用于 AD RMS 的 SQL Server 实例拥有sysadmin 权限。

- 必须将 AD RMS 服务器配置为结合移动设备客户端所信任的有效 x.509 证书使用 SSL/TLS。

- 如果 AD RMS 服务器受防火墙保护或通过使用反向代理发布,则除了向 Internet 发布 /_wmcs 文件夹之外,还必须发布 /my folder(例如:_https://RMSserver.contoso.com/my)。
有关 AD RMS 先决条件的详细信息和部署信息,请参阅本文的“先决条件”部分。
在 Windows Server 上部署的 AD FS:

- 必须从 Internet 访问 AD FS 服务器场(已部署联合服务器代理)。

- 不支持基于表单的身份验证;必须使用 Windows 集成身份验证

重要说明:AD FS 必须运行的是与运行 AD RMS 和移动设备扩展的计算机不同的计算机。
有关 AD FS 的文档,请参阅 Windows Server 库中的 Windows Server AD FS 部署指南

必须为移动设备扩展配置 AD FS。 有关说明,请参阅本主题中的为 AD RMS 移动设备扩展配置 AD FS 部分。
移动设备必须信任 RMS 服务器(或服务器)上的 PKI 证书 当你从公共 CA(如 VeriSign 或 Comodo)购买服务器证书时,移动设备可能已信任这些证书的根 CA,因此这些设备将信任服务器证书,而无需进行额外的配置。

但是,如果你使用自己的内部 CA 部署 RMS 的服务器证书,则必须执行其他步骤以在移动设备上安装根 CA 证书。 如果未执行此操作,移动设备将无法与 RMS 服务器建立成功的连接。
DNS 中的 SRV 记录 在公司域或多个域中创建一个或多个 SRV 记录:

1:为用户将要使用的每个电子邮件域后缀创建一条记录

2:为 RMS 群集使用的每个 FQDN 创建记录以保护内容,不包括群集名称

必须可从连接移动设备使用的任何网络解析这些记录,其中包括 Intranet(如果移动设备通过 Intranet 连接)。

当用户通过其移动设备提供电子邮件地址时,域后缀用于确定其应使用 AD RMS 基础结构还是 Azure AIP。 找到 SRV 记录后,客户端将重定向到响应该 URL 的 AD RMS 服务器。

当用户通过移动设备使用受保护的内容时,客户端应用程序在 DNS 中查找与群集(用于保护内容)的 URL 中的 FQDN 相匹配的记录(不包括群集名称)。 然后,设备将定向到 DNS 记录中指定的 AD RMS 群集,并获取用于打开内容的许可。 在大多数情况下,RMS 群集将是保护内容的同一 RMS 群集。

有关如何指定 SRV 记录的信息,请参阅本主题中的为 AD RMS 移动设备扩展指定 DNS SRV 记录部分。
使用通过适用于此平台的 MIP SDK 开发的应用程序的受支持客户端。 下载通过 Microsoft Azure 信息保护下载页面上的链接使用的设备的受支持应用。

为 AD RMS 移动设备扩展配置 AD FS

首先必须配置 AD FS,然后再对要使用的设备的 AIP 应用进行授权。

步骤 1:配置 AD FS

  • 可以运行 Windows PowerShell 脚本来自动配置 AD FS 以支持 AD RMS 移动设备扩展,也可以手动指定配置选项和值:
    • 若要自动为 AD RMS 移动设备扩展配置 AD FS,请将以下内容复制并粘贴到 Windows PowerShell 脚本文件中,然后运行它:
# This Script Configures the Microsoft Rights Management Mobile Device Extension and Claims used in the ADFS Server

# Check if Microsoft Rights Management Mobile Device Extension is configured on the Server
$CheckifConfigured = Get-AdfsRelyingPartyTrust -Identifier "api.rms.rest.com"
if ($CheckifConfigured)
{
Write-Host "api.rms.rest.com Identifer used for Microsoft Rights Management Mobile Device Extension is already configured on this Server"
Write-Host $CheckifConfigured
}
else
{
Write-Host "Configuring  Microsoft Rights Management Mobile Device Extension "

# TransformaRules used by Microsoft Rights Management Mobile Device Extension
# Claims: E-mail, UPN and ProxyAddresses
$TransformRules = @"
@RuleTemplate = "LdapClaims"
@RuleName = "Jwt Token"
c:[Type ==
"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types =
("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"http://schemas.xmlsoap.org/claims/ProxyAddresses"), query =
";mail,userPrincipalName,proxyAddresses;{0}", param = c.Value);

@RuleTemplate = "PassThroughClaims"
@RuleName = "JWT pass through"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
 => issue(claim = c);

@RuleTemplate = "PassThroughClaims"
@RuleName = "JWT pass through"
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"]
 => issue(claim = c);

@RuleTemplate = "PassThroughClaims"
@RuleName = "JWT pass through Proxy addresses"
c:[Type == "http://schemas.xmlsoap.org/claims/ProxyAddresses"]
 => issue(claim = c);
"@

# AuthorizationRules used by Microsoft Rights Management Mobile Device Extension
# Allow All users
$AuthorizationRules = @"
@RuleTemplate = "AllowAllAuthzRule"
 => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit",
Value = "true");
"@

# Add a Relying Part Truest with Name -"Microsoft Rights Management Mobile Device Extension" Identifier "api.rms.rest.com"
Add-ADFSRelyingPartyTrust -Name "Microsoft Rights Management Mobile Device Extension" -Identifier "api.rms.rest.com" -IssuanceTransformRules $TransformRules -IssuanceAuthorizationRules  $AuthorizationRules

Write-Host "Microsoft Rights Management Mobile Device Extension Configured"
}
  • 若要手动为 AD RMS 移动设备扩展配置 AD FS,请使用以下设置:
配置
依赖方信任 _api.rms.rest.com
声明规则 属性存储:Active Directory

电子邮件地址:E-mail-address

用户主体名称:UPN

代理地址:_https://schemas.xmlsoap.org/claims/ProxyAddresses

提示

有关部署 AD RMS 和 AD FS 的示例的分步说明,请参阅部署 Active Directory Rights Management Services 和 Active Directory 联合身份验证服务

步骤 2:对设备的应用进行授权

  • 替换变量后运行以下 Windows PowerShell 命令以添加对 Azure 信息保护的支持。 确保按以下顺序运行命令:
Add-AdfsClient -Name "R<your application name> " -ClientId "<YOUR CLIENT ID >" -RedirectUri @("<YOUR REDIRECT URI >")
Grant-AdfsApplicationPermission -ClientRoleIdentifier '<YOUR CLIENT ID>' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"

PowerShell 示例

Add-AdfsClient -Name "Fabrikam application for MIP" -ClientId "96731E97-2204-4D74-BEA5-75DCA53566C3" -RedirectUri @("com.fabrikam.MIPAPP://authorize")
Grant-AdfsApplicationPermission -ClientRoleIdentifier '96731E97-2204-4D74-BEA5-75DCA53566C3' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"
  • 对于 Azure 信息保护统一标签客户端,运行以下 Windows PowerShell 命令以添加对设备上的 Azure 信息保护客户端的支持:
Add-AdfsClient -Name "Azure Information Protection Client" -ClientId "c00e9d32-3c8d-4a7d-832b-029040e7db99" -RedirectUri @("com.microsoft.azip://authorize")
Grant-AdfsApplicationPermission -ClientRoleIdentifier "c00e9d32-3c8d-4a7d-832b-029040e7db99" -ServerRoleIdentifier api.rms.rest.com -ScopeName "openid"
  • 若要支持第三方产品的 Windows 2016 和 2019 上的 ADFS 和 ADRMS MDE,请运行以下 Windows PowerShell 命令:
Add-AdfsClient -Name "YOUR APP" -ClientId 'YOUR CLIENT ID' -RedirectUri @("YOUR REDIRECT") 
Grant-AdfsApplicationPermission -ClientRoleIdentifier 'YOUR CLIENT ID' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"

若要在 Windows、Mac、移动和 Office Mobile 上配置 AIP 客户端,以便通过 Windows Server 2012 R2 及更高版本上的 AD FS 使用受 HYOK 或 AD RMS 保护的内容,请使用以下各项:

  • 对于 Mac 设备(使用 RMS 共享应用),确保按以下顺序运行命令:
Add-AdfsClient -Name "RMS Sharing App for macOS" -ClientId "96731E97-2204-4D74-BEA5-75DCA53566C3" -RedirectUri @("com.microsoft.rms-sharing-for-osx://authorize")
Grant-AdfsApplicationPermission -ClientRoleIdentifier '96731E97-2204-4D74-BEA5-75DCA53566C3' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"
  • 对于 iOS 设备(使用 Azure 信息保护应用),确保按以下顺序运行命令:
Add-AdfsClient -Name "Azure Information Protection app for iOS" -ClientId "9D7590FB-9536-4D87-B5AA-FAA863DCC3AB" -RedirectUri @("com.microsoft.rms-sharing-for-ios://authorize")
Grant-AdfsApplicationPermission -ClientRoleIdentifier '9D7590FB-9536-4D87-B5AA-FAA863DCC3AB' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"
  • 对于 Android 设备(使用 Azure 信息保护应用),确保按以下顺序运行命令:
Add-AdfsClient -Name "Azure Information Protection app for Android" -ClientId "ECAD3080-3AE9-4782-B763-2DF1B1373B3A" -RedirectUri @("com.microsoft.rms-sharing-for-android://authorize")
Grant-AdfsApplicationPermission -ClientRoleIdentifier 'ECAD3080-3AE9-4782-B763-2DF1B1373B3A' -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"

运行以下 PowerShell 命令以添加对设备上的 Microsoft Office 应用的支持:

  • 对于 Mac、iOS、Android 设备(确保按以下顺序运行命令):
Add-AdfsClient –Name "Office for Mac and Office Mobile" –ClientId "d3590ed6-52b3-4102-aeff-aad2292ab01c" –RedirectUri @("urn:ietf:wg:oauth:2.0:oob")
Set-AdfsClient -TargetClientId d3590ed6-52b3-4102-aeff-aad2292ab01c -RedirectUri "urn:ietf:wg:oauth:2.0:oob","launch-word://com.microsoft.Office.Word","launch-excel://com.microsoft.Office.Excel","launch-ppt://com.microsoft.Office.Powerpoint"
Grant-AdfsApplicationPermission -ClientRoleIdentifier d3590ed6-52b3-4102-aeff-aad2292ab01c -ServerRoleIdentifier api.rms.rest.com -ScopeNames "openid"

指定 AD RMS 移动设备扩展的 DNS SRV 记录

必须为用户使用的每个电子邮件域创建 DNS SRV 记录。 如果所有用户都使用单个父域中的子域,并且此连续命名空间中的所有用户都使用相同的 RMS 群集,则可以在父域中仅使用一条 SRV 记录,并且 RMS 将查找相应的 DNS 记录。 SRV 记录具有以下格式:_rmsdisco._http._tcp.<emailsuffix> <portnumber> <RMSClusterFQDN>

注意

指定 443 作为 <端口号>。 尽管可以在 DNS 中指定其他端口号,但使用移动设备扩展的设备将始终使用 443。

例如,如果组织有拥有以下电子邮件地址的用户:

  • _user@contoso.com
    • _user@sales.contoso.com
    • _user@fabrikam.com 如果 _contoso.com 的其他任何子域都不使用除名为“_rmsserver.contoso.com”的 RMS 群集以外的其他 RMS 群集,则创建具有以下值的两条 DNS SRV 记录:
  • _rmsdisco._http._tcp.contoso.com 443 _rmsserver.contoso.com
  • _rmsdisco._http._tcp.fabrikam.com 443 _rmsserver.contoso.com

如果使用 Windows Server 上的 DNS 服务器角色,请将以下各表用作 DNS 管理器控制台中 SRV 记录属性的指南:

字段
_tcp.contoso.com
服务 _rmsdisco
协议 _http
优先级 0
重量 0
端口号 443
提供服务的主机 _rmsserver.contoso.com
字段
_tcp.fabrikam.com
服务 _rmsdisco
协议 _http
优先级 0
重量 0
端口号 443
提供服务的主机 _rmsserver.contoso.com

除了这些用于电子邮件域的 DNS SRV 记录以外,你还必须在 RMS 群集域中创建另一条 DNS SRV 记录。 此记录必须指定保护内容的 RMS 群集的 FQDN。 受 RMS 保护的每个文件都包含一个指向保护该文件的群集 URL。 移动设备使用记录中指定的 DNS SRV 记录和 URL FQDN 来查找可支持移动设备的相应 RMS 群集。

例如,如果你的 RMS 群集为“_rmsserver.contoso.com”,则创建一条具有以下值的 DNS SRV 记录:_rmsdisco._http._tcp.contoso.com 443 _rmsserver.contoso.com

如果使用 Windows Server 上的 DNS 服务器角色,请将以下各表用作 DNS 管理器控制台中 SRV 记录属性的指南:

字段
_tcp.contoso.com
服务 _rmsdisco
协议 _http
优先级 0
重量 0
端口号 443
提供服务的主机 _rmsserver.contoso.com

部署 AD RMS 移动设备扩展

在安装 AD RMS 移动设备扩展之前,请确保上一部分中的先决条件已满足,并确保你知道 AD FS 服务器的 URL。 然后执行以下操作:

  1. 从 Microsoft 下载中心下载 AD RMS 移动设备扩展 (ADRMS.MobileDeviceExtension.exe)。
  2. 运行 ADRMS.MobileDeviceExtension.exe,启动 Active Directory Rights Management Services 移动设备扩展安装向导。 出现提示时,输入之前配置的 AD FS 服务器的 URL。
  3. 完成该向导。

在 RMS 群集中的所有节点上运行此向导。

如果在 AD RMS 群集与 AD FS 服务器之间存在代理服务器,则默认情况下,你的 AD RMS 群集将无法与联合服务联系。 发生这种情况时,AD RMS 将无法验证从移动客户端接收的令牌,并且将拒绝请求。 如果存在阻止此通信的代理服务器,则必须从 AD RMS 移动设备扩展网站更新 web.config 文件,以便 AD RMS 可以在需要与 AD FS 服务器联系时跳过代理服务器。

更新 AD RMS 移动设备扩展的代理设置

  1. 打开位于 \Program Files\Active Directory Rights Management Services Mobile Device Extension\Web Service 中的 web.config 文件。

  2. 将以下节点添加到文件:

       <system.net>
        <defaultProxy>
            <proxy  proxyaddress="http://<proxy server>:<port>"
                    bypassonlocal="true"
            />
            <bypasslist>
                <add address="<AD FS URL>" />
            </bypasslist>
        </defaultProxy>
    <system.net>
    
  3. 进行以下更改,然后保存该文件:

    • 将 <代理服务器> 替换为代理服务器的名称或地址。
    • 将 <端口> 替换为代理服务器配置为使用的端口号。
    • 将 <AD FS URL> 替换为联合服务的 URL。 请勿包括 HTTP 前缀。

    注意

    若要了解如何重写代理设置的详细信息,请参阅代理配置文档。

  4. 重置 IIS,例如,通过在命令提示符下以管理员身份运行 iisreset

对 RMS 群集中的所有节点重复此过程。

另请参阅

使用 API Yammer 组了解有关 Azure 信息保护的详细信息,与其他 AIP 客户联系,并与 AIP 产品经理联系。