Document Security | 处理用户数据 document-security-handling-user-data
AEM Forms document security允许您创建、存储预定义的安全设置,并将其应用于您的文档。 它确保只有授权用户才能使用文档。 您可以使用策略保护文档。 策略是包含安全设置和授权用户列表的信息的集合。 您可以将策略应用到一个或多个文档,并授权在AEM Forms JEE用户管理中添加的用户。
用户数据和数据存储 user-data-and-data-stores
Document Security将与受保护文档相关的策略和数据(包括数据库中的用户数据)存储在数据库中,例如My Sql、Oracle®MS®SQL Server和IBM® DB2。 此外,策略中授权用户的数据存储在用户管理中。 有关用户管理中存储的数据的信息,请参阅Forms用户管理:处理用户数据。
下表映射了Document Security在数据库表中组织数据的方式。
访问和删除用户数据 access-and-delete-user-data
您可以访问和导出数据库中用户的文档安全数据,如有必要,可以永久删除这些数据。
要从数据库中导出或删除用户数据,必须使用数据库客户端连接到数据库,并根据用户的某些个人身份信息找出主体ID。 例如,要使用登录ID检索用户的主体ID,请在数据库上运行以下select
命令。
在select
命令中,将<user_login_id>
替换为要从EdcPrincipalUserEntity
数据库表中检索其主体ID的用户的登录ID。
select refprincipalid from EdcPrincipalUserEntity where uidstring = <user_login_id>
一旦知道了承担者ID,就可以导出或删除用户数据。
导出用户数据 export-user-data
运行以下数据库命令,以便从数据库表中导出主体ID的用户数据。 在select
命令中,将<principal_id>
替换为您要导出其数据的用户的主体ID。
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用户管理:处理用户数据。
删除用户数据 delete-user-data
执行以下操作以从数据库表中删除主体ID的Document Security数据。
-
关闭AEM Forms服务器。
-
运行以下数据库命令,以便从数据库表中删除主体ID的数据,以实现Document Security。 在
Delete
命令中,将<principal_id>
替换为要删除其数据的用户的主体ID。code language-sql 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>';
note note NOTE 要从 EdcAuditEntity
表中删除数据,请使用采用EventSearchFilter作为参数的EventManager.deleteEvents API来删除基于principalId
、policyId
或licenseId
的审核数据。 -
活动和归档策略XML文件分别存储在
EdcPolicyXmlEntity
和EdcPolicyArchiveEntity
数据库表中。 要从这些表中删除用户的数据,请执行以下操作:- 打开
EdcPolicyXMLEntity
或EdcPolicyArchiveEntity
表中每一行的XML Blob并提取XML文件。 XML文件类似于下面显示的XML文件。 - 编辑XML文件,以便删除主体ID的blob。
- 对另一个文件重复步骤1和2。
note note NOTE 删除主体ID的 Principal
标记中的完整blob,否则策略XML可能会损坏或不可用。code language-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
表中删除数据之外,还可以通过两种方式实现这一点:使用管理控制台
- 以管理员身份登录到https://[server]:[port]/adminui上的Forms JEE管理控制台。
- 导航到 服务> Document Security >策略集。
- 打开策略集并从策略中删除用户。
使用Document Security网页
有权创建个人策略的Document Security用户可以从其策略中删除用户数据。 为此,请执行以下操作:
- 具有个人策略的用户登录到位于https://[server]:[port]/edc的Document Security网页。
- 导航到 服务> Document Security >我的策略。
- 打开策略并从策略中删除用户。
note note NOTE 管理员可以使用管理控制台在 服务> Document Security >我的策略 中搜索、访问和删除其他用户个人策略中的用户数据。 - 打开
-
从用户管理数据库中删除主体ID的数据。 有关详细步骤,请参阅Forms用户管理 | 正在处理用户数据。
-
启动AEM Forms服务器。