category_name - Teradata Database - Teradata Vantage NewSQL Engine - category_name オプション、SET SESSION CONSTRAINT構文の文。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

constraint_nameに有効な1つ以上の既存の非階層カテゴリ名のセット。

ユーザーに割り当てられているすべての割り当て済みカテゴリ(非階層)制約値が自動的にアクティブであるため、SET CONSTRAINTは制約の割り当て済みカテゴリのサブセットを指定する場合にのみ有用です。

例えば、ユーザーBOBに3つの国コードがあり、自分の国に関するデータを表示する権限のみ持っているユーザーCARLに利用可能にするデータを含むテーブルをロードするとします。ユーザーBOBがSET SESSION CONSTRAINTを使用して、データのロード時にユーザーCARLの国コードのみ指定すれば、Carlはそのデータに後でアクセスすることができます。

例: セッションの行レベル セキュリティ カテゴリの変更

ユーザーarn_andersonがログオンします。その結果のセッションには、unclassifiedレベルとnatoカテゴリの行レベル セキュリティ ラベルが付きます。セッションが確立されるとすぐに、arn_andersonはカテゴリをnorwayに変更します。

     SET SESSION CONSTRAINT = classification_category (norway) ;

SET SESSION CONSTRAINTリクエストの実行後に、セッションのラベルは、unclassifiednorwayのラベルになります。

後に、arn_andersonが開始したセッションで、inventoryの3つの行のいずれかを読み取るとします。その場合、ユーザーは以下のSELECTリクエストを実行します。

     SELECT *
     FROM inventory
     WHERE col_1=12122;

このリクエストの結果はゼロ行になり、「F」という値が返されます。つまり、ユーザーの資格情報がセキュリティ ポリシー検証に合格しなかったという意味の値です。したがって、問合わせに追加された制約述部の評価はFALSEになり、読み取りから行が除外されてしまいます。

このリクエストでTeradata Databaseから行が返されないのは、arn_andersonのレベルunclassifiedでは機密情報の行を読み取れないからであるか、そのラベルのカテゴリnorwayではnatoカテゴリの行を読み取れないからです。