8.3.2.3 ステップ2: ユーザー名およびパスワードのボールト参照の追加(オプション)

ステップ1で作成したJSONファイルに、Oracle Databaseへの認証用のデータベース・ユーザー名およびデータベース・パスワードを追加します。パスワードの値はボールト参照です。

このステップは省略可能です。この構成では、データベース接続の接続識別子のデータベース資格証明を省略できます。

  1. OCI Object StorageのJSONファイルを使用するための前提条件」の説明に従って、データベース・パスワードをシークレットとして格納したOCI VaultまたはAzure Key Vaultを作成してあることを確認します。
  2. JSONファイルでuserおよびpasswordオブジェクトを指定します。
    • user: データベース・ユーザー名。

    • password:
      • type: 使用するボールトのタイプ。OCI Vaultの場合はocivaultを、Azure Key Vaultの場合はazurevaultを指定します。

      • value: OCI Vaultの場合は、ボールトに格納されているシークレットのOracle Cloud Identifier (OCID)を指定します。この値は、OCIコンソールの「シークレット情報」の「シークレット詳細」ページから取得できます。たとえば: "ocid1.vaultsecret.my-secret-id"

        Azure Key Vaultの場合は、Azure Key VaultのURI値を指定します。この値をAzureポータルから取得することも、ボールトの詳細を示すREST APIを使用することもできます。たとえば: "https://dbclients.vault.azure.net/secrets/salesappaswd"

      • authentication: Azure Key Vaultシークレット・ストアにアクセスするための認証パラメータ:
        { 
          "azure_client_id" : "<client id>", 
          "azure_client_secret" : "<secret>",
          "azure_tenant_id" : "<tenant id>" 
        }

        接続識別子のコマンドラインで設定された認証パラメータを使用して、OCI Vaultにアクセスできます。

    次のsales.jsonファイルは、sales.myexample.comサービス用に構成されたuser属性およびpassword属性をconnect_descriptorとともに示しています。パスワードはAzure Key Vaultに格納されます。
    { 
     "connect_descriptor" : "(DESCRIPTION=
                               (ADDRESS=
                                  (PROTOCOL=TCP) 
                                  (HOST=my sales dbserver)
                                  (PORT=1521))
                               (CONNECT_DATA=
                                  (SERVER=DEDICATED)
                                  (SERVICE_NAME=sales.myexample.com))
                             )"
     "user" : "admin",  
     "password" : {
        "type" : "azurevault",
        "value" : "https://dbclient.vault.azure.net/secrets/salesdbpasswd",
        "authentication" : {
           "azure_client_id" : "a12a1b12-ab12-1ab1-a1b2-12345a123aba",
           "azure_client_secret" : "A1B1A~ABCabc~ABaAbAb1223ABAB12abc_abcd",
           "azure_tenant_id" : "1a123ab1-a1b2-1a12-a1b1-a12bcdab01234"
        }
     }
    }
    同様に、次のmulti.jsonファイルは、user属性およびpassword属性を、salesおよびhrオブジェクトに対して指定されたconnect_descriptorとともに示しています。パスワードはOCI Vaultに格納されます。
    { 
     "sales" : { 
        "connect_descriptor" : "(DESCRIPTION=
                                  (ADDRESS=
                                     (PROTOCOL=TCP)
                                     (HOST=my sales dbserver)
                                     (PORT=1521))
                                  (CONNECT_DATA=
                                     (SERVER=DEDICATED)
                                     (SERVICE_NAME=sales.myexample.com))
                                )"
        "user" : "admin", 
        "password" : { 
          "type" : "ocivault", 
          "value" : "ocid1.vaultsecret.my-secret-id"
        }
     },
     "hr" : { 
        "connect_descriptor" : "(DESCRIPTION=
                                  (ADDRESS=
                                     (PROTOCOL=TCP)
                                     (HOST=my dbserver.my.example.com)
                                     (PORT=1521))
                                  (CONNECT_DATA=
                                     (SERVER=DEDICATED)
                                     (SERVICE_NAME=hr.my.example.com))
                               )" 
        "user" : "admin", 
        "password" : { 
          "type" : "ocivault", 
          "value" : "ocid1.vaultsecret.my-secret-id" 
        }
     } 
    }
  3. 更新したJSONファイルをOCI Object Storageに格納します:

    OCIコンソールで、バケットの「オブジェクト・ストレージ - バケットの詳細」ページに移動し、「オブジェクト」の下のそのバケットにファイルをアップロードします。