文档安全 |处理用户数据

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

用户数据和数据存储

文档安全性存储与受保护文档相关的策略和数据,包括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> 其替换为要从数据库表检索其主体ID的用户的登录 EdcPrincipalUserEntity 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 数据,请使用 EventManager.exportEvents API,它将EventSearchFilter 作为参数来导出基于、 principalId policyId licenseId或的审核数据。

要获取系统中某个用户的完整数据,您必须访问并从用户管理数据库导出数据。 有关详细信息,请参阅 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 据,请使用 EventManager.deleteEvents API,它将 EventSearchFilter 作为参数来删除基于、、 principalId policyId licenseId或的审核数据。

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

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

    必须删除主体ID标记中 Principal 的完整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. 以管理员身份登录FormsJEE管理控制台,网址为​[https://] server [:port]/adminui。
    2. 导航到 服务>文档安全>策略集
    3. 打开策略集,并从策略中删除用户。

    使用文档安全网页

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

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

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

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

  5. 开始AEM Forms服务器。

在此页面上