ヘッドレスコンテンツの権限に関する考慮事項
ヘッドレス実装では、対処が必要なセキュリティおよび権限の領域がいくつかあります。権限とペルソナは、概ね、オーサー または パブリッシュ の 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
)に更新します。
このユーザーグループには、コンテンツフラグメントを作成および編集する権限を付与し、削除する権限は付与しない方が望ましい場合があります。削除の権限を除いて編集の権限を確認し割り当てる場合は、コンテンツフラグメント - 削除に関する考慮事項を参照してください。
モデルエディター
コンテンツフラグメントモデル を変更する権限は、管理者のみに付与するか、管理者権限を持つ 少数のユーザーから成るグループ に付与してください。コンテンツフラグメントモデルを変更すると、下流に対する多くの影響が生じます。
コンテンツフラグメントモデルを管理はするものの、完全な管理者アクセス権を持たないグループを作成する場合は、次のアクセス制御エントリを持つグループを作成できます。
/conf
jcr:read
/conf/<config-name>/settings/dam/cfm
rep: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 で保護されたフォルダー内のコンテンツを読み取ることができません。