16.20 - CONSTRAINT - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

1つまたは複数の行レベル セキュリティ制約をuser_nameに割り当てます。

ユーザーごとに割り当てることができるのは、最大6個の階層型制約と2個の非階層型制約までです。

行レベル セキュリティ制約の詳細は、CREATE CONSTRAINTを参照してください。

row_level_security_constraint_column_name
1つまたは複数の行レベル セキュリティ制約の名前。その後にuser_nameに割り当てられている、制約に有効な階層レベルまたは非階層カテゴリのリストが続きます。
  • 例の階層制約割り当て:
    CONSTRAINT = Classification_Level (Secret, Unclassified DEFAULT),
  • 例の非階層制約割り当て:
    CONSTRAINT = Classification_Country (US, UK, GER)
level_name
user_nameに割り当てられている、制約に有効な階層レベル。
DEFAULT
DEFAULTは階層制約のレベルの指定リストの1つの分類レベルに対して指定できます。ここで指定するレベルは、ユーザーのセッションが確立される際に、制約のデフォルト値になります。
リストされている分類レベルに対してDEFAULTを指定しない場合、リストされている最初のレベルがユーザーのデフォルトになります。
DEFAULTは、非階層型カテゴリ制約に有効ではありません。
category_name
user_nameに割り当てられている、制約に有効な非階層カテゴリ。
NULL

例: 行レベル セキュリティ制約を持つユーザーの作成

以下のSQLテキストでは、それぞれ1つ以上の行レベル セキュリティ制約を使用して、ユーザーuser_nameplsArnAndersonを作成します。

     CREATE USER  user_name 
 AS
     PERMANENT = 1e6, 
     PASSWORD=my_pwd 
,
     CONSTRAINT = classfication_level (TopSecret),
     CONSTRAINT = classification_category (UnitedStates);
     CREATE USER  pls 
 AS
     PERMANENT = 1e6, 
     PASSWORD=secret 
,
     CONSTRAINT = classification_level (Secret, Unclassified DEFAULT),
     CONSTRAINT = classification_category (UnitedStates);
     CREATE USER  ArnAnderson 
 AS
     PERMANENT = 1e6, 
     PASSWORD=hidden 
,
     CONSTRAINT = classification_category (Norway);

以下の一連のCREATE USERリクエストを使用して一連のユーザーを作成します。すべてのユーザーでgroup_membership制約を使用しますが、その制約のvalue_nameはそれぞれ異なります。

ユーザーsally_jonesは、人事課員として定義する唯一のユーザーです。

     CREATE USER  sally_jones 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Sal3446Jones 
,
     CONSTRAINT = group_membership (clerk),
     DEFAULT ROLE=personnel_clerk;

ユーザーbig_guyは重役です。

     CREATE USER  big_guy 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Big9999Guy 
,
     CONSTRAINT = group_membership (executive),
     DEFAULT ROLE=exec_role;

ユーザーal_managerは課長です。

     CREATE USER  al_manager 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Al9999Manager 
,
     CONSTRAINT = group_membership (manager),
     DEFAULT ROLE=mgr_role;

ユーザーtom_smithは監査役で、emprecordsテーブルを参照する必要があります。ただし、そのテーブルに対するそれ以外のアクセス権は与えません。

     CREATE USER  tom_smith 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Tom1111Smith 
,
     CONSTRAINT = group_membership (executive),
     DEFAULT ROLE=peon;

以下の一連のCREATE USERリクエストを使用して一連のユーザーを作成します。すべてのユーザーでgroup_membership制約を使用しますが、その制約のvalue_nameはそれぞれ異なります。

ユーザーsally_jonesは、人事課員として定義する唯一のユーザーです。

     CREATE USER  sally_jones 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Sal3446Jones 
,
     CONSTRAINT = group_membership (clerk),
     DEFAULT ROLE=personnel_clerk;

ユーザーbig_guyは重役です。

     CREATE USER  big_guy 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Big9999Guy 
,
     CONSTRAINT = group_membership (executive),
     DEFAULT ROLE=exec_role;

ユーザーal_managerは課長です。

     CREATE USER  al_manager 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Al9999Manager 
,
     CONSTRAINT = group_membership (manager),
     DEFAULT ROLE=mgr_role;

ユーザーtom_smithは監査役で、emprecordsテーブルを参照する必要があります。ただし、そのテーブルに対するそれ以外のアクセス権は与えません。

     CREATE USER  tom_smith 
 AS 
     PERMANENT = 1E6, 
     PASSWORD=Tom1111Smith 
,
     CONSTRAINT = group_membership (executive),
     DEFAULT ROLE=staff;