ALTER SECURITY LABEL COMPONENT ステートメント
ALTER SECURITY LABEL COMPONENT ステートメントは、 セキュリティー・ラベル・コンポーネントを変更します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が持つ特権には、SECADM 権限が含まれている必要があります。
構文
説明
- コンポーネント名
- 変更されるセキュリティー・ラベル・コンポーネントの名前を指定します。 名前の指定されたコンポーネントは、現行サーバーに存在するものでなければなりません (SQLSTATE 42704)。
- ADD ELEMENT
- セキュリティー・ラベル・コンポーネントに追加されるエレメントを指定します。 array-element-clause および tree-element-clause が指定されない場合、
エレメントはセット・コンポーネントに追加されます。
- ストリング定数
- セキュリティー・ラベル・コンポーネント用の一連の有効値に追加されるストリング定数値。 この値は、セキュリティー・ラベル・コンポーネント用の一連の有効値に含まれる 他のいずれかの値と同じであることはできません (SQLSTATE 42713)。
- BEFORE または AFTER
- 配列コンポーネントでは、セキュリティー・ラベル・コンポーネント用のエレメント値の順序付きセット内で、
エレメントが追加される位置を指定します。
- BEFORE
- 追加されるエレメントは、識別される既存のエレメントの直前にランク付けされます。
- AFTER
- 追加されるエレメントは、識別される既存のエレメントの直後にランク付けされます。 ストリング定数
- 配列コンポーネント内にある既存のエレメントのストリング定数値を指定します (SQLSTATE 42704)。
- ROOT または UNDER
- ツリー・コンポーネントでは、セキュリティー・ラベル・コンポーネント用のノード・エレメント値のツリー構造内で、
エレメントが追加される位置を指定します。
- ROOT
- 追加されるエレメントは、ツリーのルート・ノードであるとみなされます。
- UNDER ストリング定数
- 追加されるエレメントは、string-constant で識別されるエレメントの直接の子です。 string-constant 値は、
ツリー・コンポーネント内に存在するエレメントでなければなりません (SQLSTATE 42704)。
- OVER string-constant、...
- 追加されるエレメントは、string-constant 値のリストで識別されるすべてのエレメントの直接の子です。 それぞれの string-constant 値は、 ツリー・コンポーネント内に存在するエレメントでなければなりません (SQLSTATE 42704)。
ルール
- エレメントの名前中で以下のいずれの文字も使用できません (SQLSTATE 42601):
- 左括弧 - (
- 右括弧 - )
- コンマ - ,
- コロン - :
- エレメント名は、32 バイト以下でなければなりません (SQLSTATE 42622)。
- セキュリティー・ラベル・コンポーネントがセットまたはツリーである場合、 最大 64 個のエレメントをそのコンポーネントの一部とすることができます。
- コンポーネントが配列である場合、タイプが配列のセキュリティー・ラベル・コンポーネントを作成するときに指定できるエレメントの総数 (65 535) と、エレメントの総数が一致する配列に到達できることもできないこともあります。 データベース・マネージャーは、新しいエレメントが追加されるインターバル内から、 エンコード値を新しいエレメントに割り当てます。 エレメントを配列コンポーネントに追加するときに従うパターンに応じて、 特定のインターバル内で割り当て可能な値の数は、 複数のエレメントがそのインターバル内に挿入された場合にはすぐに使い果たされることがあります。
- BEFORE および AFTER を指定するのは、配列のセキュリティー・ラベル・コンポーネントだけです (SQLSTATE 42613)。
- ROOT および UNDER を指定するのは、ツリーのセキュリティー・ラベル・コンポーネントだけです (SQLSTATE 42613)。
注
- セット・コンポーネントでは、セット内のエレメントに順序はありません。
例
- 例 1: エレメント「High classified」を、エレメント「Secret」および「Classified」の
間の LEVEL セキュリティー・ラベル配列コンポーネントに追加します。
ALTER SECURITY LABEL COMPONENT LEVEL ADD ELEMENT 'High classified' BEFORE 'Classified'
- 例 2: エレメント
「Funding」を COMPARTMENTS セキュリティー・ラベルのセット・コンポーネントに追加します。
ALTER SECURITY LABEL COMPONENT COMPARTMENTS ADD ELEMENT 'Funding'
- 例 3: エレメント「ENGINE」および「TOOLS」を、
GROUPS セキュリティー・ラベルの配列コンポーネントに追加します。 以下の図は、これらの新しいエレメントが配置される場所を示しています。
PROJECT ________|________ | | ENGINE TOOLS ________|________ | | TEST DEVELOPMENT ______|______ | | CURRENT FIELD ALTER SECURITY LABEL COMPONENT GROUPS ADD ELEMENT 'TOOLS' UNDER 'PROJECT' ALTER SECURITY LABEL COMPONENT GROUPS ADD ELEMENT 'ENGINE' UNDER 'PROJECT' OVER 'TEST', 'DEVELOPMENT'