8.3.2.1 OCI Object StorageのJSONファイルを使用するための前提条件
OCI Object Storageの使用を開始する前に、Oracle Cloud Infrastructure (OCI)コンソール、またはOCI CLIかAPIを使用して、次のステップを実行します。
-
OCI Object Storageにバケットを作成します:
OCI Object Storageサービスを使用して、Object Storageネームスペースのコンパートメント内にバケットを作成します。集中化された構成プロバイダのJSONファイルを、後でオブジェクトとしてこのバケットにアップロードします。
-
ポリシーを作成し、それをデータベース・ユーザーに割り当てます:
OCI管理者は、セキュリティ・アクセス権をポリシーで付与する必要があります。OCI Identity and Access Management (IAM)ポリシーを作成し、それをデータベース・ユーザーに割り当てて、コンパートメント内のオブジェクト・ストレージ・リソースにアクセスします。
-
(オプション)シークレットのボールトを作成し、認可権限を付与します:
Oracle Database資格証明とOracleウォレット・データをOCI VaultまたはAzure Key Vaultに格納できます。
-
Oracle Database資格証明を格納するには:
データベース・パスワードをシークレットとして格納したOCI VaultまたはAzure Key Vaultを作成します。
-
Oracleウォレット・データを格納するには:
マルチテナント・クラウド・サービス環境で実行されている
SQLNET
クライアント・アプリケーションでは、ウォレットをリモート・ストアに格納できます。これらのアプリケーションではローカル・システム・ファイルに格納されているウォレットにアクセスできない場合があるため、この機能は、ウォレットの保持にファイル・システム・アクセスを必要とする相互Transport Layer Security (mTLS)接続に特に役立ちます。ウォレット・データを格納するには、まず自動ログイン・ウォレット・ファイル(
cwallet.sso
)をBase64
形式に変換してから、Base64
形式のcwallet.sso
値をシークレットとして格納したOCI VaultまたはAzure Key Vaultを作成します。-
cwallet.sso
ファイルをBase64
形式に変換します。cwallet.sso
をBase64
に変換するための一般的な方法は、Linuxで次のopenssl
コマンドを使用することです:cat cwallet.sso | base64 -w 0 > file_to_upload
ここでは、
file_to_upload
により、変換するcwallet.sso
ファイルを指定しています。 -
cwallet.sso
ファイルのBase64
形式の文字列の内容を新規行のないシークレット・コンテンツとして貼り付けることで、OCI VaultまたはAzure Key Vaultを作成します。
-
後でこれらのボールトへの参照をJSONファイルに追加します。OCI管理者は、OCI Vaultにアクセスするための認可権限をデータベース・ユーザーに付与する必要があります。同様に、Azure App Configurationストアの管理者は、Azure Key Vaultへのアクセスのために、登録されたOAuthアプリケーションに認可権限を付与する必要があります。
これらのステップの実行方法の詳細は、OCI VaultのドキュメントまたはAzure Key Vaultのドキュメントを参照してください。
-
-
集中化された構成プロバイダのJSONファイルの形式を理解します:
接続記述子は、アプリケーション要件に基づいて、次のJSON形式のいずれかで、集中化された構成プロバイダのJSONファイルにおいて編成できます:-
connect_descriptor
サブオブジェクトを含む単一のオブジェクト -
各オブジェクトが独自の
connect_descriptor
サブオブジェクトを持つ複数のオブジェクト(カンマ区切り)
オプションで、
user
およびpassword
サブオブジェクト(データベース・ユーザー名とパスワードを指定するため)、wallet_location
サブオブジェクト(ウォレット・ディレクトリを指定するため)、およびoci
サブオブジェクト(Oracle Call Interface構成パラメータを指定するため)を同じファイル内に追加できます。データベース・クライアントは、接続記述子、データベース・ユーザー名とパスワード、ウォレット・データおよびその他のOracle Call Interface属性を導出するために、JSONオブジェクト内の特定のネットワーク・サービス名を検索します。接続識別子は、OCI Object StorageエンドポイントからこれらのJSONオブジェクトを取得し、それを使用して格納された属性を特定します。これらの値がデータベース接続に使用されます。
集中化された構成プロバイダJSON (CCJSON)の構文は次のとおりです:Centralized Configuration Provider JSON -> CCJSON_elements CCJSON_elements -> CCJSON_elment -> CCJSON_element, CCJSON_element CCJSON_element -> '{' members '}' members -> member -> member, member member -> cd -> member, cd_related cd -> "connect_descriptor" : "<connect_descriptor>" cd_related -> "user" : "<database user name>" -> "password" : '{' password_data '}' -> "wallet_location" : '{' wallet_data '}' -> "oci" : '{' oci_config_members '}' -> nul password_data -> '{' "type" : vault_type, "value" : vault_value, "authentication": authentication_value '}' wallet_data -> '{' "type" : vault_type, "value" : vault_value, "authentication": authentication_value '}' vault_type -> "ocivault" -> "azurevault" vault_value -> "<vault-specific identifier>" authentication_value -> '{' "azure_client_id" : "<client id>", "azure_client_secret" : "<secret>", "azure_tenant_id" : "<tenant id>" '}' -> null oci_config_members -> '{' oci_config_name : oci_config_value '}' oci_config_value -> json_value oci_config_name -> prefetch_rows -> statement_cache_size -> lob_prefetch_size -> session_pool session_pool -> '{' "min" : value, "max" : value, "increment" : value, "max_lifetime_session" : value, "max_use_session" : value, "inactivity_timeout" : value '}' prefetch_rows -> "prefetch_rows" : numeric_value statement_cache_size -> "statement_cache_size" : numeric_value lob_prefetch_size -> "lob_prefetch_size" : numeric_value numeric_value -> "<number>"
以降の各項で、これらの値を使用してJSONファイルを作成する方法を確認します。
-
親トピック: OCI Object StorageのJSONファイル