エンドポイントのアクセスを制限

外部のファイアウォールを使用して、エンドユーザーによる AEM Forms パブリッシュファームへのアクセスを制限することができます。また、内部のファイアウォールを使用して、社内の他の要素(オーサーインスタンス、処理インスタンス、データベースなど)とパブリッシュファーム間のアクセスを制限することもできます。これらのファイアウォールでは、エンドユーザーや組織内の各要素に、AEM Forms の一部の URL に対するアクセスを許可することができます。

外部ファイアウォールを設定

外部のファイアウォールを設定することにより、AEM Forms の特定の URL に対して、インターネットへのアクセスを許可することができます。これらの URL にアクセスするには、アダプティブフォーム、HTML5 フォーム、Correspondence Management レターを入力するか(またはこれらを送信するか)、AEM Forms サーバーにログインする必要があります。

コンポーネントURI
アダプティブフォーム
  • /content/dam/formsanddocuments/AF_PATH/jcr:content
  • /etc/clientlibs/fd/
  • /content/forms/af/AF_PATH
  • /libs/granite/csrf/
HTML5 のフォーム
  • /content/forms/formsets/profiles/
Correspondence Management
  • /aem/forms/createcorrespondence*
Forms ポータル
  • /content/forms/portal/
  • /libs/cq/ui/widgets*
  • /libs/cq/security/
AEM Forms アプリケーション
  • /j_security_check*
  • /soap/services/AuthenticationManagerService

内部ファイアウォールを設定

内部のファイアウォールを設定することにより、特定の AEM Forms コンポーネント(オーサーインスタンス、処理インスタンス、データベースなど)に対して、パブリッシュファームや、トポロジーダイアグラムに記述されている他の内部コンポーネントとの通信を許可することができます。

