Contentfulでユーザーに複数ロールを付与する場合の優先順位

Contentfulでユーザーに複数ロールを付与する場合の優先順位

2024.07.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

CMSのContentfulでは、ユーザーに細かくロールを付与することで、ダッシュボードにおける各種操作や、APIへのリクエストにおける権限を制御することができます。

1ユーザーには複数のロールを付与することができますが、各ロール間での同一アクションに対する許可/拒否が矛盾/重複する場合、どのような優先順位でそれらが適用されるかを調べてみました。

先に結論。

明示的な「拒否」 > 明示的な「許可」 > 暗黙的な「拒否」

という優先度です。

詳しく。

まず前提として、Contentfulのロール(カスタムロール含む)では 明示的に許可されていないアクションは全て拒否 されます。

あるロールに Action: [記事の編集] を許可したい場合、それらを明示的に許可する必要があります。

一方で、特定のアクションに対して明示的に「拒否」を設定することもできます。通常これは過剰な設定になりますが、複数ロールを付与したい場合は有効です。

■ケース1. いずれかのロールで明示的に「拒否」されている

例えば Action: [記事の編集] に対して下記2つのロールがあるとする

  • ロールA: 「許可」
  • ロールB: 「拒否」

→ A, B を同一ユーザーに付与した場合、[編集]への「拒否」が優先される

■ケース2. いずれかのロールで明示的に「許可」されている

  • ロールA: 「許可」
  • ロールB: 「編集に明示的な許可を付与していない」が「拒否もしていない」

→ この場合 [編集] は「許可」される(= 明示的な「許可」は暗黙的な「拒否」に優先する)

参考


「AI×SaaSで加速するWeb制作」ウェビナー開催

60分でわかる、Contentful・Cloudinary・v0・Vercelの連携によるWeb制作ワークフロー。
アイデアを即座に形にする 新しい仕組みを 豊富な実践デモ を交えながら解説します。開発のスピードアップ、リソース最適化、コスト削減を実現したい方は必見です。

AI×SaaSで加速するWeb制作ウェビナー

とりあえず申し込む



SaaS導入支援はクラスメソッドに!

クラスメソッドでは Contentful・Cloudinary・v0・Vercel など各種SaaS製品 の導入支援もしております。
具体的に課題をお知らせいただければ、適した商材のご提案も可能です。製品の詳細や支援の内容についてお気軽にお問い合わせください。

クラスメソッドに相談する

この記事をシェアする

関連記事