AIP文档保护开发记录,参考自Azure 信息保护快速入门教程和Azure 信息保护开发人员指南
本文主要记录官方文档跳坑补充信息,遇到问题,查本文档
AIP的使用
azure入口
注册E5试用帐号
- 试用帐号申请成功后,等“Azure subscription is ready ”邮件,之后才能正常使用
激活保护并配置
注意:全局策略:打开“为用户提供自定义权限选项”
安装客户端
AzInfoProtection.exe安装失败,转用AzInfoProtectionScanner.exe安装成功
安装失败可能是因为.net4.6.2安装不完整造成,在vs2017安装选项中会看到.net4.6.2默认部分未安装
注意以下官方声明:
Azure 信息保护客户端不支持同一台计算机上的多个 Office 版本。 此客户端也不支持在 Office 中的不同用户帐户之间切换
-- 摘自官方文档
设置文档权限
- 选择文件--》右键--》分类与保护--》自定义保护权限
- 对于被保护文档使用者,需要注册AIP帐号,注册地址为:https://aka.ms/rms-signup
类似提示:我已使用 Microsoft Azure 信息保护对文件提供保护。若是首次使用,请参阅这些说明:https://aka.ms/rms-signup。
查看已保护文件
- office文件
通过office2013及以上版本软件查看 - 多用户切换会导致受权用户无法打开office文档,这时可尝试以下操作:
- 1.下载RMS Analyzer tool
- 2.按以下步骤清除缓存:
- a.删除文件夹
%localappdata%\Microsoft\MSIPC
和%localappdata%\Microsoft\MSDRM
- b.删除注册表:
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\MSIPC
- c.点击RMS analyzer的“reset”按钮重置本地的缓存
- a.删除文件夹
- 其他类型文件(txt\pdf\图片)
- 下载 Azure 信息保护查看器
重置本地AIP帐户:
选择任一文件--》右键--》分类与保护--》帮助与反馈--》重置设置
开发应用程序
此处描述的是运行官方Demo AzureIP_Test的环境部署过程
安装SDK
安装AADRM PowerShell
下载并安装WindowsAzureADRightsManagementAdministration_x64.exe
安装MSOnline
以管理员身份运行PowerShell,并执行以下语句:
install-Module MSOnline
安装过程中选择[Y]
如果系统提示找不到install-Module,请到官网下载对应当前操作系统版本的Windows Management Framework 5.0
获取租户 ID
- 操作步骤:
- 以管理员身份运行 PowerShell。
- 执行
Import-Module AADRM
,导入 RMS 模块 - 执行
Connect-AadrmService –Verbose
, 连接到服务 - 执行
Enable-AADRM
, 确保已启用 RMS - 执行
Get-AadrmConfiguration
, 获取租户 ID - 记录 BPOSId(租户 ID)、LicensingIntranetDistributionPointUrl、CertificationIntranetDistributionPointUrl值。 后续步骤中需要使用。如下示例中粗体部分的字段值
- 从服务断开连接:Disconnect-AadrmService
BPOSId : (演示值)f3897b21-7d29-47f5-8a42-ab780d3ca758
RightsManagementServiceId : 61297ce8-a2c2-4631-9816-caa4a31b3217
LicensingIntranetDistributionPointUrl : (演示值)https://61297ce8-a2c2-4631-9816-caa4a31b3217.rms.ap.aadrm.com/_wmcs/licensing
LicensingExtranetDistributionPointUrl : https://61297ce8-a2c2-4631-9816-caa4a31b3217.rms.ap.aadrm.com/_wmcs/licensing
CertificationIntranetDistributionPointUrl : (演示值)https://61297ce8-a2c2-4631-9816-caa4a31b3217.rms.ap.aadrm.com/_wmcs/certification
CertificationExtranetDistributionPointUrl : https://61297ce8-a2c2-4631-9816-caa4a31b3217.rms.ap.aadrm.com/_wmcs/certification
创建服务主体
- 以管理员身份运行 PowerShell
- 执行
Import-Module MSOnline
- 执行
Connect-MsolService
,连接到在线服务 - 执行
New-MsolServicePrincipal
, 创建新服务主体 - 根据提示,输入服务主体名称(名称不限,自己起)
- 记录对称密钥和应用程序主体ID 以供将来使用。如下示例中粗体部分的字段值
DisplayName: testPrincipal
The following symmetric key was created as one was not supplied (演示值)5GRfvwsmDtllIUacLubiknDh5pWJhuDgG8Zm0H1v+T8=
DisplayName : testPrincipal
ServicePrincipalNames : {bb6eb829-b4b5-4156-aea0-32088990de64}
ObjectId : 8ff2c193-083c-4037-9cac-01762ef7e1f8
AppPrincipalId : (演示值)bb6eb829-b4b5-4156-aea0-32088990de64
TrustedForDelegation : False
AccountEnabled : True
...
添加注册表项
非北美地区需要添加如下注册表项
- 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC或HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC下新建ServiceLocation项
- 在ServiceLocation项下新增EnterpriseCertification项,其(默认)值为前面记录下来的CertificationIntranetDistributionPointUrl的值
- 在ServiceLocation项下新增EnterprisePublishing项,其(默认)值为前面记录下来的LicensingIntranetDistributionPointUrl的值
- 如下图所示
程序中可设置的权限项
AzureIP_test中列出的权限项和参考连接不完整,准确的权限项请参阅为 Azure Rights Management 配置使用权限
备注:程序代码中未能找到对clientID的使用,所以下面注册应用程序相关的部分应该在本测试中不需要
注册应用程序
Azure Active Directory->应用注册->创建
为应用程序添加权限
- Azure Active Directory->应用注册->【我的应用】切换为【所有应用】->选择应用->设置->所需权限->添加
- 应包含权限
- Windows Azure Active Directory
- Microsoft Rights Management Services
- Office 365 Management APIs
clientID
将注册应用程序所得到的application ID(作为client id)和redirectURL写入配置文件
Set-RMSServerAuthentication
在程序调试不通时尝试过该设置,不确认是否有效
安装AzInfoProtectionScanner.exe后,该cmd才有效
Set-RMSServerAuthentication -Key 5GRfvwsmDtllIUacLubiknDh5pWJhuDgG8Zm0H1v+T8= -AppPrincipalId bb6eb829-b4b5-4156-aea0-32088990de64 -BposTenantId f3897b21-7d29-47f5-8a42-ab780d3ca758