外部セキュリティ句 - 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/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

この句はオペレーティング システムI/Oを実行するすべてのメソッドで必須です。I/Oを実行するメソッドにこの句を指定しないと、予期しない結果が生成されることがあり、(システム全体ではないものの)データベースがリセットされてしまうことさえあります。CREATE AUTHORIZATIONおよびREPLACE AUTHORIZATIONを参照してください。

authorization_nameは、ANSI SQL:2011規格に対するTeradataのオプションの拡張機能であることに注意する必要があります。

メソッド定義がEXTERNAL SECURITY DEFINERを指定すると、そのメソッドは次の条件で実行されます。
  • 指定の外部許可に関連付けられたOSユーザーの下で、そのユーザーのコンテキストを使って実行される。
    メソッドの実行モード OSユーザー
    保護モード tdatudf (tdatudf OSグループのメンバーでなければならない)。
    セキュア モード CREATE AUTHORIZATION文を使って許可名に割り当てられたOSユーザー。

    指定されたOSユーザーはtdatudf OSグループに属していなければなりません。

  • メソッドに関連付けられる外部セキュリティ許可は、そのメソッドと同じデータベース内に存在する必要があります。
次のルールが適用されます。
  • 許可名を指定しない場合は、ユーザーがメソッドの実行を試行する前にデフォルトのDEFINER許可名を作成する必要があります。
  • 許可名を指定した場合は、メソッドを実行する前にその名前の許可オブジェクトを作成する必要があります。

    メソッドの作成時に許可名が存在しない場合、システムはリクエスト側に警告メッセージを返します。