CREATE SECURITY LABEL ステートメント
CREATE SECURITY LABEL ステートメントは、セキュリティー・ラベルを定義します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が持つ特権には、SECADM 権限が含まれている必要があります。
構文
説明
- security-label-name
- セキュリティー・ラベルに名前を付けます。 名前は、セキュリティー・ポリシーで修飾する必要があり (SQLSTATE 42704)、このセキュリティー・ポリシーの既存のセキュリティー・ラベルを識別するものであってはなりません (SQLSTATE 42710)。
- COMPONENT component-name
- セキュリティー・ラベル・コンポーネントの名前を指定します。 コンポーネントがセキュリティー・ポリシー security-policy-name の一部でないと、エラーが戻されます (SQLSTATE 4274G)。 同じステートメント内でコンポーネントを 2 回指定すると、エラーが戻されます (SQLSTATE 42713)。
- string-constant,...
- セキュリティー・コンポーネントの有効エレメントを指定します。 有効エレメントとは、セキュリティー・コンポーネントの作成時に指定したものです。 このエレメントが無効の場合、エラーが戻されます (SQLSTATE 4274F)。
例
- 例 1: EMPLOYEESECLABEL というセキュリティー・ラベルを作成します。これは、DATA_ACCESS セキュリティー・ポリシーの一部であり、LEVEL コンポーネントに対してエレメント Top Secret をもち、COMPARTMENTS コンポーネントに対してエレメント Research および Analysis をもちます。
CREATE SECURITY LABEL DATA_ACCESS.EMPLOYEESECLABEL COMPONENT LEVEL 'Top Secret', COMPONENT COMPARTMENTS 'Research', 'Analysis' - 例 2: LEVEL コンポーネントに対してエレメント Top Secret をもち、COMPARTMENTS コンポーネントに対してエレメント Research を持つ EMPLOYEESECLABELREAD というセキュリティー・ラベルを作成します。
CREATE SECURITY LABEL DATA_ACCESS.EMPLOYEESECLABELREAD COMPONENT LEVEL 'Top Secret', COMPONENT COMPARTMENTS 'Research' - 例 3: COMPARTMENTS コンポーネントに対してエレメント Analysis をもち、LEVEL コンポーネントに対して NULL 値を持つ EMPLOYEESECLABELWRITE というセキュリティー・ラベルを作成します。DATA_ACCESS というセキュリティー・ポリシーが、例 1 および 2 で使用されるセキュリティー・ポリシーと同一であることを前提としています。
CREATE SECURITY LABEL DATA_ACCESS.EMPLOYEESECLABELWRITE COMPONENT COMPARTMENTS 'Analysis' - 例 4: BEGINNER というセキュリティー・ラベルを作成します。これは、既存の CLASSPOLICY セキュリティー・ポリシーの一部であり、TRUST コンポーネントに対してエレメント Trainee をもち、SECTIONS コンポーネントに対してエレメント Morning をもちます。
CREATE SECURITY LABEL CLASSPOLICY.BEGINNER COMPONENT TRUST 'Trainee', COMPONENT SECTIONS 'Morning'
