概要:
Strategyのオブジェクトについて、特定のユーザやグループへ対する「許可」を設定することが可能です。設定される許可のリストはアクセスコントロールリスト(Access Control List 、 以下ACL) と呼ばれます。
このナレッジでは、Strategy DeveloperからACLを変更する際の子オブジェクトへ対する以下の3つのオプションの挙動についてシンプルな例で説明します。
1.「すべての子オブジェクトの許可の変更を適用」
2. 「子のアクセスコントロールリストを上書き」
3. 「再帰的」
フォルダ構造の例:
このナレッジ内の例では次のように3層のフォルダツリーとします。
(上層:A 中間層:A1, A2 下層:A11, A21)
+ FolderA
- FolderA1
- FolderA11
- FolderA2
- FolderA21
ACL初期状態の例:
各フォルダのACLは説明がしやすいようにすべて下図の初期状態とします。

・初期状態の例
Administrator :オブジェクト:フルコントロール、子:フルコントロール
WebUser228 :オブジェクト:表示、子:表示
(補足)
画面下部、ACLの3つのオプションのチェックボックスはオブジェクトのプロパティを表示したタイミングではすべてがチェックオフの状態で表示されます (ACLの変更を適用する時にチェックして使用します)
オプション適用時の組み合わせ: 以下の4パターンとなります。(具体例は後述)
オプション例1: 1,2,3をチェック
✔すべての子オブジェクトの許可の変更を適用
✔子のアクセスコントロールリストを上書き
✔再帰的
オプション例2: 1,2をチェック
✔すべての子オブジェクトの許可の変更を適用
✔子のアクセスコントロールリストを上書き
再帰的
オプション例3: 1のみをチェック
✔すべての子オブジェクトの許可の変更を適用
子のアクセスコントロールリストを上書き
再帰的
オプション例4: 1,3をチェック
✔すべての子オブジェクトの許可の変更を適用
子のアクセスコントロールリストを上書き
✔再帰的
以下に各パターンの具体例を示します。
・オプション例1:
<オプション> 1,2,3すべてをチェック
<初期状態からの変更箇所> WebUser228 :オブジェクト:フルコントロール、子:フルコントロール
(FolderA のプロパティ)

<「OK」ボタンで適用後の結果>
ACLが上図と同じになるフォルダは次の通り、
A、A1、A11、A2、A21の全フォルダ (A11,A21は「再帰的」に該当)
+ FolderA ◯
- FolderA1 ◯
- FolderA11 ◯
- FolderA2 ◯
- FolderA21 ◯
・オプション例2
<オプション> 1,2をチェック
<初期状態からの変更箇所> WebUser228 :オブジェクト:フルコントロール、子:フルコントロール
(FolderA のプロパティ)

<「OK」ボタンで適用後の結果>
ACLが上図と同じになるフォルダは次の通り、
A、A1、A2、のフォルダ (「再帰的」がオフのため下層のA11、A21は対象外)
+ FolderA ◯
- FolderA1 ◯
- FolderA11 ✕
- FolderA2 ◯
- FolderA21 ✕
・オプション例3
<オプション> 1のみをチェック
<初期状態からの変更箇所1> 削除: WebUser228
<初期状態からの変更箇所2> 追加: WebUser315 :オブジェクト:表示、子:表示
(FolderA のプロパティ)

<「OK」ボタンで適用後の結果>
下図のように子オブジェクトの既存設定(初期状態の例)にWebUser315が追加されます
(FolderA1 のプロパティ )

ACLが上図と同じになるフォルダは次の通り、
A1、A2、のフォルダ(「再帰的」がオフのため下層のA11、A21は対象外)
+ FolderA ( 削除:WebUser228 追加::WebUser315)
- FolderA1 ◯
- FolderA11 ✕
- FolderA2 ◯
- FolderA21 ✕
(補足3-1)
FolderA (親フォルダ)のACLを子オブジェクトに完全な上書き(ACLが全て同じ状態)にしたくない場合は、本例のように子オブジェクトへの上書きするオプションは外した状態で適用します。
このように上書きするオプションがオフの場合、親のACLは子オブジェクトへマージ(結合) する挙動となります。但しマージについては、ACL変更が適用される場合と適用されない場合があるため挙動が複雑になります(マージの簡単な例について後述の補足3-2に挙げます)。そのため、ACLが複雑なパターンの場合はマージよりもオプション例1(又はオプション例2)を中心に活用してACL変更を計画するか、マージを行う場合には事前にテスト用フォルダを作成(又はコピーで複製) してそれをテストして適用結果を確認することが効果的な手順となります。
(補足3-2)
マージによるACLの適用可能・適用不可について基本的な例を挙げます。
[a] 子オブジェクトへACLが適用される例
→ACLがマージされる(結合して権限が拡大される)
a1. ACL追加: WebUser315 のACLを追加 (上図の変更箇所2の例と同様)
a2. ACL拡大: WebUser315 の「表示」を「変更」 or 「フルコントロール」へ変更
a3. ACL拡大: WebUser315 の「変更」を「フルコントロール」へ変更
[b] 子オブジェクトへACLが適用されない例
→ACLのマージの効果がない(結合しても権限の拡大がない)
b1. ACL削除: WebUser228 を削除 (上図の変更箇所1の例と同様)
b2. ACL縮小: WebUser315 の「フルコントロール」を「変更」 or 「表示」へ変更
b3. ACL縮小: WebUser315 の「変更」を「表示」へ変更
・オプション例4
オプション例3に追加で「再帰的」をチェック
<オプション> 1,3をチェック
<初期状態からの変更箇所1> 削除: WebUser228
<初期状態からの変更箇所2> 追加: WebUser315 :オブジェクト:表示、子:表示
(FolderA のプロパティ)

<「OK」ボタンで適用後の結果>
オプション例3と同じACL変更になるが「再帰的」により対象の子オブジェクトが拡大
(FolderA1 のプロパティ)

ACLが上図と同じになるフォルダは次の通り、
A1、A11、A2、A21のフォルダ (A11,A21は「再帰的」に該当)
+ FolderA ( 削除:WebUser228 追加::WebUser315)
- FolderA1 ◯
- FolderA11 ◯
- FolderA2 ◯
- FolderA21 ◯