文档安全 |处理用户数据

AEM Forms文档安全允许您创建、存储预定义的安全设置并将其应用于文档。 它确保只有授权用户才能使用文档。 您可以使用策略保护文档。 策略是包含安全设置和授权用户列表的信息集合。 您可以将策略应用于一个或多个文档,并授权在AEM Forms JEE用户管理中添加的用户。

用户数据和数据存储

文档安全存储与受保护文档相关的策略和数据,包括数据库中的用户数据,如My Sql、Oracle、MS SQL Server和IBM DB2。 此外,在用户管理中存储策略中授权用户的数据。 有关存储在用户管理中的数据的信息,请参阅Forms用户管理:处理用户数据

下表映射文档安全在数据库表中组织数据的方式。

数据库表 描述
EdcPrincipalKeyEntity 存储有关用户的主键的信息。 这些键用于脱机文档安全工作流。
EdcAuditEntity 存储有关审核事件(如用户事件、文档事件和策略事件)的信息。

EdcLicenseEntity

存储受保护文档的记录。 它存储每个受保护文档的许可证详细信息。

EdcDocumentEntity

存储系统中创建的每个许可证的文档名称。

EdcRevokationEntity

存储有关撤销和恢复受保护文档的信息。
EdcMyPolicyListEntity 存储有关可以创建个人策略的用户的信息,这些策略显示在“策略”页面的“我的策略”选项卡下。
EdcPolicyEntity 存储有关策略的信息。 每个策略都对应于此表中的一行。
EdcPolicyXmlEntity 存储活动策略的XML文件。 策略XML 包含对与策略关联的用户的主ID的引用。 策略XML存储为Blob对象。
EdcPolicyArchiveEntity 存储有关已存档策略的信息。 存档的策略包含其作为Blob对象存储的策略XML。

EdcPolicySetPrincipalEntity

EdcPolicySetPrincipalEnt (Oracle和MS SQL数据库)

存储策略集和用户之间的映射。
EdcInvitedUserEntity 存储有关受邀用户的信息。

访问和删除用户数据

您可以访问和导出数据库中用户的文档安全数据,如果需要,请永久删除该数据。

要从数据库导出或删除用户数据,您需要使用数据库客户端连接到数据库,并根据用户的一些个人身份信息查找主ID。 例如,要使用登录ID检索用户的主ID,请在数据库中运行以下select命令。

select命令中,将<user_login_id>替换为您要从EdcPrincipalUserEntity数据库表中检索其主ID的用户的登录ID。

select refprincipalid from EdcPrincipalUserEntity where uidstring = <user_login_id>

知道主体ID后,即可导出或删除用户数据。

导出用户数据

运行以下数据库命令,从数据库表导出主体ID的用户数据。 在select命令中,将<principal_id>替换为要导出其数据的用户的主ID。

注意

以下命令使用My SQL和IBM DB2数据库中的数据库表名。 在Oracle和MS SQL数据库上运行这些命令时,请在命令中将EdcPolicySetPrincipalEntity替换为EdcPolicySetPrincipalEnt

Select * from EdcPrincipalKeyEntity where principalid = '<principal_id>';

Select * from EdcLicenseEntity where publisherId = '<principal_id>';

Select * from EdcDocumentEntity where id in (Select documentid from EdcLicenseEntity where publisherId = '<principal_id>');

Select * from EdcRevokationEntity where licenseid in (Select id from EdcLicenseEntity where publisherId = '<principal_id>');

Select * from EdcMyPolicyListEntity where principalId = '<principal_id>';

Select * from edcpolicyentity where policyownerId = '<principal_id>';

Select * from edcpolicyxmlentity where policyidref in (Select id from edcpolicyentity where policyownerId = '<principal_id>');

Select * from edcpolicyarchiveentity where policyownerId = '<principal_id>';

Select * from edcpolicysetprincipalentity where principalId = '<principal_id>';

Select * from edcinviteduserentity where principalId = '<principal_id>';
注意

要从EdcAuditEntity表导出数据,请使用以EventSearchFilter作为参数的EventManager.exportEvents API,以根据principalIdpolicyIdlicenseId导出审核数据。

