17.05 - AUTHORIZATIONオブジェクトによる外部テーブル アクセスの制御 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Native Object Store 入門ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1214-175K-JPN
Language
日本語 (日本)
許可オブジェクトは、誰が外部オブジェクト ストアにアクセスできるかを制御するために使用されます。

許可オブジェクトを作成する前に、データにアクセスするために、Advanced SQL Engineは外部オブジェクト ストアのアクセス権を持つことが必要です。例えば、Amazon S3バケットにアクセスするには、アクセス キーまたはAWS Identity and Access Management (IAM)ユーザーの信頼証明が必要です。Google Cloud Storageバケットにアクセスするには、アクセス キーが必要です。Azureストレージにアクセスするには、アクセス キーまたは共有アクセス署名(SAS)トークンが必要です。信頼証明は、アクセスするオブジェクト ストアで構成されます。

外部ストレージがAdvanced SQL Engineにアクセスを許可したら、適切な信頼証明を使用して許可オブジェクトを設定します。

許可オブジェクト定義で定義者が使用されている場合、許可オブジェクトは複数のユーザー間で共有することができます。呼び出し元を使用する場合、オブジェクトを作成したユーザーのみがそのオブジェクトを使用できます。

説明
1人のユーザーが使用する許可オブジェクト
CREATE AUTHORIZATION authorization_object
AS INVOKER TRUSTED
USER 'YOUR-ACCESS-KEY-ID'
PASSWORD 'YOUR-SECRET-ACCESS-KEY';
ユーザーのグループによって共有される許可オブジェクト
CREATE AUTHORIZATION authorization_object
AS DEFINER TRUSTED
USER 'YOUR-ACCESS-KEY-ID'
PASSWORD 'YOUR-SECRET-ACCESS-KEY';
外部オブジェクト ストア内のパブリック バケットまたはコンテナは、アクセスに信頼証明を必要としません。パブリック バケットまたはコンテナにアクセスするには、USERとPASSWORDに空白文字列を左右の区別がない引用符で囲んで指定します。
CREATE AUTHORIZATION authorization_object
AS DEFINER TRUSTED
USER ''
PASSWORD '';

    前提条件

  1. まだ実行されていない場合は、他のユーザーに権限を付与できる管理ユーザーとしてAdvanced SQL Engineにログオンします。
  2. ユーザーに適切な権限を付与します
    許可オブジェクトを作成するには、ユーザーには以下の権限が必要です。
    • CREATE AUTHORIZATION
  3. 管理ユーザーとしてログオフします。
  4. 許可オブジェクトの作成

  5. NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
  6. 外部オブジェクト ストアへの信頼証明を使用して、Advanced SQL Engineで許可オブジェクトを作成します。
    許可オブジェクトを使用する外部テーブルと同じデータベースに作成します。
    CREATE AUTHORIZATION DefAuth
    AS DEFINER TRUSTED
    USER 'YOUR-ACCESS-KEY-ID'
    PASSWORD 'YOUR-SECRET-ACCESS-KEY';

    または、パブリック バケットにアクセスするには、次のように許可オブジェクトを作成します。

    CREATE AUTHORIZATION DefAuth
    AS DEFINER TRUSTED
    USER ''
    PASSWORD '';
次のタスク後の例では、許可オブジェクトは外部テーブルにリンクされ、その他の例では関数マッピングで使用されます。