ヘッドレスコンテンツの権限に関する考慮事項
ヘッドレス実装では、対処が必要なセキュリティおよび権限の領域がいくつかあります。権限とペルソナは、概ね、オーサーまたは パブリッシュ の AEM 環境に基づいていると考えることができます。各環境には、様々なペルソナが含まれており、ニーズも異なります。
オーサーサービスに関する考慮事項
オーサーサービスでは、内部ユーザーがコンテンツの作成、管理および公開を行います。権限は、コンテンツを管理する様々なペルソナを中心に展開されます。
グループレベルでの権限の管理
ベストプラクティスとして、権限は AEM のグループに設定してください。これらのグループはローカルグループとも呼ばれ、AEM オーサー環境内で管理できます。
グループメンバーシップを管理する最も簡単な方法は、Adobe Identity Management System(IMS)グループを使用し、IMS グループをローカル AEM グループに割り当てることです。
プロセスの概要は次のとおりです。
- Admin Console を使用して、IMS ユーザーを新規または既存の IMS ユーザーグループに追加します。
- ユーザーがログインすると、IMS グループは AEM と同期されます。
- IMS グループを AEM グループに割り当てます。
- AEM グループに権限を設定します。
- ユーザーは、AEM にログインして IMS で認証されると、AEM グループの権限を継承します。
AEM で グループ を管理するには、ツール/セキュリティ/グループに移動します。
AEM でグループの権限を管理するには、ツール/セキュリティ/権限に移動します。
DAM ユーザー
このコンテキストでは、「DAM」はデジタルアセット管理を表します。DAM ユーザーは AEM の標準グループで、デジタルアセットやコンテンツフラグメントを管理する「日常業務」ユーザーに使用できます。このグループは、コンテンツフラグメントや AEM Assets 内のその他すべてのファイルを表示、追加、更新、削除および 公開 する権限を提供します。
グループメンバーシップに IMS を使用する場合は、適切な IMS グループを DAM ユーザーグループのメンバーとして追加します。IMS グループのメンバーは、AEM 環境にログインする際に DAM ユーザーグループの権限を継承します。
DAM ユーザーグループのカスタマイズ
標準で用意されているグループの権限を直接変更しないことをお勧めします。代わりに、DAM ユーザーグループ権限に倣って独自のグループを作成し、さらにアクセスの範囲を AEM Assets 内の異なる フォルダー に制限することもできます。
権限をよりきめ細かく制御するには、AEM の 権限 コンソールを使用して、パスを /content/dam からより具体的なパス(例:/content/dam/mycontentfragments)に更新します。
このユーザーグループには、コンテンツフラグメントを作成および編集する権限を付与し、削除する権限は付与しない方が望ましい場合があります。削除の権限を除いて編集の権限を確認し割り当てる場合は、コンテンツフラグメント - 削除に関する考慮事項を参照してください。
モデルエディター
コンテンツフラグメントモデルを変更する権限は、管理者のみに付与するか、管理者権限を持つ 少数のユーザーから成るグループ に付与してください。コンテンツフラグメントモデルを変更すると、下流に対する多くの影響が生じます。
コンテンツフラグメントモデルを管理はするものの、完全な管理者アクセス権を持たないグループを作成する場合は、次のアクセス制御エントリを持つグループを作成できます。
/confjcr:read/conf/<config-name>/settings/dam/cfmrep:write、crx:replicateパブリッシュサービスの権限
パブリッシュサービスは「ライブ」環境と見なされ、通常は GraphQL API ユーザーがやり取りする相手になります。コンテンツは、オーサーサービスで編集および承認された後、パブリッシュサービスに公開されます。この場合、ヘッドレスアプリケーションは、GraphQL API を介してパブリッシュサービスから提供される承認済みコンテンツを消費します。
AEM パブリッシュサービスの GraphQL エンドポイントを介して公開されるコンテンツは、デフォルトで、未認証ユーザーを含むすべてのユーザーからアクセスできます。
コンテンツの権限
AEM の GraphQL API を使用して公開されるコンテンツは、アセットフォルダーに設定された閉じられたユーザーグループ(CUG)を使用して制限できます。これは、アセットフォルダーのコンテンツにアクセスできる AEM ユーザーグループ(およびそのメンバー)を指定するものです。
アセット CUG は次のように動作します。
- まず、フォルダーおよびサブフォルダーへのすべてのアクセスを拒否します。
- 次に、CUG のリストに含まれているすべての AEM ユーザーグループのフォルダーとサブフォルダーへの読み取りアクセスを許可します。
CUG を設定できるのは、GraphQL API を使用して公開されるコンテンツを含んだアセットフォルダーです。AEM パブリッシュ上のアセットフォルダーに対するアクセスは、ユーザーごとに直接制御するのではなく、ユーザーグループを介して制御する必要があります。GraphQL API で公開されるコンテンツを含んだアセットフォルダーへのアクセス権を付与する AEM ユーザーグループを作成(または再利用)します。
認証スキームの選択 publish-permissions-users
AEM ヘッドレス SDK では、次の 2 種類の認証をサポートしています。
- トークンベースの認証(単一のテクニカルアカウントにバインドされたサービス資格情報を使用)
- 基本認証(AEM ユーザーを使用)
GraphQL API へのアクセス
AEM パブリッシュサービスの GraphQL API エンドポイントに適した認証資格情報を提供する HTTP リクエストには、資格情報を持つユーザーだけが読み取りを許可されたコンテンツや、匿名でアクセス可能なコンテンツが含まれます。GraphQL API の他のコンシューマーは、CUG で保護されたフォルダー内のコンテンツを読み取ることができません。