認可範囲は、ユーザーのクラスに適用されるラベル範囲です。この範囲は、組織のセキュリティポリシーの一部として、セキュリティ管理者により承認されます。label_encodings ファイルには、次の 2 種類の認可範囲が定義されます。
システム認可範囲
ユーザー認可範囲
「システム認可範囲」は、管理者が使用する全機密ラベルと全情報ラベルのセットです。システム認可範囲には、ADMIN_HIGH と ADMIN_LOW の 2 種類があり、それぞれ label_encodings ファイルの規則で制約されています。システム認可範囲の規則は、システムが許可していないラベルの組み合わせを除外するためのものです。
次の図は、システム認可範囲として許可されているラベルが、規則によって制約される仕組みを示しています。
図 1-1 (a) は、格付け TS (「TOP SECRET (最高機密)」)、S (「SECRET (極秘)」)、C (「CONFIDENTIAL (マル秘)」)と、コンパートメント A、B の組み合わせ全種類を示しています。
図 1-1 (b) は、label_encodings ファイルの「REQUIRED COMBINATIONS」部分の規則の例と、その効果を示したものです。矢印が指しているのは規則によって除外されたラベルで、横線で削除されています。規則を表す構文「B A」は、B というコンパートメントを持つラベルには必ず A も含まれていなければならないことを示しています (ただし、コンパートメント A には、他のコンパートメントを組み合わせる必要はありません)。コンパートメント B には、A と組み合わされている状態だけが許可されているため、ラベル「TS B」、「S B」、「C B」はどれも正しい形式とみなされず、システム認可範囲から除外されます。
「ユーザー認可範囲」は、システム認可範囲内で 1 人のユーザーが潜在的にアクセスできる最も広範なラベルのセット、つまり、システム認可範囲のサブセットです。ここには、ADMIN_HIGH と ADMIN_LOW は含まれません。ユーザー認可範囲は、label_encodings ファイルの「ACCREDITATION RANGE」部分にある一連の規則によって、さらに細かく制約されます。ユーザー認可範囲の規則では、管理者だけに許可されたラベルの組み合わせは除外されます。次の図の例は、前の図の続きとして、「ACCREDITATION RANGE」部分に記述された 3 種類の規則が、どのようにユーザー認可範囲に反映されるかを示したものです。矢印が示す組み合わせが、この 3 種類の規則によって許可された正しい形式のラベルです。
図 1-2 に示すように、ユーザー認可範囲には ADMIN_HIGH と ADMIN_LOW は含まれません。格付け「TS」との組み合わせは、「TS B」を除き、すべて範囲に含まれています。「TS B」は、先のシステム認可範囲で、「REQUIRED COMBINATIONS」部分の「B A」という規則によってすでに除外されています (同様に、「S B」と「C B」も除外済み)。格付け「S」の組み合わせでは、「S A B」が唯一有効なものとして範囲に含まれています。また、格付け「C」の組み合わせは、「C A」を除くすべてが有効となっています (「C B」はシステム認可範囲の規則により除外済み)。