AEM Assets と連携するための ImageMagick のインストールと設定

ImageMagickは、ビットマップ画像を作成、編集、構成または変換するためのソフトウェアプラグインです。 PNG、JPEG、JPEG-2000、GIF、TIFF、DPX、EXR、WebP、Postscript、PDF、SVGなど、様々な形式(200以上)で画像の読み取りと書き込みを行うことができます。 ImageMagick は、画像のサイズ変更、反転、ミラー、回転、変形、剪断および変換をおこなう場合に使用します。ImageMagick を使用して、画像の色を調整したり、各種特殊効果を適用したりすることもできます。また、テキスト、直線、多角形、楕円および曲線を描画することもできます。

ImageMagick で画像を処理するには、コマンドラインから Adobe Experience Manager(AEM)メディアハンドラーを使用します。ImageMagick を使用して様々なファイル形式を取り扱うには、Assets のファイル形式に関するベストプラクティスを参照してください。すべてのサポートされるファイル形式については、Assets でサポートされるファイル形式を参照してください。

ImageMagick を使用して大きなファイルを処理する場合は、必要なメモリが通常より多くなること、IM ポリシーの変更が必要になる可能性があること、パフォーマンスへの全体的な影響を考慮してください。メモリ要件は、解像度、ビット深度、カラープロファイル、ファイル形式などの様々な要因によって異なります。ImageMagick を使用して非常に大きなファイルを処理する場合は、AEM サーバーのベンチマークを適切に実行してください。いくつかの有用なリソースを最後に紹介します。

メモ

Adobe Managed Services(AMS)でAEMを使用している場合は、大量のPSDまたはPSBファイルを処理する予定の場合は、Adobeカスタマーケアにお問い合わせください。 30000 x 23000ピクセルを超える高解像度のPSBファイルは、Experience Managerで処理されない場合があります。

ImageMagick のインストール

各種オペレーティングシステム向けに、様々なバージョンの ImageMagick インストールファイルが用意されています。オペレーティングシステムに適したバージョンを使用してください。

  1. Download the appropriate ImageMagick installation files for your operating system.

  2. AEM サーバーをホスティングしているディスクに ImageMagick をインストールするには、インストールファイルを起動します。

  3. path 環境変数を ImageMagick のインストールディレクトリに設定します。

  4. インストールが成功したかどうかを確認するには、identify -version コマンドを実行します。

コマンドラインプロセスのステップの設定

特定の使用例に応じてコマンドラインプロセスのステップを設定できます。Perform these steps to generate a flipped image and thumbnails (140x100, 48x48, 319x319, and 1280x1280) each time you add a JPEG image file to /content/dam on the AEM server:

  1. On the AEM server, go to the Workflow console (https://[aem_server]:[Port]/workflow) and open the DAM Update Asset workflow model.

  2. From the DAM Update Asset workflow model, open the EPS thumbnails (powered by ImageMagick) step.

  3. In the Arguments tab, add image/jpeg to the Mime Types list.

    mime_types_jpeg

  4. コマンド」ボックスに、次のコマンドを入力します。

    convert ./${filename} -flip ./${basename}.flipped.jpg

  5. Select the Delete Generated Rendition and Generate Web Rendition flags.

    select_flags

  6. Web に対応した画像」タブで、1280 x 1280 ピクセルというサイズでレンディションの詳細を指定します。In addition, specify i mage/jpeg in the Mimetype box.

    web_enabled_image

  7. OK」をタップまたはクリックして、変更内容を保存します。

    メモ

    The convert command may not run with certain Windows versions (for example Windows SE), because it conflicts with the native convert utility that is part of Windows installation. このような場合は、ImageMagick ユーティリティの完全パスを指定します。例えば、以下のように指定します。

    "C:\Program Files\ImageMagick-6.8.9-Q16\convert.exe" -define jpeg:size=319x319 ./${filename} -thumbnail 319x319 cq5dam.thumbnail.319.319.png

  8. Open the Process Thumbnails step, and add the MIME type image/jpeg under Skip Mime Types.

    skip_mime_types

  9. In the Web Enabled Image tab, add the MIME type image/jpeg under the Skip List. 「OK」をタップまたはクリックして、変更内容を保存します。

    web_enabled

  10. ワークフローを保存します。

  11. ImageMagick が画像を正しく処理できるかどうかを確認するには、JPG 画像を AEM Assets にアップロードします。その画像の反転画像とレンディションが生成されるかどうかを確認します。

セキュリティの脆弱性の緩和

ImageMagick を使用した画像の処理に関連して、セキュリティの脆弱性が複数存在します。例えば、ユーザーが送信した画像の処理は、リモートコード実行(RCE)のリスクを伴います。

さらに、様々な画像処理プラグインはImageMagickライブラリに依存しています。このライブラリには、PHPのimagick、Rubyのmagickとpaperclip、Node.jsのimagemagickなどが含まれますが、これに限りません。

ImageMagick または影響を受けるライブラリを使用する場合は、以下のタスクのどちらか(できれば両方)を実行して、既知の脆弱性を緩和することをお勧めします。

  1. Verify that all image files begin with the expected "magic bytes" corresponding to the image file types you support before sending them to ImageMagick for processing.
  2. ポリシーファイルを使用して、脆弱なImageMagickコーダーを無効にします。 The global policy for ImageMagick is found at /etc/ImageMagick.

このページ