Document Security | ユーザーデータの処理

AEM Forms Document Security を使用すると、事前定義されたセキュリティ設定を作成および格納して、ドキュメントに適用できます。これにより、許可されたユーザーだけがドキュメントを使用できるように指定できます。ドキュメントを保護するには、ポリシーを使用します。ポリシーは、セキュリティ設定および許可されたユーザーの一覧を含む情報の集合です。1 つまたは複数のドキュメントにポリシーを適用して、AEM Forms JEE User Management に追加されるユーザーを許可します。

ユーザーデータとデータストア

Document Security は保護されたドキュメントに関するポリシーとデータを格納します。また、My Sql、Oracle、MS SQL Server、IBM DB2 などのデータベースに含まれるユーザーデータも格納します。また、ポリシーで許可されているユーザーに関するデータも Management に格納されます。User Management に格納されるデータについて詳しくは、Forms User Management | ユーザーデータの処理を参照してください。

次の表は、Document Security がデータベーステーブルでデータをどのようにまとめているかを示しています。

データベーステーブル 説明
EdcPrincipalKeyEntity ユーザーのプリンシパルキーに関する情報を格納します。このキーは、オフラインのドキュメントセキュリティワークフローで使用されます。
EdcAuditEntity ユーザーイベント、ドキュメントイベント、ポリシーイベントなどの監査イベントに関する情報を格納します。

EdcLicenseEntity

保護されたドキュメントのレコードを格納します。すべての保護されたドキュメントのライセンス詳細を格納します。

EdcDocumentEntity

システムで作成されたすべてのライセンスのドキュメント名を格納します。

EdcRevokationEntity

保護されたドキュメントの失効および復元に関する情報を格納します。
EdcMyPolicyListEntity 個人用ポリシーを作成できるユーザーに関する情報を格納します。この個人用ポリシーはポリシーページの「マイポリシー」タブに表示されます。
EdcPolicyEntity ポリシーに関する情報を格納します。各ポリシーは、この表の行に対応しています。
EdcPolicyXmlEntity アクティブなポリシーの XML ファイルを格納します。ポリシー XML には、ポリシーに関連付けられたユーザーのプリンシパル ID への参照が含まれます。ポリシー XML は、Blob オブジェクトとして格納されます。
EdcPolicyArchiveEntity アーカイブされたポリシーに関する情報を格納します。アーカイブされたポリシーには、Blob オブジェクトとして格納されたポリシー XML が含まれます。

EdcPolicySetPrincipalEntity

EdcPolicySetPrincipalEnt (Oracle データベースおよび MS SQL データベース)

ポリシーセットとユーザー間のマッピングを格納します。
EdcInvitedUserEntity 招待されたユーザーに関する情報を格納します。

ユーザーデータへのアクセスと削除

データベースにあるユーザーの Document Security データにアクセスしてデータを書き出すことができます。また、必要に応じてデータを永続的に削除できます。

データベースからユーザーデータを書き出すまたは削除するには、データベースクライアントを使用してデータベースに接続し、個人が特定できるユーザー情報に基づいてプリンシパル 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 データベースで実行する際に、コマンドの EdcPolicySetPrincipalEntityEdcPolicySetPrincipalEnt に置き換えます。

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 をパラメーターとして受け取り、principalIdpolicyIdlicenseId のいずれかに基づいて監査データを書き出します。

システム内のユーザーに関する完全なデータを取得するには、User Management データベースのデータにアクセスしてデータを書き出す必要があります。詳しくは、Forms User Management | ユーザーデータの処理を参照してください。

ユーザーデータの削除

特定のプリンシパル ID の Document Security データをデータベーステーブルから削除するには、次の手順を実行します。

  1. AEM Forms サーバーをシャットダウンします。

  2. 次のデータベースコマンドを実行して、目的のプリンシパル ID の データを Document Security のデータベーステーブルから削除します。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 をパラメーターとして受け取り、principalIdpolicyIdlicenseId のいずれかに基づいて監査データを削除します。

  3. アクティブなポリシー XML ファイルとアーカイブされたポリシー XML ファイルは、それぞれ EdcPolicyXmlEntity および EdcPolicyArchiveEntity データベーステーブルに格納されます。これらのテーブルからユーザーのデータを削除するには、次を実行します。

    1. EdcPolicyXMLEntity または EdcPolicyArchiveEntity テーブルの各行の XML Blob を開き、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 テーブルから直接データを削除する方法に加えて、次の 2 つの方法でもデータを削除することができます。

    管理コンソールの使用

    1. Forms JEE 管理コンソール(https://[server]:[port]/adminui)に管理者としてログインします。
    2. サービス/Document Security/ポリシーセット​に移動します。
    3. ポリシーセットを開き、ポリシーからユーザーを削除します。

    Document Security の Web ページの使用

    個人用ポリシーを作成できる権限を持つ Document Security ユーザーは、そのポリシーからユーザーデータを削除できます。この作業を行うには、以下の手順を実行します。

    1. 個人用ポリシーを持つユーザーが、Document Security Web ページ(https://[server]:[port]/edc)にログインします。
    2. サービス/Document Security/マイポリシー​に移動します。
    3. ポリシーを開き、ポリシーからユーザーを削除します。
    メモ

    管理者は、管理コンソールの​サービス/Document Security/マイポリシー​で、他のユーザーの個人用ポリシーからユーザーデータを検索、アクセスおよび削除できます。

  4. プリンシパル ID のデータを User Management のデータベースから削除します。詳しい手順については、Forms User Management | ユーザーデータの処理を参照してください。

  5. AEM Forms サーバーを開始します。

このページ