GRANT (SQL形式) - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/lmb1556233084626.ditamap
dita:ditavalPath
ja-JP/lmb1556233084626.ditaval
dita:id
B035-1149
Product Category
Software
Teradata Vantage

データベース、ユーザー、プロキシ ログオン ユーザー、テーブル、ハッシュ インデックス、結合インデックス、ビュー、プロシージャ、ユーザー定義関数(UDF)、関数マッピング、ユーザー定義メソッド(UDM)、ユーザー定義型(UDT)、またはマクロに対する1つ以上の明示的権限をロール、ロールのグループ、ユーザー、あるいはユーザーまたはデータベースのグループに付与します。

データベースの権限のリストは、Teradata Databaseの権限を参照してください。

NONTEMPORAL権限の付与については、<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。

必要な権限

オブジェクトにSQL GRANT文を使用して権限を与える場合には、ユーザーは以下のいずれかでなければなりません。
  • ユーザーDBC
  • オブジェクトの所有者

    所有者権限に関連するセキュリティ問題の詳細については、CREATE MACRO権限のセキュリティに関する考慮事項を参照してください。

  • 付与する各権限を所有しているユーザー

    ユーザーは、明示的に権限を付与されていたり、ビュー、マクロ、またはプロシージャを作成した結果としてロールから権限を継承したりすることで、権限を所持していることがあります。

以下の権限を付与するには、CONSTRAINT ASSIGNMENT権限を持っている必要があります。
  • OVERRIDE DELETE CONSTRAINT
  • OVERRIDE DUMP CONSTRAINT
  • OVERRIDE INSERT CONSTRAINT
  • OVERRIDE RESTORE CONSTRAINT
  • OVERRIDE SELECT CONSTRAINT
  • OVERRIDE UPDATE CONSTRAINT
GRANT (SQL形式)リクエストを実行するために必要な権限については、以下の詳細情報に注意してください。
  • ユーザーは、権限を受け取るために所有権を介して付与者と関係する必要はありません。

    受領者がロール、ユーザー、データベース、またはPUBLICのいずれであっても、付与者が受領者に権限を与えるためにWITH ADMIN OPTIONなどの権限を受領者に対して持っている必要はありません。

  • GRANT文がデータベースまたはユーザーを対象としている場合には、今後その領域に作成されるすべてのオブジェクトに権限が適用されます。

    後でREVOKE文によって権限を取り消した場合には、オブジェクトがいつ作成されたかに関係なく、その権限はすべてのオブジェクトから取り消されます。

    オブジェクト レベルのREVOKE文は、データベースまたはユーザーに対して与えられたオブジェクトの権限を取り消すことはできません。

  • WITH GRANT OPTION句を指定すると、権限の受領者はその権限を他のユーザーに付与できるようになります。

    所有者は、所有するすべてのデータベース、ユーザー、またはオブジェクトに対してWITH TRANT OPTION権限を暗黙的に所持しています。

    所有者が明示的に付与できるすべてまたは任意の権限 可能な権限付与先
    • 子データベース
    • 子ユーザー
    • データベース オブジェクト
    • 他の任意のデータベース
    • 他の任意のユーザー
    • ロール
    • PUBLIC

      行レベル セキュリティ権限をPUBLICに割り当てることはできません。

  • 自動的に与えられた、または明示して与えられたすべての権限は、REVOKE文を使用して取り消すことができます。

    REVOKE (SQL形式)を参照してください。

  • 暗黙権限は、取り消すことができません。

権限が付与されるタイミング

GRANTは、後続の文が実行されると直ちに有効になります。直前に付与された権限を受け取るために、ログアウトする必要はありません。

構文

GRANT {
  { ALL [ PRIVILEGES ] |
    [ ALL BUT ] privilege [,...] |
    CTCONTROL
  } ON object |

  map_privilege [,...] |
  
  role_privilege [,...] |
  
  profile_privilege [,...] |
  
  zone_privilege [,...] |
  
  CONSTRAINT ASSIGNMENT |
  
  CONSTRAINT DEFINITION
}
  TO {
       { grantee [,...] | PUBLIC } [ WITH GRANT OPTION ] |
       role_name [,...]
     } [;]
object
{ { database_name | user_name } [ .object_name ] |

    object_name |

    [ PROCEDURE ] [ database_name. | user_name. ] procedure_name |

    SPECIFIC FUNCTION [ database_name. | user_name. ]
      specific_function_name |

    [ FUNCTION ] [ database_name. | user_name. ]
      function_name ( [ function_parameter [,...] ] ) |

    TYPE [SYSUDTLIB.] UDT_name
}
grantee
[ ALL ] { database_name | user_name }
function_parameter
[ parameter_name ] data_type
data_type
{ INTEGER | SMALLINT | BIGINT | BYTEINT | DATE |

  { TIME | TIMESTAMP } [ (fractional_seconds_precision) ] [WITH TIME ZONE] |

  INTERVAL YEAR [(precision)] [TO MONTH] |

  INTERVAL MONTH [(precision)] |

  INTERVAL DAY [(precision)]
    [TO { HOUR | MINUTE | SECOND [(fractional_seconds_precision)] }] |

  INTERVAL HOUR [(precision)]
    [TO { MINUTE | SECOND [(fractional_seconds_precision)] }] |

  INTERVAL MINUTE [(precision)] [TO SECOND [(fractional_seconds_precision)]] |

  INTERVAL SECOND [ (precision [, fractional_seconds_precision ] ) |

  PERIOD (DATE) |

  PERIOD ( { TIME | TIMESTAMP } [(precision)] [WITH TIME ZONE] ) |

  REAL |

  DOUBLE PRECISION |

  FLOAT [ (integer) ] |

  NUMBER [ ( { integer | * } [, integer]... ) ] |

  { DECIMAL | NUMERIC } [ ( integer [, integer]... ) ] |

  { CHAR | BYTE | GRAPHIC } [ (integer) ] |

  { VARCHAR | CHAR VARYING | VARBYTE | VARGRAPHIC } [ (integer) ] |

  LONG VARCHAR |

  LONG VARGRAPHIC |

  { BINARY LARGE OBJECT | BLOB | CHARACTER LARGE OBJECT | CLOB }
    ( integer [ G | K | M ] ) |

  [SYSUDTLIB.] { XML | XMLTYPE } [ ( integer [ G | K | M ] ) ]
    [ INLINE LENGTH integer ] |

  [SYSUDTLIB.] JSON [ ( integer [ K | M ] ) ] [ INLINE LENGTH integer ]
    [ CHARACTER SET { UNICODE | LATIN } | STORAGE FORMAT { BSON | UBJSON } ] |

  [SYSUDTLIB.] ST_GEOMETRY [ (integer [ K | M ]) ] [ INLINE LENGTH integer ] |

  [SYSUDTLIB.] DATASET [ (integer [ K | M ]) ]
    [ INLINE LENGTH integer ] [storage_format] |

  [SYSUDTLIB.] { UDT_name | MBR | ARRAY_name | VARRAY_name }
}