CREATE SECURITY POLICY ステートメント

CREATE SECURITY POLICY ステートメントは、セキュリティー・ポリシーを定義します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

このステートメントの許可 ID が持つ特権には、SECADM 権限が含まれている必要があります。

構文

Read syntax diagramSkip visual syntax diagramCREATE SECURITY POLICYsecurity-policy-name COMPONENTS ,component-name WITH DB2LBACRULESOVERRIDE NOT AUTHORIZED WRITE SECURITY LABELRESTRICT NOT AUTHORIZED WRITE SECURITY LABEL

説明

セキュリティー・ポリシー名
セキュリティー・ポリシーに名前を付けます。 これは、1 部構成の名前です。 名前は、現行のサーバー上の既存のセキュリティー・ポリシーを識別するものであってはなりません (SQLSTATE 42710)。
COMPONENTS component-name, ...
セキュリティー・ラベル・コンポーネントを識別します。 名前は、現在のサーバー上に既に存在するセキュリティー・ラベル・コンポーネントを識別するものでなければなりません (SQLSTATE 42704)。 セキュリティー・ポリシーに対して同じセキュリティー・コンポーネントを複数回指定してはなりません (SQLSTATE 42713)。 セキュリティー・ポリシーに指定できるセキュリティー・ラベル・コンポーネントの数は 16 個までです (SQLSTATE 54062)。
WITH DB2LBACRULES
このセキュリティー・ポリシーの一部をなすセキュリティー・ラベルどうしを比較するときに、どの規則セットを使用するかを指示します。 現在、DB2LBACRULES という 1 つの規則セットしかありません。
OVERRIDE NOT AUTHORIZED WRITE SECURITY LABEL または RESTRICT NOT AUTHORIZED WRITE SECURITY LABEL
このセキュリティー・ポリシーで保護されている表に対して発行された INSERT ステートメントまたは UPDATE ステートメント内に明示的に指定されているセキュリティー・ラベルを書き込む許可をユーザーが持たない場合に取る処置を指定します。 ユーザーのセキュリティー・ラベルおよび免除資格情報によって、明示的に指定されたセキュリティー・ラベルを書き込むユーザー許可が判別されます。 デフォルトは OVERRIDE NOT AUTHORIZED WRITE SECURITY LABEL です。
OVERRIDE NOT AUTHORIZED WRITE SECURITY LABEL
挿入または更新の操作での書き込みアクセスに対して、明示的に指定されているセキュリティー・ラベルではなく、ユーザーのセキュリティー・ラベルの値を使用することを指定します。
RESTRICT NOT AUTHORIZED WRITE SECURITY LABEL
INSERT または UPDATE ステートメント内に置かれている明示的に指定されたセキュリティー・ラベルの書き込みをユーザーが許可されていない場合、挿入または更新の操作が失敗することを指示します (SQLSTATE 42519)。

  • DB2LBACRULES 規則セット: DB2LBACRULES は、以下の規則を含む事前定義された規則のセットです。DB2LBACREADARRAY、DB2LBACREADSET、DB2LBACREADTREE、 DB2LBACWRITEARRAY、DB2LBACWRITESET、DB2LBACWRITETREE。
  • グループおよびロールの権限は、セキュリティー・ポリシーが作成されるときに デフォルトでは考慮されません。 この動作を変更してそれらが考慮されるようにするには、 ALTER SECURITY POLICY ステートメントを使用します。

  • 例 1: DB2LBACRULES 規則セットを使用し、LEVEL、および COMPARTMENTS の 2 つのコンポーネントをこの順で持つ DATA_ACCESS という名前のセキュリティー・ポリシーを作成します。 両方のコンポーネントがすでに存在していると想定します。
       CREATE SECURITY POLICY DATA_ACCESS
         COMPONENTS LEVEL, COMPARTMENTS
         WITH DB2LBACRULES
  • 例 2: コンポーネント MEMBER および BADGE を持つ、寄贈という名前のセキュリティー・ポリシーを作成します。これらは既に存在していることを前提としています。
       CREATE SECURITY POLICY CONTRIBUTIONS
         COMPONENTS MEMBER, BADGE
         WITH DB2LBACRULES