4.2.10.3 Kerberosチケットを使用したグラフ・サーバーへのログイン

Kerberosチケットを使用してグラフ・サーバー(PGX)にログインするステップは、次のとおりです。
  1. okinitコマンドを使用して、新しいKerberosチケットを作成します。
    $ okinit <username>

    これにより、パスワードの入力を求められ、新しいKerberosチケットが作成されます。

  2. JShellを使用して、ベースURLパラメータのみを指定してリモート・グラフ・サーバーに接続します。
    $ opg4j -b https://localhost:7007
    または、Pythonクライアントを使用します。
    $ opg4py -b https://localhost:7007
    Linuxでは、JShellおよびPython対話型クライアント・シェルによってローカル・ファイル・システム上のKerberosチケットが自動的に検出され、それを使用してグラフ・サーバーで認証されます。
  3. 自動検出が機能しない場合は、チケットをシェルに明示的に渡すこともできます。oklistコマンドを実行して、ローカル・ファイル・システム上のチケットの場所を探します。
    $ oklist
     
    Kerberos Utilities for Linux: Version 19.0.0.0.0 - Production on 31-MAR-2021 15:26:46
     
    Copyright (c) 1996, 2019 Oracle.  All rights reserved.
     
    Configuration file : /etc/krb5.conf.
    Ticket cache: FILE:/tmp/krb5cc_54321
    Default principal: oracle@realm
  4. --kerberos_ticketパラメータを使用して、Kerberosチケットのパスを指定します。たとえば、JShellを使用します。
    $ opg4j -b https://localhost:7007 --kerberos_ticket /tmp/krb5cc_54321
    または、Pythonクライアントを使用します。
    $ opg4py -b https://localhost:7007 --kerberos_ticket /tmp/krb5cc_54321

    Javaクライアント・プログラム(または埋込みモードでJShell)を使用している場合は、次のAPIを使用してサーバー・インスタンスを取得できます。

    ...
    ServerInstance instance = GraphServer.getInstance("https://localhost:7007", "/tmp/krb5cc_54321");
    PgxSession session = instance.createSession("my-session");
    ...

    Pythonクライアント・プログラム(または埋込みモードでopg4py)を使用している場合は、次のAPIを使用してサーバー・インスタンスを取得できます

    ...
    instance = graph_server.get_instance("https://localhost:7007", "/tmp/krb5cc_54321")
    session = instance.create_session("my-session")
    ...
    リモート・グラフ・サーバーに接続する場合は、Oracle Graph Clientがインストールされていることのみが必要です。次に例を示します。
    import sys
    import pypgx as pgx
     
    sys.path.append("/path/to/graph/client/oracle-graph-client-21.2.0/python/pypgx/pg/rdbms")
     
    import graph_server
      
    base_url = "https://localhost:7007"
    kerberos_ticket = "/tmp/krb5cc_54321"
      
    instance = graph_server.get_instance(base_url, kerberos_ticket)
    print(instance)