ユーザー・ロール・権限

MintJams CMS のアクセス制御は、ユーザー・グループ・ロール(プリンシパル)と、ノードに付与する ACL で構成されます。アイデンティティは system ワークスペースでグローバルに管理され、すべてのワークスペースで共有されます。

管理する 2 つの方法

方法 用途
Identity Manager(アプリ) 画面からの対話的な管理。日常の作成・変更・パスワード
プロビジョニング(YAML) 宣言的・再現性のある初期投入。アプリ同梱の初期セット

両者は同じモデルに書き込むため、作成されたアカウントは区別されません。詳しくは「Identity Manager」と「プロビジョニング」を参照してください。

プリンシパル

  • ユーザー/home/users/{id}。対話的にサインインできるアカウント
  • グループ/home/groups/{id}。メンバーをまとめ、権限付与の単位にする
  • ロール/home/roles/{id}。権限のまとまり
  • サービスアカウント — パスワードを持たない非対話型のアイデンティティ。連携処理が runAs で利用し、サインインはできません

グループ・ロールは階層を持てます。メンバーシップには、直接の所属と(祖先を含む)実効的な所属があります。

権限(ACL)

ノードごとに、プリンシパルに対して権限を許可(allow) または拒否(deny) します。

acl:
  - group: commerce-operators
    privileges: jcr:read, jcr:write
    effect: allow
  - user: anonymous
    privileges: [jcr:all]
    effect: deny
  • 付与先は group / user / principal のいずれか 1 つ
  • privilegesjcr:readjcr:writejcr:all などの JCR 権限
  • effectallow または deny

ACL は、Content Browser のインスペクター(権限)からも、プロビジョニングの nodes からも設定できます。

運用のヒント

  • サービスアカウントには、通常のグループへ追加し、そのグループにノード権限を付与してアクセスを与えます。
  • パスワードの変更・リセットは Identity Manager から行います(プロビジョニングでは既存のパスワードは変更されません)。
  • 認証は SAML 2.0(SP / IdP をゼロ設定で同梱)に基づきます。