Solaris Trusted Extensions ラベルの管理

第 5 章 LOCAL DEFINITIONS のカスタマイズ

この章では、label_encodings ファイルの LOCAL DEFINITIONS セクションをカスタマイズする方法について説明します。この章の内容は次のとおりです。

LOCAL DEFINITIONS セクション

Sun は、政府支給の『コンパートメントモードワークステーションのラベル作成: エンコード形式』には定義されていない追加キーワードを提供します。Sun のキーワード拡張は LOCAL DEFINITIONS セクションにあります。


*
* Local site definitions and locally configurable options.
*

LOCAL DEFINITIONS:

Classification Name= Classification;
Compartments Name= Sensitivity;

Default User Sensitivity Label= PUB;
Default User Clearance= CNF NEED TO KNOW;

COLOR NAMES:

     label= Admin_Low;           color= #bdbdbd;

     label= PUB;                 color= blue violet;
     label= SBX PLAYGROUND;      color= yellow;
     label= CNF;                 color= navy blue;
     label= CNF : INTERNAL USE ONLY;  color= blue;
     label= CNF : NEED TO KNOW;  color= #00bfff;
     label= CNF : RESTRICTED;    color= #87ceff;

     label= Admin_High;          color= #636363;

*

* End of local site definitions
*

LOCAL DEFINITIONS セクションの内容

セキュリティー管理者役割は、LOCAL DEFINITIONS セクションで次の指定を行えます。

Trusted Extensions が提供するラベルエンコーディングのキーワードに対する機能拡張についての詳細は、label_encodings(4) のマニュアルページを参照してください。

ラベルビルダーのカラムヘッダーの変更

次の図は、Solaris 管理コンソールによって表示されるラベルビルダーのカラムヘッダー Classification および Category を示します。

図 5–1 ラベルビルダーのカラムヘッダー

図については本文で説明します。

カラムヘッダーを変更するには、「ラベルビルダーのカラムヘッダーに名前を付ける」を参照してください。

ラベルの色の指定

LOCAL DEFINITIONS セクションでは、COLOR NAMES キーワードに続いて、0 個以上の色の割り当てを行うことができます。label_encodings ファイルの COLOR NAMES セクションで格付けに対応する色を定義しないと、黒が使用されます。次の抜粋に色のデフォルト値を示します。


COLOR NAMES:

     label= Admin_Low;           color= #bdbdbd;

     label= PUB;                 color= blue violet;
     label= SBX PLAYGROUND;      color= yellow;
     label= CNF;                 color= navy blue;
     label= CNF : INTERNAL USE ONLY;  color= blue;
     label= CNF : NEED TO KNOW;  color= #00bfff;
     label= CNF : RESTRICTED;    color= #87ceff;

     label= Admin_High;          color= #636363;

ラベルおよびラベル内の語句への配色には、次の構文を使用します。


label= label-name;     color= color-name;
word= label-name;     color= color-name;

color-name の値は、テキストで表した色の名前または 16 進数で表した色の値です。色は、語句またはラベルに関連付けられます。指定されたラベル構成要素がラベルに含まれる場合は、ラベル構成要素に割り当てられている色が必ず背景色として表示されます。文字の補色の計算は、ウィンドウのソフトウェアによって行われます。

色の値については、「色の値」を参照してください。色の指定方法については、本書では完全には説明していません。詳細は、/usr/openwin/share/man ディレクトリにある X11(5) のマニュアルページを参照してください。さらに詳しくは、『X ウィンドウ・システム・ユーザ・ガイド』(ソフトバンククリエイティブ発行、1993) の「カラー指定」を参照してください。

色は、次の項で説明する順序規則に従ってラベル構成要素に割り当てられます。色を使用したデスクトップの例を図 5–2 に示します。PUBLICINTERNAL、および NTK_SALES のワークスペースボタンに、互いに異なり、標準のワークスペースボタンとも異なる色を使用しています。

図 5–2 COLOR NAMES による色のウィンドウラベル

図は、フロントパネル上の緑の Public ボタン、黄の Internal ボタン、および青の NTK_Sales ボタンを示しています。

色指定の順序

ラベルに使用される色は、次の規則に従って決定されます。

  1. 1 つまたは複数の色を指定したコンパートメント語句がラベルにあれば、最初の word= 値に関連付けられた色の値が使用される。

  2. 色に関連付けられたコンパートメント語句がラベルにない場合でも、ラベル名に一致するものがあれば、その指定した色が使用される。

  3. ラベル名に一致するものがない場合は、ラベルの格付けとして最初に指定した label= 値に関連付けられた色が使用される。

  4. 格付けに色が割り当てられていない場合は、同じ格付けの最初のラベルに割り当てられた色が使用される。


例 5–1 順序規則に従って割り当てられた色

この例では、システムの色定義は次のとおりです。


