許可オブジェクトは、誰が外部オブジェクト ストアにアクセスできるかを制御するために使用されます。
許可オブジェクトを作成する前に、データにアクセスするために、Advanced SQL Engineは外部オブジェクト ストアのアクセス権を持つことが必要です。例えば、Amazon S3バケットにアクセスするには、アクセス キーまたはAWS Identity and Access Management (IAM)ユーザーの信頼証明が必要です。Google Cloud Storageバケットにアクセスするには、アクセス キーが必要です。Azureストレージにアクセスするには、アクセス キーまたは共有アクセス署名(SAS)トークンが必要です。信頼証明は、アクセスするオブジェクト ストアで構成されます。クレデンシャルは、アクセスするオブジェクトストアで構成されます。たとえば、 Amazon S3バケットにアクセスするには、外部オブジェクトストアに応じて、アクセスキーIDまたはAWS Identity and Access Management(IAM)ユーザークレデンシャルが必要です。外部オブジェクトストアに必要な資格情報については、外部オブジェクト ストアの認証を参照してください。
各自の外部ストレージがAdvanced SQL Engineにそのストレージへのアクセスを許可したら、外部オブジェクト ストアの信頼証明で許可オブジェクトを設定します。
外部オブジェクト ストア内のパブリック バケットまたはコンテナは、アクセスに信頼証明を必要としません。パブリック バケットまたはコンテナにアクセスするには、USERとPASSWORDに空白文字列を左右の区別がない引用符で囲んで指定します。
- まだ実行されていない場合は、他のユーザーに権限を付与できる管理ユーザーとしてAdvanced SQL Engineにログオンします。
- ユーザーに適切な権限を付与します。許可オブジェクトを作成するには、ユーザーには以下の権限が必要です。
- CREATE AUTHORIZATION
- 管理ユーザーとしてログオフします。
- NOS関連コマンドを実行するには、必要な権限を持つユーザーとしてデータベースにログオンします。
- 外部オブジェクト ストアへの信頼証明を使用して、Advanced SQL Engineで許可オブジェクトを作成します。許可オブジェクトを、それを使用する外部テーブルと同じデータベースに作成します。
CREATE AUTHORIZATION authorization_object USER 'YOUR-ACCESS-KEY-ID' PASSWORD 'YOUR-SECRET-ACCESS-KEY';
例えば、Teradataが提供するパブリック オブジェクト ストアの許可オブジェクトを作成します。
CREATE AUTHORIZATION MyAuthObj USER '' PASSWORD '';
- 権限オブジェクトの定義を表示します。例:
SHOW AUTHORIZATION NOS_USR.MyAuthObj;
なお、パスワードは結果に返されません。
前提条件
許可オブジェクトの作成
次のタスク後の例では、許可オブジェクトは外部テーブルにリンクされ、その他の例ではREAD_NOS文で使用されます。