16.20 - シナリオの例 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ NewSQL Engineセキュリティ管理

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/rmm1512082852218.ditamap
dita:ditavalPath
ja-JP/rmm1512082852218.ditaval

自動車会社が利用する販売担当者用とサービス担当者用の2つのゾーンを作成したいと仮定します。

まず、ゾーン作成者を作成する必要があります。例えば、DBCユーザーはDanaという名前のユーザーを作成し、そのユーザーにゾーン作成者が必要とする権限を次のように付与します。

CREATE USER dana ;
GRANT CREATE ZONE, DROP ZONE TO dana WITH GRANT OPTION ;

Danaは、次のようにゾーンを作成する2つのデータベースを作成できます。

CREATE DATABASE jcl_sales FROM dana AS PERM=100000 ;
CREATE DATABASE jcl_service FROM dana AS PERM=100000 ;

ここで、Danaは2つのゾーンを作成します。最初のコマンドはゾーンを作成し、ROOTを直接割り当てます。2番目のコマンドはゾーンを作成し、次にALTER文を使用してROOTを割り当てます。

CREATE ZONE jcl_sales_zone ROOT jcl_sales ;
CREATE ZONE jcl_service_zone ;
ALTER ZONE jcl_service_zone ADD ROOT jcl_service ;

続いてDanaは、次のように各ゾーンのプライマリDBAを作成します。

CREATE USER jcl_sales_dba FROM jcl_sales
AS
  PASSWORD=jcl_sales_dba
  PERM = 0 ;
CREATE USER jcl_service_dba FROM jcl_service
AS
  PASSWORD=jcl_service_dba
  PERM = 0 ;

ここでゾーンDBAは、ゾーン ユーザーを作成し、それらのゾーン ユーザーに権利を付与できます。

CREATE USER jcl_sales_bob FROM jcl_sales
AS
  PASSWORD=jcl_sales_bob
  PERM = 0 ;
GRANT ALL ON jcl_sales TO jcl_sales_bob WITH GRANT OPTION ;
CREATE USER jcl_service_bill FROM jcl_service
AS
  PASSWORD=jcl_service_bill
  PERM = 0 ;
GRANT ALL ON jcl_service TO jcl_service_bill WITH GRANT OPTION ;

新しいユーザーは、それぞれのゾーンでテーブルを作成できます。

CREATE TABLE jcl_sales.Auto_Inv (Vin_no INT, Auto_Desc Varchar(25));
CREATE TABLE jcl_service.Part_Inv (Part_no INT, Part_Desc Varchar(25)) ;

ゾーン作成者は、ゾーン ゲストとなるユーザーを作成して、それらがゾーンにアクセスすることを許可することができます。

CREATE USER jcl_sales_guest FROM dana
AS
  PASSWORD=jcl_sales_guest
  PERM = 0 ;
GRANT ZONE jcl_sales_zone TO jcl_sales_guest ;
CREATE USER jcl_service_guest FROM dana
AS
  PASSWORD=jcl_service_guest
  PERM = 0 ;
GRANT ZONE jcl_service_zone TO jcl_service_guest ;

(または、ゾーン作成者はGRANT ZONEを使用して、既存のユーザーをゾーン ゲストにすることもできます。)

ゾーン ユーザー、この例ではゾーンDBAは、ゾーン内のオブジェクトにアクセスするのに必要な権利をゾーン ゲストに与えます。

GRANT SELECT ON jcl_sales.Auto_Inv TO jcl_sales_guest ;
GRANT SELECT ON jcl_service.Part_Inv TO jcl_service_guest ;