ユーザーの管理

CREATE USER ステートメント (「 CREATE USER ステートメントの構文 」を参照) を使用して、サーバーに新しいユーザーを作成できます。ユーザーには 2 種類あります。

  1. 「管理者」ユーザー (このステートメントに ADMIN パラメーターを追加して作成)。管理者ユーザーはすべてのデータベースに対してあらゆる操作を行えます。管理者ユーザーの権限を制限することはできません。

    管理者ユーザーだけが管理者ユーザーを作成できます。

  2. 「一般」ユーザー。一般ユーザーを作成した後に、それらのユーザーがサーバーのデータベース上のエレメントを操作できるよう権限を与える必要があります。

Virtual DataPort ユーザーには次の 2 つの認証方法が用意されています。

  1. 「標準」。ユーザーの資格情報は Virtual DataPort に格納されます。

  2. 「LDAP」 (LDAP パラメーターで指定されます)。ユーザーがサーバーに接続しようとすると、そのサーバーは LDAP サーバーに接続し、ユーザーが指定したパスワードが正しいかどうかを確認します。

    この認証モードを利用する場合は、ユーザーが指定したパスワードが正しいか確認するため、LDAP サーバーへの接続に使用される LDAP データソースを作成する必要があります。

    パラメーター LDAP は 2 つのパラメーターを持ちます。

    1. DATASOURCE 。構文は <databaseName>.<dataSourceName> です。 <databaseName> は LDAP データソースが格納されている Virtual DataPort データベースで、 <dataSourceName> はデータソースの名前です。

    2. USERNAME 。LDAP サーバー内のユーザーの名前。たとえば、値 'cn=test,ou=People,dc=denodo,dc=com' は、ドメイン denodo.com の組織単位 People に所属する test ユーザーであることを示しています。

    CREATE USER ステートメントの構文
    CREATE [ OR REPLACE ] USER [ ADMIN ] <name:identifier>
        <authentication>
        [ <description:literal> ]
        [ <grant> ]*
    
    <authentication> ::=
          <password:literal> SHA512
        | LDAP (
              DATASOURCE <databaseName:identifier>.<dataSourceName:identifier>
              USERNAME <name:literal>
          )
    

既存ユーザーの権限の変更方法については「 ユーザーの権限の変更 」のセクションで説明しています。

SHA512 は、パスワードが SHA512 ハッシュで格納されることを表します。

注釈

ユーザーの LDAP 認証は、LDAP 認証を使用するデータベースとは異なります。

ユーザーの認証タイプが LDAP の場合、LDAP サーバーはユーザーが指定したパスワードが正しいかどうかを確認するためだけに使用されます。ただし、このユーザーの権限は引き続き Virtual DataPort から管理されます。

LDAP 認証を使用するデータベースでは、ユーザーの権限も LDAP サーバーから取得されます。

注釈

LDAP 認証を使用したユーザーの作成はお勧めできません。代わりに、LDAP 認証でデータベースを作成することで、ユーザーやユーザー権限の管理が容易になります。このタイプのデータベースの詳細については、管理ガイドの「 LDAP 認証を使用するデータベースの作成 」のセクションを参照してください。

注釈

LDAP データソースがカスケードで削除された場合は (「 カタログからのエレメントの削除 」のセクションを参照)、そのデータソースと依存関係を持つユーザーも削除されます。この操作は管理者ユーザーだけが実行できます。

例:

次の例では、データベース「customer」に対していくつかの権限を持つユーザーを作成しています。

-- Encrypt the password that you want the new user to have
ENCRYPT_PASSWORD 'new password of the user';

-- Create the user
CREATE OR REPLACE USER new_user '<result of the command ENCRYPT_PASSWORD>' ENCRYPTED TRANSFER
GRANT CONNECT, METADATA, EXECUTE, WRITE ON customer;