今回は ACL の判定に関してまとめます。
ACL のエントリは、個人名やグループ、使用経験はないのですがワイルドカードで指定できます。そして、そのどれにも属さない場合にデフォルト(-Default-)の権限が適用されます。
実際にアプリケーションを運用していると、あるユーザが複数のグループに所属するなど、1ユーザに対して1ACL エントリではない場合に遭遇します。このような状況になったときに、ACL がどのように判定されるか、実験したのでレポートします。
検証環境と準備
まず、検証は ”User01 Training/Domino” ユーザが存在し、DJX で別名 "講習会 ユーザ01/ドミノ" が付与されている環境を使用しました。
次に検証用に3つのグループを作成しました。すべて、今回の検証で使用する ”User01 Training/Domino” ユーザ所属するグループで、GroupA と GroupA_Sub は階層化されたグループとなっています。
グループ名 | メンバー |
GroupA | GroupA_Sub |
GroupA_Sub | User01 Training/Domino |
GroupB | User01 Training/Domino |
確認用のアプリケーションには、[RoleA] と [RoleB] の2つのロールを準備しています。
ACL の判定方法
付与された ACL のレベルは、『アクセス制御リスト』ダイアログの [有効なアクセス権] ボタンを使用して確認しました。
この画面を使用すると、指定したユーザの ACL レベルやオプション、付与されたロールが確認できます。
ユーザ vs 別名
通常のユーザ名(英字)と DJX で付与した別名での優先度の確認です。
まずは、同じアクセスレベルで、ロールとオプションを変化させてみました。
ACL エントリ | レベル | ロール | その他 |
User01 Training/Domino | 作成者 | [RoleA] | 文書の作成 |
講習会 ユーザ01/ドミノ | 作成者 | [RoleB] | 文書の削除 |
結果は、次のように双方の設定を合算したようになっており、文書の作成と削除のオプション、両方のロールが付与された状態でした。
続いて、ACL レベルが違う場合です。
ACL エントリ | レベル | ロール | その他 |
User01 Training/Domino | 作成者 | [RoleA] | 文書の作成 |
講習会 ユーザ01/ドミノ | 編集者 | なし | 個人エージェントの作成 |
別名側の ACL を編集者に設定し、ロールは付与せず、別のオプションを選択してみました。その結果は次の通りでした。
ACL は権限が高いほうの”編集者”が付与されました。ロールやオプションは双方の設定が合算された状態となっています。
ユーザ vs グループ
続いてユーザ名とグループの優先度を確認します。
ACL エントリ | レベル | ロール | その他 |
User01 Training/Domino | 作成者 | [RoleA] | 文書の作成 |
GroupB | 作成者 | [RoleB] | 文書の削除 |
結果は次の通りとなり、ユーザの設定で権限が付与され、グループの設定は無視されているようです。
ためしに、GroupB の ACL を管理者に変更し、すべてのオプションとロールを付与してみましたが、結果は同じでした。
ユーザとグループで ACL 設定がかち合った場合、ユーザの設定が優先されるようです。
グループ vs グループ
次は、グループ同士の優先度の確認です。
ACL エントリ | レベル | ロール | その他 |
GroupA_Sub | 作成者 | [RoleA] [RoleB] | 文書の削除 |
GroupB | 管理者 | なし | 文書の削除なし |
結果は次の通りとなりました。ユーザ vs 別名と同様に合算されたような状態でした。
いろいろ検証した結果、階層化されたグループの影響もなく、グループとして設定されたすべてのエントリから、最大の ACL レベルを採用。オプションとロールは合算して付与されていることが確認できました。
まとめ
ここから先は冗長になるので、個人名 vs ワイルドカード、グループ vs ワイルドカードなどのレポートは割愛します。
検証の結果、ACL の優先度の決定は、次の順位で決定され、その順位の ACL 設定が有効となり、それ以下の順位の ACL エントリは無視されます。
ユーザ > グループ > ワイルドカード > デフォルト |
ユーザ別名やグループなど同じ順位で複数の有効なエントリがあった場合には、ACL レベルは高い方を採用し、オプションやロールはすべてのエントリを合算させた設定となります。
なお、今回の検証は、12.0.2 FP1 を使用して確認しました。以前同様の検証をしたのは、約 20 年前の R5 だったかと思います。もちろん結果は一切変わっていません。基本的な機能とは言え、Notes の互換性ってすごいですね。
0 件のコメント:
コメントを投稿