初次AIP开发跳的那些坑

AIP文档保护开发记录,参考自Azure 信息保护快速入门教程和Azure 信息保护开发人员指南

本文主要记录官方文档跳坑补充信息,遇到问题,查本文档

AIP的使用

azure入口

https://portal.azure.com

注册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”按钮重置本地的缓存
  • 其他类型文件(txt\pdf\图片)
    • 下载 Azure 信息保护查看器
      • Azure 信息保护查看器安装的先解决条件:
        • 1.win7sp1,仅window7(更新win7至最新版即可)
        • 2..net framework4.5.1,(如果未安装从这里下载)
        • 3.VC运行时,(如果未安装从这里下载)
        • 如果报找不到AddDllDirectory在kernel32.dll入口点,请从这里下载patch
      • Azure 信息保护查看器的用户切换
        • 官方提供的切换方式
          导航到 %localappdata%\Microsoft\MSIP 并删除 TokenCache 文件
        • 变通方式
          可以用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)、LicensingIntranetDistributionPointUrlCertificationIntranetDistributionPointUrl值。 后续步骤中需要使用。如下示例中粗体部分的字段值
    • 从服务断开连接: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的值
  • 如下图所示
    初次AIP开发跳的那些坑_第1张图片
    ServiceLocation.jpg

程序中可设置的权限项

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  

你可能感兴趣的:(初次AIP开发跳的那些坑)