AEM Forms文档安全允许您创建、存储和应用预定义的安全设置到文档。 它确保只有授权用户才能使用文档。 您可以使用策略保护文档。 策略是包含安全性设置和授权用户列表的信息集合。 您可以将策略应用于一个或多个文档,并授权在AEM FormsJEE用户管理中添加的用户。
文档安全性存储与受保护文档相关的策略和数据,包括My Sql、Oracle、MS SQL Server和IBM DB2等数据库中的用户数据。 此外,在用户管理中存储的策略中授权用户的数据。 有关用户管理中存储的数据的信息,请参见Forms用户管理:处理用户数据。
下表映射了文档安全如何在数据库表中组织数据。
数据库表 | 描述 |
EdcPrincipalKeyEntity |
存储有关用户的主键的信息。 这些键用于脱机文档安全工作流。 |
EdcAuditEntity |
存储有关审计事件的信息,如用户事件、文档事件和策略事件。 |
|
存储受保护文档的记录。 它存储每个受保护文档的许可证详细信息。 |
|
存储系统中创建的每个许可证的文档名称。 |
|
存储有关被保护文档撤销和恢复的信息。 |
EdcMyPolicyListEntity |
存储有关用户的信息,这些用户可以创建出现在“策略”页的“我的策略”选项卡下的个人策略。 |
EdcPolicyEntity |
存储有关策略的信息。 每个策略都与此表中的一行相对应。 |
EdcPolicyXmlEntity |
存储活动策略的XML文件。 策略XML 包含对与策略关联的用户的主ID的引用。 策略XML存储为Blob对象。 |
EdcPolicyArchiveEntity |
存储有关存档策略的信息。 存档的策略包含其作为Blob对象存储的策略XML。 |
|
存储策略集和用户之间的映射。 |
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,以根据principalId
、policyId
或licenseId
导出审计数据。
要获取系统中某个用户的完整数据,您必须访问并从用户管理数据库导出数据。 有关详细信息,请参阅Forms用户管理:处理用户数据。
请执行以下操作,从文档库表中删除主体ID的安全数据。
关闭AEM Forms服务器。
运行以下数据库命令,从数据库表中删除主体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
表中删除数据,请使用以EventSearchFilter为参数的EventManager.deleteEvents API,以删除基于principalId
、policyId
或licenseId
的审计数据。
活动策略XML文件和归档策略XML文件分别存储在EdcPolicyXmlEntity
和EdcPolicyArchiveEntity
数据库表中。 要从这些表中删除用户的数据,请执行以下操作:
EdcPolicyXMLEntity
或EdcPolicyArchiveEntity
表中每行的XML blob并提取XML文件。 XML文件与下面所示的文件类似。对于主体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
表中删除数据外,还有另外两种方法可以实现:
使用管理控制台
使用文档安全网页
文档安全用户有权创建个人策略,可以从策略中删除用户数据。 为此,请执行以下操作:
管理员可以使用管理控制台在服务>文档安全>我的策略中搜索、访问和删除其他用户的个人策略中的用户数据。
从用户管理数据库中删除主体ID的数据。 有关详细步骤,请参阅Forms用户管理 |处理用户数据。
开始AEM Forms服务器。