特殊な管理 > データセキュリティの確保 > セキュリティラベルと免除承諾 > セキュリティラベルの管理 > セキュリティラベルと値の無効化
  
セキュリティラベルと値の無効化
セキュリティラベルまたは標準セキュリティラベル値が不要になった場合、セキュリティラベルのコンフィギュレーションファイルで無効にする必要があります。無効にされたセキュリティラベルとセキュリティラベルの値は、ラベルまたは値が削除されるまではそのまま適用されます。
無効にしたセキュリティラベルは
オブジェクト新規作成ウィンドウに表示されません。
「セキュリティラベルを編集」ウィンドウの「オブジェクトリスト」テーブルの列として表示されます。標準セキュリティラベルでは、カレントの Null 以外の値と Null 値のみが表示され、Null 値のみを選択できます。カスタムセキュリティラベルでは、カレントの Null 以外の値と空白の値のみが表示され、空白の値のみを選択できます。ラベルに Null 値を設定した後は、無効にしたラベルの列を編集できなくなります。
無効にした標準セキュリティラベル値は、次の特徴を持ちます。
オブジェクト新規作成ウィンドウでセキュリティラベルに選択可能な値のリストに表示されません。
セキュリティラベルのカレント値である場合にのみ、既存のオブジェクトの「セキュリティラベルを編集」ウィンドウに表示されます。ラベル値を変更すると、無効になった値は表示されず、選択できなくなります。
セキュリティラベルまたはラベル値の無効化
セキュリティラベルまたは標準セキュリティラベル値を無効にするには、次の手順に従います。
1. セキュリティラベルのコンフィギュレーションファイルで、セキュリティラベルまたは標準セキュリティラベル値を無効に設定します。
セキュリティラベルの場合、次の例に示すように、SecurityLabel タグまたは CustomSecurityLabel タグのパラメータ enabledtrue から false に変更します。
<SecurityLabel name="EXPORT_CONTROL" enabled="false">
標準セキュリティラベル値の場合、次の例に示すように、enabled タグのパラメータ SecurityLabelValuetrue から false に変更します。
<SecurityLabelValue name="UNK" enabled="false">
2. 無効にしたセキュリティラベルまたはセキュリティラベル値を指定しているオブジェクト初期化規則を変更または除去します。
3. 設定変更を有効にするため、メソッドサーバーを再起動します。
* 
個々のセキュリティラベルをカスタムテーブルビューのオプション列として設定可能にした場合、無効にしたセキュリティラベルを各自のテーブルビューに列として追加したユーザーは、無効にしたセキュリティラベルの列を各自のテーブルビューから除去する必要があります。ユーザーが列を除去しなかった場合、セキュリティラベルの表示名ではなく内部名が表示されます。オプションの設定の詳細については、ステップ 17: 個々のセキュリティラベルをテーブルビューに表示する - 任意を参照してください。
無効にしたセキュリティラベルまたはラベル値の除去
セキュリティラベルまたは標準セキュリティラベル値を無効にするだけでなく、セキュリティラベルのコンフィギュレーションファイルから完全に除去する場合、それらすべてのセキュリティラベルまたは標準セキュリティラベル値を、オブジェクト初期化規則、プロジェクトまたはプログラムのテンプレート、ロードファイル、インポートファイルなどのあらゆる場所から先に除去しておく必要があります。あるオブジェクトのセキュリティラベルの設定に、セキュリティラベルのコンフィギュレーションファイルにないラベルまたは標準セキュリティラベル値が含まれている場合、そのオブジェクトにアクセスすると必ず例外が発生します。
使用されているセキュリティラベルを除去するには、各セキュリティラベルを Null 値に変更します。
使用されているセキュリティラベル値を除去するには、各ラベル値を、セキュリティラベルの Null 値、または有効なままにするラベル値に変更します。
セキュリティラベルが適用されているオブジェクトに設定されているセキュリティラベルまたはラベル値がすべての場所から除去されたことを確認するには、データベースを照会します。たとえば、次の SQL クエリーを実行できます。
セキュリティラベル:
SELECT classnameA2A2, idA2A2, securityLabels FROM <TABLE_NAME> WHERE
securityLabels LIKE '%<SECURITY_LABEL_NAME>%';
セキュリティラベル値:
SELECT classnameA2A2, idA2A2, securityLabels FROM <TABLE_NAME> WHERE
securityLabels LIKE '%<SECURITY_LABEL_VALUE>%';
ここで
<SECURITY_LABEL_NAME> は照会するセキュリティラベルの名前です。この値は、セキュリティラベルのコンフィギュレーションファイルで使用されているエレメント SecurityLabel の属性 name の値と一致していなければなりません。
<SECURITY_LABEL_VALUE> は照会するセキュリティラベル値の名前です。この値は、セキュリティラベルのコンフィギュレーションファイルで使用されているエレメント SecurityLabelValue の属性 name の値と一致していなければなりません。
<TABLE_NAME> はセキュリティラベルが適用されているオブジェクトタイプのテーブル名を表します。次の手順に従って、オブジェクトタイプに対応するテーブル名を調べます。
1. windchill シェル内から、次のコマンドを実行します。
infoReport <CLASS>
ここで、<CLASS> はコンフィギュレーションファイル <Windchill>/conf/exposedSecurityLabelObjects.xml で指定されているオブジェクトのクラス名です。たとえば、オブジェクトのクラス名が wt.doc.WTDocument の場合、次のコマンドを実行します。
infoReport wt.doc.WTDocument
2. テキストエディタでレポート出力を開きます。
3. レポート出力で、以下で始まる行を探します。
getBaseTableInfo().getTablename()
上記のデータベースクエリーで、<TABLE_NAME> の代わりにこのエントリの値をテーブル名として使用します。たとえば、wt.doc.WTDocument では次の行が出力されます。
getBaseTableInfo().getTablename() : WTDocument
* 
データベース内では、1 つのオブジェクトに適用されているすべてのセキュリティラベル名と値が 1 つの文字列に連結されています。照会でワイルドカード文字 % を使用することで、照会するセキュリティラベル名または値が含まれているデータベーステーブルの各行をサーチできます。
各オブジェクトタイプおよび削除する各セキュリティラベルまたはラベル値を指定してテーブルに対して SQL クエリーを実行します。
使用されているセキュリティラベル名または標準セキュリティラベル値をすべて除去した後、セキュリティラベルのコンフィギュレーションファイルから、セキュリティラベルまたは標準セキュリティラベル値を削除します。さらに、設定時にセキュリティラベルまたは標準セキュリティラベル値を参照したリソース情報ファイルなどのファイルから、セキュリティラベルまたは標準セキュリティラベル値への参照をすべて除去する必要があります。この情報が指定されている各ファイルと場所については、セキュリティラベルの設定を参照してください。
セキュリティラベル機能の無効化
セキュリティラベル機能をグローバルに無効化できます。これには、セキュリティラベルのコンフィギュレーションファイルで SecurityLabelsConfiguration タグのパラメータ enabledtrue から false に変更し、メソッドサーバーを再起動します。既存のセキュリティラベルが設定されたままの状態で、機能を無効にすることができます。
* 
セキュリティラベル機能をグローバルに無効化した場合でも、メソッドサーバーを起動するためには、コンフィギュレーションファイルで各セキュリティラベルに指定されているリソースキーがファイル access.ModelRB.rbInfo に含まれている必要があります。既存のオブジェクトに設定されているセキュリティラベルと標準セキュリティラベル値がセキュリティラベルのコンフィギュレーションファイルに含まれていない場合、そのオブジェクトにアクセスすることはできません。セキュリティラベル機能が無効になっている場合、セキュリティラベルは適用されず、セキュリティラベルと免除承諾は Windchill ユーザーインタフェースで公開されません。