Adobe Experience ManagerのDAM フォルダーへのダイレクトブラウザーアクセスを制限する
Adobe Experience Manager(AEM)では、権限とDispatcher フィルターが明示的に制限されていない場合、DAM フォルダー内のアセットにブラウザーから直接アクセスできます。 この問題を解決するには、認証されたマイクロサービスが必要なアセットにアクセスできるようにしながら、保護されたDAM パスに対するリポジトリ権限とDispatcher アクセスを制限します。
説明 description
環境
Adobe Experience Manager(サポートされているすべてのバージョン)
問題/症状
- 特定のDAM フォルダーには、web ブラウザーから直接アクセスでき、URLを知っている人なら誰でもCSVやその他のアセットなどのファイルをダウンロードできます。
- 特定のDAM フォルダー内のファイル (例:
/content/dam/<folder>/example.csv)には、ブラウザーから直接アクセスしてダウンロードできます。 - 許可されたマイクロサービスが必要なアセットへのアクセスを保持する間、直接ブラウザーアクセスを制限する必要があります。
根本原因
権限とDispatcher フィルターが明示的に制限されていない場合、デフォルトでは、匿名ユーザーがDAM フォルダーにアクセスできる場合があります。
解決策 resolution
問題を解決するには、次の手順に従います。
-
AEM ACLを使用してリポジトリの権限を強化します。
- AEM オーサーで、 ツール に移動します
>セキュリティ>権限。 - 公開ユーザーまたは匿名ユーザーを表すグループの場合、機密性の高いDAM フォルダーへの読み取りアクセスを拒否します(例:
/content/dam/<folder>)。 - これらのフォルダーに対してのみ
jcr:read権限を持つテクニカルユーザーまたはサービスユーザーを作成します。 - アセットにアクセスする際に、このテクニカルユーザーとして認証するようにマイクロサービスを設定します。
- AEM オーサーで、 ツール に移動します
-
Dispatcherでダイレクト公開URLをブロックする:
-
Dispatcher設定で、保護するDAM パスの拒否ルールを追加します。 これらのルールは、グローバルな拒否の後、および広範な許可ルールの前に配置します。
-
次の設定例を使用します。
code language-none /filter { # Deny direct access to DAM subtree /0200 { /type "deny" /method "GET" /path "/content/dam//*" } }
これらのルールを使用すると、ブラウザーはダイレクトアクセスに対して
403または404個のエラーを受け取ります。一方、マイクロサービスは、異なるDispatcher ルールと技術的なユーザー資格情報を持つ内部vhostまたはAPI エンドポイントを使用できます。 -
-
解決策を確認します。
- ブラウザーを介して保護されたアセットにアクセスし、アクセスが拒否されていることを確認します。
- テクニカルユーザーで設定されたマイクロサービスが、必要なアセットに引き続きアクセスできることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles