Virtual DataPort 7.0 の権限システムの変更点

Denodo 7.0 では、よりきめ細かな権限をユーザーおよびロールに付与できるように、権限システムに大幅な変更が導入されました。管理者は次のエレメントに対する権限を付与できるようになりました。

  • データソース

  • Web サービス

  • ウィジェット

以前のバージョンでは、データベースに対する書き込み権限を持っているユーザーだけが、これらのエレメントを作成できました。


Create 権限がよりきめ細かくなりました。Create 権限を付与する代わりに、管理者は次の権限をユーザーに付与することができます。

  • Create folder

  • Create data source

  • Create view

  • Create data service (Web サービス、ウィジェットおよび JMS リスナー)

Create 権限を付与すると、自動的にこれらのすべての権限が付与されます。

ここでは、付与できるすべての権限、および各権限の変更点について簡単に説明します。

詳しい説明

Denodo 8.0 では、「Read」権限が、この権限の動作を明確に表すために「Execute」という名前に変更されました。既存の VQL スクリプトとの下位互換性を維持するために、VQL ステートメントでは引き続き READ トークンを使用できます。

エレメントのタイプごとに付与できる権限について以下に記載します。

データベースに対する権限

ユーザー/ロールに付与できる、データベースに対する権限は次のとおりです。

  • Connect

  • Create (以下のすべての Create 権限を含む)

    • Create data source

    • Create data service (Web サービス、ウィジェットおよび JMS リスナー)

    • Create folder

    • Create view

  • Metadata

  • Execute

  • Write

データソースに対する権限

ユーザー/ロールに付与できる、データソースに対する権限は次のとおりです。

  • Metadata

  • Execute: この権限に加えて、データベースに対する「Create view」権限を持っているユーザーが、このデータソースを基にして基本ビューを作成することができます。

  • Write: 次の操作を実行するために必要です。

    • このデータソースの基本ビューの「ソース更新」を実行する。このためには基本ビューに対する書き込み権限も必要です。

    • データソースの VQL を取得する

    • データソースをコピーする

    データソースを作成したユーザーには、自動的にそのデータソースに対する書き込み権限が与えられます。

ビューに対する権限

ユーザー/ロールに付与できる、ビューに対する権限は次のとおりです。

  • Metadata

  • Execute

  • Write: 次の操作を実行するために必要です。

    • ビューの VQL を取得する。このためには、そのビューで直接参照されている各ビューに対する Execute 権限も必要です。

    • ビューをコピーする。

    ビューを作成したユーザーには、自動的にそのビューに対する書き込み権限が与えられます。

  • Insert

  • Delete

  • Update

データサービス (Web サービス、ウィジェットおよび JMS リスナー) 対する権限

ユーザー/ロールに付与できる、データサービス (Web サービス、ウィジェットおよび JMS リスナー) に対する権限は次のとおりです。

  • Metadata

  • Write: Web サービス、ウィジェットのデプロイおよび JMS リスナーの有効化に必要です。Web サービスを作成したユーザーには、自動的にその Web サービスに対する書き込み権限が与えられます。

ストアドプロシージャに対する権限

ユーザー/ロールに付与できる、ストアドプロシージャに対する権限は次のとおりです。

  • Metadata

  • Execute

  • Write: 次の操作を実行するために必要です。

    • プロシージャの VQL を取得する

    • プロシージャをコピーする

CATALOG_PERMISSIONS プロシージャ

Denodo 7.0 では、このバージョンで追加された新しい権限に合わせて、 CATALOG_PERMISSIONS ストアドプロシージャの出力フィールドが変更されました。

次の出力フィールドの名前が変更されました。

  • dbread: dbexecute に変更されました。

  • viewread: elementexecute に変更されました。

  • viewwrite: elementwrite に変更されました。

  • viewinsert: elementinsert に変更されました。

  • viewdelete: elementdelete に変更されました。

  • viewupdate: elementupdate に変更されました。

次の出力フィールドが追加されました。

  • elemensubtype

  • dbcreatedatasource

  • dbcreatedataservice

  • dbcreateview

  • dbcreatefolder

  • elementmetadata

一部の出力フィールドの名前が変更されたので、このプロシージャを呼び出しているクエリの変更が必要になる可能性があります。

ロケールマップの作成および jar 拡張機能のインポート

Denodo 7.0 以降では、次の操作を行えるのは、Virtual DataPort サーバーの管理者だけです。

  • ロケールマップ (i18n マップ) を作成する

  • jar 拡張機能をインポートする

以前のバージョンの動作の復元

Denodo 7.0 では、ユーザーが操作を実行できるかどうかを検査するときにエレメントの所有者は考慮されません。ユーザーに付与されている権限だけが考慮されます。以前のバージョンでは、データソースまたはデータサービスの所有者であることは、それらに対して「Write」権限を持っていることと同じでした。

以前のバージョンの動作に戻すには、VQL Shell から次を実行してください。

SET 'com.denodo.vdb.security.requirePrivilegesToOwners' = 'false';

このプロパティの変更を適用するには、Virtual DataPort サーバーを再起動します。

データソース、ビューまたはデータサービスを作成したユーザーには、自動的にそれらに対する書き込み権限が与えられることに注意してください。ただし、この権限を後から取り消すこともできます。


以前のバージョンでは、次の権限があれば、データベースに対する Connect 権限がなくても、そのデータベースのエレメントを使用することができました。

  1. 他のデータベースに接続する権限

  2. そのデータベースのエレメントに対する適切な権限

Denodo 7.0 では、データベースのエレメントを使用するには、そのデータベースに対する Connect 権限が必要です。

以前のバージョンの動作に戻すには、VQL Shell から次を実行してください。

SET 'com.denodo.vdb.security.requireConnectOnCrossDatabaseAccess' = 'false';