権限キーワードのルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ制御言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/sqd1591723147563.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1149
Product Category
Software
Teradata Vantage
権限キーワードの使用時には、以下のルールが適用されます。
  • 権限は任意の組み合わせで指定することができます。ただし、文を実行するユーザーは、それらを許可するための所定の権限を持っている必要があります。
  • 権限の受領者は、権限を与えられたオブジェクトに対して、対応する文を実行することができます。

    例えば、user_1がデータベースDbTestに対するCREATE TABLE権限を受領した場合、user_1は、新しいテーブルがDBTestに作成されるCREATE TABLE文を実行できます(宛先データベースは、user1のデフォルトのデータベースによって暗黙のうちに、または完全修飾のテーブル名によって明示的に解釈されます)。

  • CREATE DATASET SCHEMA権限は、データベース レベルでのみ付与できます。DROP DATASET SCHEMAおよびWITH DATASET SCHEMAは、データベース レベルまたは個別のスキーマ レベルで付与できます。
  • STATISTICS権限はCOLLECT STATISTICS文を許可します。STATISTICSは、表レベルおよびデータベース レベルで付与できます。
  • CHECKPOINT権限は、SQL文とホスト ユーティリティ(HUT)コマンドの実行を参照します。

    DUMPおよびRESTORE権限は、指定されたオブジェクトに対して実行される、対応するHUTコマンドを参照します。

    RESTOREも、HUTコマンドのROLLBACK、ROLLFORWARD、およびDELETE JOURNALの実行を参照します。

  • DATABASE、FUNCTION、MACRO、TABLE、VIEW、PROCEDURE、またはUSERのCREATE形式、およびDATABASE、USERのDROP形式は、データベースまたはユーザーに対してのみ許可されます。
  • DROP TABLEは、テーブルのALTER TABLE、CREATE INDEX、およびDROP INDEX文を許可します。
  • DROP MACRO、PROCEDURE、またはVIEWには、REPLACE MACRO、PROCEDURE、またはVIEWが含まれます。
  • DROP MACROおよびEXECUTEのみがマクロに対して許可されます。
  • ALTER PROCEDURE、DROP PROCEDURE、EXECUTE PROCEDURE、およびCREATE OWNER PROCEDUREのみがプロシージャに対して許可されます。
  • CREATE OWNER PROCEDUREは、明示的にユーザーまたはデータベースに付与しなければならない明示権限です。
  • ALTER PROCEDURE (外部形式)文を使用して、PROTECTED状態とNOT PROTECTED状態との間で外部プロシージャの実行状態を変更するには、ALTER EXTERNAL PROCEDUREが必要です。

    <Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。

  • UDFで使用できるのは、ALTER FUNCTION、DROP FUNCTION、およびEXECUTE FUNCTIONのみです。
  • UDFに対してALTER FUNCTION権限を付与することはできません。
  • DUMP、RESTORE、INDEX、およびCHECKPOINTは、ビューに対して許可されません。
  • DATABASE、FUNCTION、INDEX、GLOP、MACRO、PROCEDURE、PROFILE、ROLE、TABLE、USER、およびVIEWを指定すると、CREATEおよびDROPの権限が与えられます。

    DATABASE、FUNCTION、INDEX、GLOP、MACRO、PROCEDURE、PROFILE、ROLE、TABLE、USER、またはVIEWキーワードにCREATEまたはDROPを指定しないと、デフォルトでCREATEおよびDROPが与えられます。

    USERのターゲットがユーザーの場合、USERは、CREATEおよびDROP権限を付与します。USERのターゲットがデータベースの場合、USERはデータベース内でユーザーのCREATEを実行する権限を付与します。

  • INDEXは、テーブルのCREATE INDEXおよびDROP INDEX文を許可します。
  • INSERT、REFERENCES、SELECTおよびUPDATEには、テーブル レベルのオプションと列レベルのオプションがあります。
  • GENERATED BY DEFAULTの識別列に対するUPDATE権限は付与できません。
  • 権限は、トリガーに付与することはできません。そのトリガーが適用されるデータベースまたはテーブルにのみ付与できます。

    CREATE TRIGGERおよびDROP TRIGGER権限は、指定されたデータベースまたはトリガーの対象となるテーブルに対して、ユーザーに付与されます。

  • CREATE PROFILE、DROP PROFILE、CREATE ROLE、DROP ROLE、CREATE ZONE、DROP ZONE、ZONE OVERRIDE権限は、ユーザーのみに付与でき、ロール、データベース、またはPUBLICには付与できません。
  • CREATE PROFILE、DROP PROFILE、CREATE ROLE、DROP ROLE、CREATE ZONE、DROP ZONE、ZONE OVERRIDEはすべてシステム権限です。この権限はユーザーに付与するもので、特定のオブジェクトに対して付与するものではありません。
  • GRANTを使用する場合に、ZONE権限(CREATE ZONEとDROP ZONE権限の省略形)を他のどの権限とも組み合わせることはできません。同様に、GRANTを使用する場合にZONE OVERRIDE権限を他のどの権限とも組み合わせることはできません。例えば、GRANT ZONE, ZONE OVERRIDE to u1;またはGRANT ROLE, ZONE to u1;などの構文を使用できません。これらのコマンドは失敗します。
  • CONSTRAINT ASSIGNMENT、CONSTRAINT DEFINITION、CTCONTROLシステム権限に対するGRANTまたはREVOKEリクエストは、ユーザーDBCか、事前にWITH GRANT OPTION権限を付与されているユーザーのみが実行できます。

    これらの権限をPUBLICやEXTUSERに付与することはできません。

  • CONSTRAINT ASSIGNMENT、CONSTRAINT DEFINITION、CTCONTROL権限を付与する際に指定するユーザーやロールの名前は、既存のユーザーやロールに割り当てられている固有な識別子にする必要があります。PUBLICやEXTUSERを指定することはできません。
  • SHOW権限により、ユーザーは、データベース オブジェクトの定義を表示(SHOW object_typeリクエスト)したり、データベース オブジェクトの定義とその他の情報についてのヘルプをリクエスト(HELP object_typeリクエスト)できるようになりますが、オブジェクトの定義を変更したり、オブジェクトから行を取得することはできません。

    明示的に付与する必要があるSHOWは、オブジェクト レベルおよびデータベース レベルで付与できます。オブジェクトの作成者が、作成したオブジェクトに対してSHOW権限を自動的に受け取ることはありません。ユーザーDBCは、ディクショナリ テーブルに対するこの権限を他のユーザーやデータベースに付与することもできます。

    SHOW CONSTRAINTにはCONSTRAINT ASSIGNMENTまたはCONSTRAINT DEFINITION権限が必要です。

    SHOWを使用すると、SHOW TABLE、HELP TABLEおよびHELP STATISTICSのような、あらゆる種類のすべての権限が必要な文へのアクセスを提供できます。また、あらゆる権限が必要なすべての文にSHOWが使用できます。

    DBAはこの権限によって、テーブルに対してSELECTアクセスすることなく、テーブルやビューのSHOWまたは、HELP STATISTICSなどを実行する能力をユーザーに付与できるようになります。