認証オブジェクト - Teradata QueryGrid

Teradata® QueryGrid™ インストールとユーザー ガイド

Product
Teradata QueryGrid
Release Number
2.13
Published
2020年8月
Language
日本語
Last Update
2020-09-04
dita:mapPath
ja-JP/oow1591642881502.ditamap
dita:ditavalPath
ft:empty
dita:id
lfq1484661135852
Product Category
Analytical Ecosystem

ユーザーの信頼証明をTeradataコネクタの暗号化された形式で格納する承認オブジェクトを作成できます。承認オブジェクトはユーザーの信頼証明を格納し、外部サーバーで使用され、これらの信頼証明を認証のためにリモート システムに提供します。

Teradata Databaseユーザーとリモート ユーザー間で1対1のマッピングが必要な場合は、Teradata Databaseとセキュリティ システム内に対応するアカウントが必要です。
  • そのユーザーがAS INVOKER TRUSTEDを使用して承認を作成する場合、承認はデフォルトでユーザーのデータベースに格納されます。
  • セキュリティ システムの信頼証明を相手のユーザーに知らせる必要はなく、承認オブジェクトはそのデータベースへの権限を持つユーザーのみがアクセスできます。

複数のTeradata Databaseユーザーとリモート システム上の1人のユーザー間で多対1のマッピングを使用し、管理を単純化することができます。承認の作成者のみが、リモート セキュリティ システム上のユーザーの認証情報を知っている必要があります。AS DEFINER TRUSTEDを使用して承認が作成される場合、承認はデフォルトでTD_SERVER_DBデータベースに格納され、その承認はグローバルに利用可能になります。

TeradataからPrestoへの接続の場合、許可オブジェクトを作成し、それを外部サーバーのUSING句で使用します。Teradataが許可オブジェクトの資格情報をPrestoコネクタに渡すと、クエリーをデータ ソースに送信する前に、Prestoコネクタがユーザーを認証します。

外部サーバーが承認オブジェクトを検索する場所

INVOKERを使用する場合、承認はユーザーのデータベースに格納されます。各ユーザーは、各自の信頼証明を使用してリモート システムにログオンできます。外部サーバーがINVOKERキーワードで構成され、データベース名(dbname)に値が指定されていない場合、PrestoまたはHiveコネクタは、自動的にセッション ユーザーのユーザー データベース内で承認を探します。

INVOKERの使用

次の例では、作成者のユーザー データベースにremote_presto1承認オブジェクトを作成します。 作成者がtd_userの場合、td_user.remote_presto1は完全修飾オブジェクト名です。

create authorization remote_presto1 as invoker trusted 
      user 'active_user' password 'active_pass';

この例では、remote_presto1承認オブジェクトを使用して外部サーバー オブジェクトを作成します。

create foreign server Presto_1 
external security invoker trusted remote_presto1 
using
 link('td1_presto1')
 version('active')
DO IMPORT WITH TD_SYSFNLIB.QGInitiatorImport,
DO EXPORT WITH TD_SYSFNLIB.QGInitiatorExport;

td1_presto1link値がQueryGridポートレットに作成されました。リンクは開始ネットワークおよびターゲット ネットワークを定義し、コネクタ間のデータ転送のルールを定義する通信ポリシーおよびその他のプロパティを指定します。

外部サーバーがDEFINERキーワードで構成され、データベース名(dbname)に値が指定されていない場合、Teradataコネクタは、自動的にTD_SERVER_DBデータベース内で承認を探します。

DEFINERの使用

この例では、remote_presto1承認オブジェクトを作成します。

create authorization td_server_db.remote_presto1 as definer trusted 
      user 'active_proxy_user' password 'active_proxy_pass';

この例では、remote_presto1承認オブジェクトを使用する外部サーバー オブジェクトを作成します。

create foreign server Presto_1 
external security definer trusted remote_presto1 
using
 link('td1_presto1')
 version('active')
DO IMPORT WITH TD_SYSFNLIB.QGInitiatorImport,
DO EXPORT WITH TD_SYSFNLIB.QGInitiatorExport;

td1_presto1link値がQueryGridポートレットに作成されました。リンクは開始ネットワークおよびターゲット ネットワークを定義し、コネクタ間のデータ転送のルールを定義する通信ポリシーおよびその他のプロパティを指定します。

詳細については、CREATE AUTHORIZATIONおよびREPLACE AUTHORIZATIONを参照してください。