ホストURI
パブリッシュファーム(パブリッシュノード)/bin/receive
処理サーバー/content/forms/fp/*
Forms Workflow のアドオンサーバー(JEE サーバー上の AEM Forms)/soap/sdk

リポジトリの権限とアクセス権限リスト(ACL)を設定

パブリッシュノード上で使用可能なアセットには、デフォルトですべてのユーザーがアクセスすることができます。すべてのアセットで、読み取り専用アクセス権が有効になっています。匿名アクセスを有効にするには、読み取り専用アクセス権が必要になります。フォームの表示アクセス権と送信アクセス権を認証済みユーザーだけに制限する場合は、共通グループを使用して、パブリッシュノード上で使用可能なアセットに対する読み取り専用アクセス権を、認証ユーザーに対してのみ付与します。以下に示す場所/ディレクトリには、保護する必要がある(認証済みユーザーに対する読み取り専用アクセス権が必要な)フォームアセットが保管されています。

  • /content/*
  • /etc.clientlibs/fd/*
  • /libs/fd/*

フォームデータの安全な操作

AEM Forms では、事前に定義された場所と一時フォルダーにデータが保管されます。これらのデータを保護して、データの不正使用を防ぐ必要があります。

一時フォルダーの定期的なクリーンアップを設定

添付ファイル、コンポーネントの検証、コンポーネントのプレビュー用のフォームを設定すると、対応するデータが /tmp/fd/ のパブリッシュノードに格納されます。これらのデータは定期的に削除されます。デフォルトのデータ削除ジョブを変更して、データの削除間隔を短くすることができます。スケジュール設定されているデータ削除ジョブを変更するには、AEM web コンソールを開いて AEM Forms 一時ストレージクリーニングタスクを起動し、Cron 式を変更します。

上記のシナリオの場合、認証済みユーザーのデータだけが保存されます。また、アクセス制御リスト(ACL)によってデータが保護されます。そのため、データの削除間隔を短くすると、データの保護をさらに強化することができます。

フォームポータル送信アクションによる保存データの保護

デフォルトでは、アダプティブフォームのフォームポータル送信アクションを実行すると、パブリッシュノードのローカルレポジトリにデータが保存されます。このデータは、/content/forms/fp に保存されます。パブリッシュインスタンスにデータを保存することはお勧めしません。

ストレージサービスを設定して、データをローカルのパブリッシュノード上に保存せずに、ネットワーク経由で処理クラスターに送信することができます。処理クラスターは、プライベートファイアウォールによって保護された安全な場所に配置されているため、データのセキュリティを確保することができます。

パブリッシュノードから処理サーバーにデータをポストするには、AEM DS 設定サービスに対する処理サーバーの資格情報を使用します。処理サーバーのリポジトリに対する読み取りアクセス権と書き込みアクセス権が設定された、権限が制限されている非管理者ユーザーの資格情報を使用します。詳しくは、ドラフトと送信に使用するストレージサービスの設定を参照してください。

フォームデータモデル(FDM)で使用するデータを保護

最低限必要な権限だけが設定されているユーザーアカウントを使用して、フォームデータモデル(FDM)のデータソースを設定します。管理者アカウントを使用すると、認証されていないユーザーがメタデータとスキーマエンティティにアクセスする可能性があります。
データを統合して、FDM サービス要求を認証する方法を提供することもできます。実行前と実行後の認証メカニズムを挿入して、サービス要求を検証することができます。サービス要求は、フォームの事前入力時、フォームの送信時、ルールを使用したサービスの呼び出し時に生成されます。

処理前認証機能: ​処理前認証機能を使用すると、要求を実行する前に、その要求の妥当性を検証することができます。入力、サービス、要求の詳細情報を使用して、要求の実行を許可または停止できます。実行を停止する場合は、データ統合例外として OPERATION_ACCESS_DENIED を返すことができます。また、クライアント要求を送信して実行する前に、変更することもできます。例えば、入力を変更して追加情報を指定することができます。

処理後認証機能: ​処理後認証機能を使用すると、実行結果を要求者に返す前に、その結果の検証と制御を行うことができます。また、実行結果に対するフィルタリングやプルーニング、追加データの挿入を行うこともできます。

ユーザーアクセスの制限

オーサーインスタンス、パブリッシュインスタンス、処理インスタンスに対して、それぞれ異なるユーザー役割を設定する必要があります。いずれのインスタンスについても、管理者の資格情報を使用して実行することは避けてください。

パブリッシュインスタンスで:

  • forms-users グループに属しているユーザーだけが、プレビュー、ドラフトの作成、フォームの送信を実行することができます。
  • cm-user-agent グループに属しているユーザーだけが、Correspondence Management のレターをプレビューすることができます。
  • 不要な匿名アクセスをすべて無効にしてください。

オーサーインスタンスの場合:

  • 各役割に対して、特定の権限が設定された異なる事前定義グループのセットが用意されています。ユーザーを各グループに割り当ててください。

    • forms-user グループのユーザー:

      • フォームの作成、入力、発行、送信を行うことができます。
      • XDP ベースのアダプティブフォームを作成することはできません。
      • アダプティブフォームのスクリプトを作成する権限がありません。
      • XDP のインポートや、XDP が含まれているパッケージのインポートはできません。
    • forms-power-user グループに属しているユーザーは、すべてのタイプのフォームについて、作成、入力、発行、送信を行うことができます。また、アダプティブフォームのスクリプトの作成と、XDP が含まれているパッケージのインポートも実行できます。

    • template-authors グループと template-power-user グループに属しているユーザーは、テンプレートのプレビューと作成を行うことができます。

    • fdm-authors グループに属しているユーザーは、フォームデータモデルの作成と変更を行うことができます。

    • cm-user-agent グループに属しているユーザーは、Correspondence Management レターの作成、プレビュー、発行を行うことができます。

    • workflow-editors グループに属しているユーザーは、インボックスアプリケーションとワークフローモデルを作成することができます。

作成者の処理について:

  • リモート保存および送信の使用例では、crx-repository の content/form/fp パスに対する読み取り、作成および変更権限を持つユーザーを作成します。
  • ユーザーによる AEM インボックスアプリケーションの使用を許可するには、そのユーザーを workflow-user グループに追加します。

AEM Forms 環境のイントラネット要素の保護

通常、処理クラスタと Forms ワークフローアドオン(JEE 上の AEM Forms)は、ファイアウォールの背後で稼働します。そのため、これらのクラスタとアドオンのセキュリティは確保されています。いくつかの手順を実行することにより、こうした環境のセキュリティをさらに強化することができます。

処理クラスターの保護

処理クラスターはオーサーモードで稼働しますが、開発作業で使用しないでください。また、一般ユーザーを、処理クラスターの content-authors グループや form-users グループに追加しないでください。

AEM のベストプラクティスの実施による AEM Forms 環境の保護

このドキュメントでは、AEM Forms 環境に固有の手順について説明します。デプロイメントを行う際に、ベースとなる AEM インストール環境のセキュリティを確保する必要があります。詳しい手順については、「AEM セキュリティチェックリスト」を参照してください。

Experience Manager