情報システムにおけるアクセスロールの組合せ設計
情報システムにおけるアクセス権限の組合せ設計は、システム管理者が様々なロールを定義する上で不可欠です。この問題では、特定の制約条件下で作成可能なロールの総数を、組合せ論の原理を用いて計算します。
組合せ論
情報システムにおけるアクセス権限の組合せ設計は、システム管理者が様々なロールを定義する上で不可欠です。この問題では、特定の制約条件下で作成可能なロールの総数を、組合せ論の原理を用いて計算します。
情報システムにおけるアクセスロールの組合せ設計
ある情報システムには、以下の6つの独立したセキュリティ権限があります。
{P1, P2, P3, P4, P5, P6}
システム管理者は、これらの権限を組み合わせて「ロール」を定義します。ロールは以下の要件を満たす必要があります。
- 1つのロールは、最低2つ、最大4つの異なる権限を含む。
- 権限
P1は、すべてのロールに必ず含まれる。 - 権限
P2とP3は、同時に同じロールに含まれることはできない。(どちらか一方、あるいは両方含まないことは許容されます。)
上記の条件を満たす異なるロールは何通り作成できますか?
解答を見る
この問題を解くために、与えられた条件を順に適用しながら可能な組合せを数えます。
ステップ1: P1 を必須とする条件の適用
すべてのロールは P1 を必ず含む必要があります。これは、P1 を選ぶことは既に決定されており、残りの権限 {P2, P3, P4, P5, P6} の中から選択することになります。残りの権限は5つです。
ステップ2: ロールのサイズ条件の適用
ロールは最低2つ、最大4つの異なる権限を含む必要があります。
P1 は既に含まれているため、残りの5つの権限の中から選ぶべき権限の数は、以下のようになります。
- ロールが合計2つの権限を持つ場合:
P1以外の権限を1つ選ぶ。 - ロールが合計3つの権限を持つ場合:
P1以外の権限を2つ選ぶ。 - ロールが合計4つの権限を持つ場合:
P1以外の権限を3つ選ぶ。
ステップ3: P2 と P3 の排他条件の適用
P2 と P3 は同時に同じロールに含まれることはできません。これを考慮して、残りの5つの権権限 {P2, P3, P4, P5, P6} から選ぶ数を計算します。この条件は以下の3つのケースに分けられます。
ケースA: P2 を含み、P3 を含まない
ケースB: P3 を含み、P2 を含まない
ケースC: P2 も P3 も含まない
残りの選択肢は {P4, P5, P6} の3つの権限です。
各ロールサイズごとの計算
I. ロールが合計2つの権限を持つ場合 ( P1 以外の権限を1つ選ぶ)
- ケースA (P2を含む):
P1とP2を含み、P3を含まない。残り1つの権限を選びますが、既に2つ選んでいるため、これ以上選ぶ権限はありません。このケースはロールサイズが2で完結します。- 組合せ:
P1,P2のみ。 (1通り)
- 組合せ:
- ケースB (P3を含む):
P1とP3を含み、P2を含まない。- 組合せ:
P1,P3のみ。 (1通り)
- 組合せ:
- ケースC (P2もP3も含まない):
P1を含み、P2,P3を含まない。残りの権限{P4, P5, P6}から1つ選ぶ。- 組合せ: C(3, 1) = 3通り
合計: 1 + 1 + 3 = 5通り
II. ロールが合計3つの権限を持つ場合 ( P1 以外の権限を2つ選ぶ)
- ケースA (P2を含む):
P1とP2を含み、P3を含まない。残りの権権限{P4, P5, P6}から1つ選ぶ。- 組合せ: C(3, 1) = 3通り
- ケースB (P3を含む):
P1とP3を含み、P2を含まない。残りの権権限{P4, P5, P6}から1つ選ぶ。- 組合せ: C(3, 1) = 3通り
- ケースC (P2もP3も含まない):
P1を含み、P2,P3を含まない。残りの権権限{P4, P5, P6}から2つ選ぶ。- 組合せ: C(3, 2) = 3通り
合計: 3 + 3 + 3 = 9通り
III. ロールが合計4つの権限を持つ場合 ( P1 以外の権限を3つ選ぶ)
- ケースA (P2を含む):
P1とP2を含み、P3を含まない。残りの権権限{P4, P5, P6}から2つ選ぶ。- 組合せ: C(3, 2) = 3通り
- ケースB (P3を含む):
P1とP3を含み、P2を含まない。残りの権権限{P4, P5, P6}から2つ選ぶ。- 組合せ: C(3, 2) = 3通り
- ケースC (P2もP3も含まない):
P1を含み、P2,P3を含まない。残りの権権限{P4, P5, P6}から3つ選ぶ。- 組合せ: C(3, 3) = 1通り
合計: 3 + 3 + 1 = 7通り
最終結果 すべてのケースを合計します。 総ロール数 = (ロールサイズ2の合計) + (ロールサイズ3の合計) + (ロールサイズ4の合計) 総ロール数 = 5 + 9 + 7 = 21通り
したがって、上記の条件を満たす異なるロールは21通り作成できます。