CREATE AUTHORIZATIONおよびREPLACE AUTHORIZATIONの構文要素 - Advanced SQL Engine - Teradata Database
Teradata Vantage™ - SQLデータ定義言語 構文規則および例
- Product
- Advanced SQL Engine
- Teradata Database
- Release Number
- 17.05
- Published
- 2021年1月
- Language
- 日本語
- Last Update
- 2021-03-30
- dita:mapPath
- ja-JP/ncd1596241368722.ditamap
- dita:ditavalPath
- ja-JP/ncd1596241368722.ditaval
- dita:id
- B035-1144
- Product Category
- Software
- Teradata Vantage
- database_name
- user_name
- 定義または置換される許可が含まれる、現在またはデフォルト以外のデータベースまたはユーザーの名前[オプション]。
- authorization_name
- 許可の名前。外部ルーチン定義または関数マッピングで許可を指定できます。
- 許可オブジェクトの名前は、オブジェクトの命名ルールに準拠している必要があります。データベース オブジェクト命名の詳細については、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
次のようなルールが、許可名に適用されます。
- 許可は、その許可が作成されたデータベースまたはユーザーに属し、他のデータベースまたはユーザーでは無効です。 SCRIPTテーブル演算子で許可オブジェクトを使用する詳細については、<Teradata Vantage™ - SQL演算子およびユーザー定義関数、B035-1210>を参照してください。
- 許可オブジェクト名はこれを含むデータベースまたはユーザー内で固有でなければなりません。
- 許可オブジェクト名は数字で始めることはできません。
- 許可オブジェクト名はSQLキーワードであってはなりません。
- DEFINER
- 外部ルーチンとデータベースのユーザーを、その外部ルーチンが含まれているデータベースに関連付けるキーワード。
- DEFINERを指定する場合、database_nameまたはuser_nameは外部ルーチンが含まれているデータベースまたは外部ルーチンのユーザーであることが必要です。
- DEFINERの指定には、次のルールが適用されます。
- データベースまたはユーザーは、ただ1つのデフォルトのDEFINER許可オブジェクト名に関連付けることができます。
- データベースまたはユーザーは、デフォルト以外の多くのDEFINER許可オブジェクト名に関連付けることができます。
- DEFAULT
- 以下の文のEXTERNAL SECURITY DEFINER句で許可名が指定されないすべての外部ルーチンに関し、その外部ルーチンとこの許可とを関連付ける、DEFINERキーワードの任意指定のキーワード修飾子を指定します。
-
- デフォルトのDEFINERオブジェクトは、1つのデータベースにつき1つしか割り当てることができません。それ以外のすべてのDEFINERオブジェクトについては、特定のDEFINER名が必要です。
- INVOKER
- データベース ユーザーを、外部ルーチンを呼び出すデータベース ユーザーに関連付けるキーワード。
- INVOKERを指定する場合、database_nameまたはuser_nameは、そのユーザーまたはプロファイルのログオン データベースまたはユーザーである必要があります。
- INVOKER許可名は、データベースまたはユーザーごとに1つしか割り当てられません。
- TRUSTED
- 関連付けられた権限オブジェクトがTRUSTEDとして作成されたことを示すキーワード。
- 外部テーブルまたは関数マッピングを作成する場合は、EXTERNAL SECURITY句で指定する許可にTRUSTEDセキュリティ タイプを使用する必要があります。CREATE FOREIGN TABLEまたはCREATE FUNCTION MAPPINGとREPLACE FUNCTION MAPPINGを参照してください。
- user_name
- この許可の割り当てられるデータベース ユーザーの名前である文字列リテラルを指定する句。
- Amazon S3、Azure BLOBストレージ、Google Cloud Storageなどの外部オブジェクト ストア内のパブリック バケット(またはパブリック コンテナ)には、アクセスに信頼証明は必要ありません。これらに対する許可を作成するには、一重引用符のペア'' で区切られた空の文字列を使用します。
- password
- user_nameに割り当てられるオペレーティング システム プラットフォームのパスワードの名前である文字列リテラルを指定する句。
- パスワードは、セキュア サーバー プロセスの作成時にユーザー許可に使用されます。この文を使用するあらゆるセッションを、暗号化されたトランスポート プロトコルを使用するように設定することが最善です。<Teradata Vantage™ - Advanced SQL Engineセキュリティ管理ガイド、B035-1100>を参照してください。
- Amazon S3、Azure BLOBストレージ、Google Cloud Storageなどの外部オブジェクト ストア内のパブリック バケット(またはパブリック コンテナ)には、アクセスに信頼証明は必要ありません。これらに対する許可を作成するには、一重引用符のペア'' で区切られた空の文字列を使用します。
- パスワードを平文で入力するのは決して望ましいことではありませんが、これが問題になるのはBTEQなどのインターフェースを使ってパスワードを入力する場合のみです。パスワードの入力時にパスワードをアスタリスク文字で表示するGUI、WWW(World Wide Web)のインターフェースなど、情報を安全な方法で要求するアプリケーションがパスワードの入力を求める場合は問題になりません。この方法は、セキュリティが重視されるすべてのサイトで推奨されます。