認証にOracle Databaseを使用するための基本ステップ

このセクションで説明するステップに従うと、グラフ・サーバー(PGX)に対してユーザーを認証できます。

  1. Oracle Graph Server and Client (バージョン12.2以降)でサポートされているOracle Databaseバージョン(Autonomous Databaseを含む)を使用します。
  2. グラフ・サーバー(PGX)へのユーザー・アクセス権を付与および取り消すために、ADMINアクセス権(または非自律型データベースの場合はSYSDBAアクセス権)があることを確認します。
  3. グラフ・サーバーへのアクセス権を付与する予定のすべての既存ユーザーに、少なくともCREATE SESSION権限が付与されていることを確認します。
  4. Graph Serverが実行されているホストからJDBCを介してデータベースにアクセスできることを確認します。
  5. ADMIN (または非自律型データベースではSYSDBA)として、次のプロシージャを実行し、グラフ・サーバーで必要なロールを作成します。

    ノート:

    Oracle Graph Server and Clientインストールの一部としてPL/SQLパッケージをインストールする場合、このステップをスキップできます。次のコードに示すすべてのロールは、PL/SQLのインストールの一部として自動的に作成されます。Autonomous DatabaseOracle Graph Server and Clientを使用している場合のみ、それらを個別に追加する必要があります。このコードは、Oracle Cloud Infrastructureコンソール「データベース・アクション」を使用して実行できます。
    
    DECLARE
      PRAGMA AUTONOMOUS_TRANSACTION;
      role_exists EXCEPTION;
      PRAGMA EXCEPTION_INIT(role_exists, -01921);
      TYPE graph_roles_table IS TABLE OF VARCHAR2(50);
      graph_roles graph_roles_table;
    BEGIN
      graph_roles := graph_roles_table(
        'GRAPH_DEVELOPER',
        'GRAPH_ADMINISTRATOR',
        'GRAPH_USER',
        'PGX_SESSION_CREATE',
        'PGX_SERVER_GET_INFO',
        'PGX_SERVER_MANAGE',
        'PGX_SESSION_READ_MODEL',
        'PGX_SESSION_MODIFY_MODEL',
        'PGX_SESSION_NEW_GRAPH',
        'PGX_SESSION_GET_PUBLISHED_GRAPH',
        'PGX_SESSION_COMPILE_ALGORITHM',
        'PGX_SESSION_ADD_PUBLISHED_GRAPH');
      FOR elem IN 1 .. graph_roles.count LOOP
      BEGIN
        dbms_output.put_line('create_graph_roles: ' || elem || ': CREATE ROLE ' || graph_roles(elem));
        EXECUTE IMMEDIATE 'CREATE ROLE ' || graph_roles(elem);
      EXCEPTION
        WHEN role_exists THEN
          dbms_output.put_line('create_graph_roles: role already exists. continue');
        WHEN OTHERS THEN
          RAISE;
        END;
      END LOOP;
    EXCEPTION
      when others then
        dbms_output.put_line('create_graph_roles: hit error ');
        raise;
    END;
    /
  6. デフォルトの権限をロールGRAPH_DEVELOPER、GRAPH_USERおよびGRAPH_ADMINISTRATORに割り当てて、複数の権限をグループ化します。

    ノート:

    Oracle Graph Server and Clientインストールの一部としてPL/SQLパッケージをインストールする場合、このステップをスキップできます。次のコードに示す権限付与はすべて、PL/SQLのインストールの一部として自動的に実行されます。これらの付与を個別に実行する必要があるのは、Autonomous DatabaseOracle Graph Server and Clientを使用している場合のみです。このコードは、Oracle Cloud Infrastructureコンソール「データベース・アクション」を使用して実行できます。
    
    GRANT PGX_SESSION_CREATE TO GRAPH_ADMINISTRATOR;
    GRANT PGX_SERVER_GET_INFO TO GRAPH_ADMINISTRATOR;
    GRANT PGX_SERVER_MANAGE TO GRAPH_ADMINISTRATOR;
    GRANT PGX_SESSION_CREATE TO GRAPH_DEVELOPER;
    GRANT PGX_SESSION_NEW_GRAPH TO GRAPH_DEVELOPER;
    GRANT PGX_SESSION_GET_PUBLISHED_GRAPH TO GRAPH_DEVELOPER;
    GRANT PGX_SESSION_MODIFY_MODEL TO GRAPH_DEVELOPER;
    GRANT PGX_SESSION_READ_MODEL TO GRAPH_DEVELOPER;
    GRANT PGX_SESSION_CREATE TO GRAPH_USER;
    GRANT PGX_SESSION_GET_PUBLISHED_GRAPH TO GRAPH_USER;
  7. グラフ・サーバー(PGX)にアクセスする必要があるすべてのデータベース開発者にロールを割り当てます。たとえば:
    GRANT graph_developer TO <graphuser>

    <graphuser>はデータベースのユーザーです。個別の権限(PGX_の接頭辞が付いたロール)をユーザーに直接割り当てることもできます。

  8. 管理アクセス権が必要なユーザーに管理者ロールを割り当てます。たとえば:
    GRANT graph_administrator to <administratoruser>

    <administratoruser>は、データベースのユーザーです。