要获取系统中某个用户的完整数据,必须从用户管理数据库访问和导出数据。 有关更多信息,请参阅Forms用户管理:处理用户数据

删除用户数据

执行以下操作,以从数据库表中删除主体ID的文档安全数据。

  1. 关闭AEM Forms服务器。

  2. 运行以下数据库命令,从数据库表中删除主ID的数据,以确保文档安全。 在Delete命令中,将<principal_id>替换为要删除其数据的用户的主ID。

    Delete from EdcPrincipalKeyEntity where principalid = '<principal_id>';
    
    Delete from EdcMyPolicyListEntity where principalId = '<principal_id>';
    
    Delete from edcpolicyarchiveentity where policyownerId = '<principal_id>';
    
    Delete from edcpolicysetprincipalentity where principalId = '<principal_id>';
    
    Delete from edcinviteduserentity where principalId = '<principal_id>';
    
    注意

    要从EdcAuditEntity表中删除数据,请使用以EventSearchFilterlicenseId为参数的EventManager.deleteEvents API来删除基于principalIdpolicyId或的审核数据。

  3. 活动策略XML文件和归档策略XML文件分别存储在EdcPolicyXmlEntityEdcPolicyArchiveEntity数据库表中。 要从这些表中删除用户的数据,请执行以下操作:

    1. 打开EdcPolicyXMLEntityEdcPolicyArchiveEntity表中每行的XML blob,并提取XML文件。 XML文件与下面所示的文件类似。
    2. 编辑XML文件以删除主体ID的blob。
    3. 对另一个文件重复步骤1和2。
    注意

    必须在Principal标记中为主体ID删除完整的blob,否则策略XML可能已损坏或无法使用。

    <ns2:Principal PrincipalNameType="USER">
        <ns2:PrincipalDomain>OID</ns2:PrincipalDomain>
        <ns2:PrincipalName>56F33FEB-098A-1036-A651-00000A2A2656</ns2:PrincipalName>
    </ns2:Principal>
    </ns2:PolicyEntry>
        <ns2:Property PropertyName="isCertified">
            <ns2:PropertyValue xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xs="https://www.w3.org/2001/XMLSchema" xsi:type="xs:string">false</ns2:PropertyValue>
        </ns2:Property>
        <ns2:Property PropertyName="encryptionAlgorithm">
            <ns2:PropertyValue xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xs="https://www.w3.org/2001/XMLSchema" xsi:type="xs:string">AES128</ns2:PropertyValue>
        </ns2:Property>
        <ns2:Property PropertyName="AccessDeniedErrorMessage">
            <ns2:PropertyValue xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xs="https://www.w3.org/2001/XMLSchema" xsi:type="xs:string"></ns2:PropertyValue>
        </ns2:Property>
    <ns2:PolicyEntry>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.onlineOpen" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.copy" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.offlineOpen" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.accessible" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.editNotes" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.edit" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.fillAndSign" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.printHigh" Access="ALLOW"/>
    <ns2:Permission PermissionName="ns3:com.adobe.aps.pdf.printLow" Access="ALLOW"/>
    

    除了直接从EdcPolicyXmlEntity表中删除数据之外,还有另外两种方法可以实现此目的:

    使用管理控制台

    1. 以管理员身份登录Forms JEE管理控制台,其地址为: https://[server]:[port]/adminui。
    2. 导航到​服务>文档安全>策略集
    3. 打开策略集,并从策略中删除用户。

    使用文档安全网页

    具有创建个人策略权限的文档安全用户可以从其策略中删除用户数据。 为此,请执行以下操作:

    1. 具有个人策略的用户登录其文档安全网页: https://[server]:[port]/edc。
    2. 导航到​服务>文档安全>我的策略
    3. 打开策略并从策略中删除用户。
    注意

    在​服务>文档安全>我的策略​中,管理员可以使用管理控制台从其他用户的个人策略中搜索、访问和删除用户数据。

  4. 从用户管理数据库中删除主体ID的数据。 有关详细步骤,请参阅Forms用户管理 |处理用户数据

  5. 启动AEM Forms服务器。

在此页面上