34.4 マイニング・モデルおよびデータへのアクセスの制御
データ・マイニング・ユーザーの作成方法および必要な権限の付与方法について理解します。
34.4.1 データ・マイニング・ユーザーの作成
データ・マイニング・ユーザーの作成方法について説明します。
データ・マイニング・ユーザーとは、データ・マイニング操作を実行するための権限を持つデータベース・ユーザー・アカウントです。例34-6では、データベース・ユーザーの作成方法を示しています。例34-7では、ユーザーにデータ・マイニング権限を割り当てる方法を示しています。
例34-6 SQL*Plusでのデータベース・ユーザーの作成
-
Enter user-name: sys as sysdba Enter password: password
-
dmuser
というユーザーを作成するには、次のコマンドを入力します。選択したパスワードを指定します。CREATE USER dmuser IDENTIFIED BY password DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS; Commit;
USERS
表領域およびTEMP
表領域は、データベース・メディアに付属の事前構成済データベースに含まれています。USERS
は通常、デモ・ユーザーによって使用され、「データ・マイニングのサンプル・プログラム」で説明されているサンプル・プログラムの実行に適しています。TEMP
は、ほとんどのデータベース・ユーザーによって共有される一時表領域です。ノート:
データ・マイニング・ユーザー用の表領域は、システム・ロードとシステム・リソースに応じて、標準的なDBAの手順に従って割り当てる必要があります。
-
dmuser
としてログインするには、次を入力します。CONNECT dmuser Enter password:
password
関連トピック
関連項目:
CREATE USER
文の完全な構文については、『Oracle Database SQL言語リファレンス』を参照してください。
34.4.1.1 データ・マイニングの権限の付与
独自のスキーマにモデルを作成するには、CREATE MINING MODEL
権限を所有している必要があります。所有しているモデルに対しては、どのような操作も実行できます。これには、モデルの適用、コスト・マトリックスの追加、モデルの名前の変更、およびモデルの削除が含まれます。
次の例のGRANT
文では、基本的なデータ・マイニング権限のセットをdmuser
アカウントに割り当てます。これらの権限のうち一部はどのマイニング操作にも必要ありませんが、これらすべてをグループとして付与することをお薦めします。
特定のマイニング操作の有効化または制限を行うには、追加のシステム権限およびオブジェクト権限が必要です。
例34-7 データ・マイニングに必要な権限
GRANT CREATE MINING MODEL TO dmuser; GRANT CREATE SESSION TO dmuser; GRANT CREATE TABLE TO dmuser; GRANT CREATE VIEW TO dmuser; GRANT EXECUTE ON CTXSYS.CTX_DDL TO dmuser;
自分のスキーマ内にないデータに対してはREAD
またはSELECT
権限が必要です。たとえば、次の文は、sh.customers
表にSELECT
アクセス権を付与します。
GRANT SELECT ON sh.customers TO dmuser;
34.4.2 データ・マイニングのシステム権限
マイニング・モデルに対する操作を制御する様々な権限を学習します。
システム権限は、データベース内の特定のアクションを実行する権限または1つのタイプのスキーマ・オブジェクトに対してアクションを実行する権限を付与します。たとえば、表領域を作成する権限や、データベース内の任意の表から行を削除する権限などがシステム権限です。
適切なシステム権限を所有している場合、他のスキーマのマイニング・モデルに対しても特定の操作を実行できます。たとえば、CREATE ANY MINING MODEL
を所有している場合、他のスキーマにモデルを作成できます。SELECT ANY MINING MODEL
を所有している場合、他のスキーマにあるモデルを適用できます。モデルにコメントを追加するには、COMMENT ANY MINING MODEL
権限を所有している必要があります。
システム権限を付与するには、ADMIN OPTION
を指定したシステム権限またはGRANT ANY PRIVILEGE
システム権限が付与されている必要があります。
次の表に示されているシステム権限は、マイニング・モデルに対する操作を制御します。
表34-2 データ・マイニングのシステム権限
例34-8 データ・マイニングのシステム権限の付与
次の文は、dmuser
による任意のスキーマ内のデータのスコアリングおよびモデルの詳細の表示を許可します(SELECT
アクセス権がデータに付与されている場合)。ただし、dmuser
がモデルを作成できるのはdmuser
スキーマ内のみです。
GRANT CREATE MINING MODEL TO dmuser; GRANT SELECT ANY MINING MODEL TO dmuser;
次の文は、他のスキーマ内のスコアリングまたはモデルの詳細の表示の権限を取り消します。この文が実行されると、dmuser
がデータ・マイニング操作を実行できるのはdmuser
スキーマ内のみになります。
REVOKE SELECT ANY MINING MODEL FROM dmuser;
34.4.3 マイニング・モデルのオブジェクト権限
オブジェクト権限は、特定のスキーマ・オブジェクトに対して特定のアクションを実行する権限を付与します。たとえば、SH.PRODUCTS
表から行を削除する権限は、オブジェクト権限の例です。
ユーザーには、自身のスキーマに含まれるスキーマ・オブジェクトに対するオブジェクト権限がすべて自動的に付与されています。ユーザーは、自身のスキーマのオブジェクトに対するオブジェクト権限を、他のユーザーまたはロールに付与できます。
次の表に示されているオブジェクト権限は、特定のマイニング・モデルに対する操作を制御します。
表34-3 マイニング・モデルのオブジェクト権限
オブジェクト権限 | 許可される操作 |
---|---|
|
|
|
例34-9 マイニング・モデルに対するオブジェクト権限の付与
次の文は、dmuser
によるsales
表へのモデルtestmodel
の適用を許可し、適用ごとに異なるコスト・マトリックスを指定します。ユーザーdmuser
は、モデルtestmodel
の名前を変更することもできます。testmodel
モデルおよびsales
表は、dmuser
スキーマ内ではなく、sh
スキーマ内にあります。
GRANT SELECT ON MINING MODEL sh.testmodel TO dmuser; GRANT ALTER ON MINING MODEL sh.testmodel TO dmuser; GRANT SELECT ON sh.sales TO dmuser;
次の文は、dmuser
がtestmodel
のコスト・マトリックスの名前の変更またはコスト・マトリックスの変更を行うのを防ぎます。ただし、dmuser
は引き続きtestmodel
をsales
表に適用できます。
REVOKE ALTER ON MINING MODEL sh.testmodel FROM dmuser;