label= u;       color= green
label= c;       color= blue
label= S;       color= red;
word= B;        color= orange;
label= TS;      color= yellow;
label= TS SA;   color= khaki;

規則の結果、色は次のとおり表示されます。



例 5–2 色の割り当てがないラベルに割り当てられる色

この例は規則 4 を示しています。TS SATS 格付けを含む唯一のラベルであるので、ラベル TS の色表示はカーキです。TS SA の色表示はカーキに定義されています。


        label= u;       color= green
        label= c;       color= blue
        label= S;       color= red;
        word= B;        color= orange;
        label= TS SA;   color= khaki;

色の値

/usr/openwin/lib/rgb.txt データベースは、色の名前を赤、緑、および青の値に変換します。rgb.txt ファイルでは、サイトのラベルに使用する色の名前を参照できます。16 進数の色の値も使用できます。

色の値の主な要点を簡潔に説明すると、次のとおりです。

色名計画シートの例については、表 6–8 を参照してください。色の割り当てについては、「ラベルや語句に色を割り当てる」を参照してください。

Sun 拡張機能の変更 (作業マップ)

目的 

説明 

ユーザーに対するラベルと認可上限のデフォルトの変更 

「デフォルトのユーザーラベルを指定する」

ラベルの色の指定 

「ラベルや語句に色を割り当てる」

ラベルビルダーのヘッダーのカスタマイズ 

「ラベルビルダーのカラムヘッダーに名前を付ける」

Procedureデフォルトのユーザーラベルを指定する

始める前に

大域ゾーンでセキュリティー管理者役割になります。

  1. label_encodings ファイルを編集します。

    「エンコーディングの編集 (Edit Encodings)」アクションを使用します。詳細は、label_encodings ファイルを作成する」を参照してください。

  2. LOCAL DEFINITIONS セクションで、Default User Sensitivity Label で始まる行を探します。


    Default User Sensitivity Label= u;
    Default User Clearance= c;
  3. 機密ラベルを目的の最下位ユーザーラベルに置き換えます。

    次の例では、新しい最下位ラベル c が示されます。


    Default User Sensitivity Label= c;
    
  4. 認可上限を目的のユーザー認可上限に置き換えます。

    次の例では、新しい認可上限 s が示されます。


    Default User Clearance= s;
    

Procedureラベルや語句に色を割り当てる

色化けを最小限にとどめるには、ほかのアプリケーションで指定したことが明らかな色の名前や 16 進数の色の値を使用します。色に関する留意として、デフォルトの色の値はメモリーの制限によって選択されています。

始める前に

大域ゾーンでセキュリティー管理者役割になります。

  1. label_encodings ファイルを編集します。

    「エンコーディングの編集 (Edit Encodings)」アクションを使用します。詳細は、label_encodings ファイルを作成する」を参照してください。

  2. COLOR NAMES セクションを見つけます。


    COLOR NAMES:
              label= Admin_Low;       color= #bdbdbd;
              ...
              label= Admin_High;      color= #636363;
  3. 格付けごとに色を定義します。

    この例では、格付け REGISTERED に赤が割り当てられます。格付け NEED_TO_KNOW SYSADM には青が割り当てられます。


    label= REGISTERED;  color= red;
    label= NEED TO KNOW; color= blue;
  4. (省略可能) 個々のコンパートメント語句の色を定義します。

    特定のコンパートメント語句を、それが関連している格付けとは無関係に区別するには、それらの語句に別の色を割り当てます。

    1. システムで使用可能な色の名前を決定します。

      名前は、ローカルの色データベースに定義されます。詳細は、/usr/openwin/share/man ディレクトリにある X11(5) のマニュアルページを参照してください。


      % grep Red /usr/openwin/lib/X11/rgb.txt
      ...
      255  69   0             OrangeRed
      219 112 147             PaleVioletRed
      ...
      139   0   0             DarkRed
    2. 色の名前を割り当てます。


      word= EMGT; color= OrangeRed;
  5. (省略可能) ラベルの色を定義します。

    この例では、色 MediumPurple4 がラベルに割り当てられます。


    label= NEED TO KNOW SYSADM; color= MediumPurple4;

Procedureラベルビルダーのカラムヘッダーに名前を付ける

始める前に

大域ゾーンでセキュリティー管理者役割になります。

  1. label_encodings ファイルを編集します。

    「エンコーディングの編集 (Edit Encodings)」アクションを使用します。詳細は、label_encodings ファイルを作成する」を参照してください。

  2. LOCAL DEFINITIONS セクションで「Classification Name」の行を探します。

    この行と次の行によって、ラベルビルダーのカラムヘッダーが定義されます。


    Classification Name= Classification;
    Compartments Name= Sensitivity;
  3. カラムヘッダーに別の名前を割り当てます。

    次の例は、label_encodings.simple のカラムヘッダーです。


    Classification Name= Classification;
    Compartments Name= Department;