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. お使いのオペレーティングシステムに対応するImageMagickインストールファイルをダウンロードします。

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

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

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

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

特定の使用例に応じてコマンドラインプロセスのステップを設定できます。AEMサーバーの/content/damにJPEG画像ファイルを追加するたびに、反転した画像とサムネール(140x100、48x48、319x319、1280x1280)を生成するには、次の手順を実行します。

  1. AEMサーバーで、ワークフローコンソール(https://[aem_server]:[Port]/workflow)に移動し、DAM Update Asset​ワークフローモデルを開きます。

  2. DAM更新アセット​ワークフローモデルから、EPSサムネール(ImageMagickが動作)​ステップを開きます。

  3. 引数」タブ​で、Mimeタイプ​リストにimage/jpegを追加します。

    mime_types_jpeg

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

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

  5. 生成されたレンディションを削除」および「Webレンディションを生成」フラグを選択します。

    select_flags

  6. Web に対応した画像」タブで、1280 x 1280 ピクセルというサイズでレンディションの詳細を指定します。さらに、「Mimetype」ボックスにi mage/jpeg​を指定します。

    web_enabled_image

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

    メモ

    convertコマンドは、Windowsのインストールに含まれるネイティブのconvertユーティリティと競合するので、特定のWindowsバージョン(Windows SEなど)では実行できない場合があります。 このような場合は、ImageMagick ユーティリティの完全パスを指定します。例えば、以下のように指定します。

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

  8. サムネールを処理​の手順を開き、MIMEタイプをスキップ​の下にMIMEタイプimage/jpegを追加します。

    skip_mime_types

  9. Web対応の画像」タブで、スキップリスト​の下にMIMEタイプimage/jpegを追加します。 「OK」をタップまたはクリックして、変更内容を保存します。

    web_enabled

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

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

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

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

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

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

  1. すべての画像ファイルが、ImageMagickに送信して処理する前に、サポートする画像ファイルタイプに対応する期待される"magic bytes"で始まることを確認してください。
  2. ポリシーファイルを使用して、脆弱なImageMagickコーダーを無効にします。 ImageMagickのグローバルポリシーは/etc/ImageMagickにあります。

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free