Oracle Key Vaultでのマスター暗号化キーの管理
Autonomous AI Databaseは、Oracle Key Vault (OKV)に存在する顧客管理Transparent Data Encryption (TDE)キーをサポートしています。
Oracle Key Vaultで顧客管理暗号化キーを使用するための前提条件
Autonomous AI Database上のOracle Key Vault (OKV)に存在する顧客管理マスター暗号化キーを使用するための前提条件ステップについて説明します。
要件:
-
Autonomous AI Databaseインスタンスでは、プライベート・エンドポイントを使用する必要があります。
-
Autonomous AI Databaseは、プライベート・ネットワークにあるOKVインスタンスをサポートし、Autonomous AI Databaseが存在する同じネットワークからアクセスできます。
詳細は、VCNおよびサブネット管理およびOracle Cloud Infrastructure VMコンピュート・インスタンスでのOracle Key Vaultのデプロイを参照してください。
制限:
- OKVは、クロス・リージョンAutonomous Data Guardスタンバイではサポートされていません。
これらのステップに従います。
-
OKVエンドポイント、ウォレットおよびTDEマスター・キーを作成します。
-
OKVインスタンスにサインインします。
-
OKVインスタンスの詳細ページでパブリックIPアドレスまたはプライベートIPアドレスをコピーして、ブラウザに貼り付けます。
-
OKVインスタンスのログイン・ページで、ユーザー名とパスワードを入力します。
-
-
OKVエンドポイントを作成して登録します。
-
OKVホーム・ページで「Endpoints」をクリックします。
-
エンドポイントの詳細ページで「追加」をクリックし、エンドポイントの名前を入力します。
-
その他のすべての設定をデフォルトにし、「登録」をクリックします。
たとえば:

詳細は、エンドポイントの追加、削除、または再エンロールを参照してください。
-
-
ウォレットの作成
OKVウォレットには、TDEマスター暗号化キーが保持されます。
-
OKVホーム・ページから、「Keys & Wallets」ページにナビゲートします。
-
「Keys & Wallets」ページの「Wallets」で、「Create」をクリックします。
-
ウォレットの名前を「名前」フィールドに入力し、「保存」をクリックします。
たとえば:

詳細は、「仮想Walletの作成」を参照してください。
-
-
ウォレットにTDEマスター暗号化キーを作成します。
-
「キーとシークレット」を選択し、「作成」をクリックします。
-
「アプリケーション・キー」で、「TDEマスター暗号化キー」を選択します。
-
「抽出可能」で、「True」を選択します。
-
Date of Deactivationが空であることを確認します。
たとえば:

- 「Wallet Membership」で、「Select Wallet」をクリックします。
-
表示されたウォレットのリストから、前のステップで作成したウォレットを選択し、「閉じる」をクリックします。
-
「作成」をクリックします。TDEマスター暗号化キーが作成され、「Walletコンテンツ」の下に表示されます。
-
-
前に作成したウォレットをデフォルト・ウォレットにするようにエンドポイントを変更します。
-
エンドポイントの詳細ページにナビゲートします。
-
「Default Wallet」ペインで「Choose Wallet」を選択します。
-
「Walletの選択」ページで、以前に作成したウォレットを選択し、「選択」をクリックします。
-
「保存」をクリックします。
-
-
Restfulサービスを有効にします。
ノート
ノート:ウォレットをダウンロードするには、後続のステップでcurlコマンドを正常に実行するには、OKVインスタンスでRestfulサービスを有効にする必要があります。-
OKVホーム・ページから、「システム」タブを選択します。
-
左側のナビゲーション・ペインで、「設定」をクリックします。
-
「System Configuration」から「Restful services」を選択します。
-
「すべて」、「保存」の順にクリックします。
-
-
-
次の必要な設定でAutonomous AI Databaseインスタンスをプロビジョニングします:
-
「ネットワーク・アクセスの選択」で、「プライベート・エンドポイント・アクセスのみ」を選択します。
-
「仮想クラウド・ネットワーク」で、このデータベース・インスタンスが実行されているVCNを選択します。
-
「サブネット」で、このデータベース・インスタンスが実行されているプライベート・サブネットを選択します。
-
「ネットワーク・セキュリティ・グループ(NSG)」で、セキュリティ・グループを選択します。
-
「暗号化キー」設定では、デフォルトで「Oracle管理キーを使用した暗号化」に設定されます。これらの前提条件ステップが完了すると、これらの設定がOKVの顧客管理鍵に変更されます。お客様が管理するキーは、インスタンスのプロビジョニング時に無効になります。詳細は、Oracle Key Vaultを使用したAutonomous AI Databaseでの顧客管理暗号化キーの使用を参照してください。
-
-
Autonomous AI Databaseインスタンスに接続し、OKVウォレットのディレクトリを作成します。
-
ADMINユーザーとしてプライベート・エンドポイント自律型AIデータベース・インスタンスに接続します。
たとえば、OKVDEMO1データベース・インスタンスに接続します。
<pre class="copy"><code>SQL> connect ADMIN/*<password>*@OKVDEMO1_low</code></pre> -
Autonomous AI Databaseインスタンスにディレクトリ・オブジェクトを作成します。
たとえば:
<pre class="copy"><code>SQL> create directory okv_dir as 'okvdir';</code></pre> -
ディレクトリが作成されていることを確認します。
たとえば、次の文では
OKV_DIRディレクトリ・オブジェクトが作成され、文の結果にはディレクトリ名(OKV_DIR)とディレクトリ・パス(/u03/dbfs/<path data>/data/okvdir)が表示されます。<pre class="copy"><code>SQL> connect ADMIN/<*admin password*>#@OKVDEMO1_low Connected SQL> SQL> create directory okv_dir as 'okvdir'; Directory created. SQL> select * from dba_directories where directory_name = 'OKV_DIR'; OWNER --------------------------------------------------------------------- DIRECTORY_NAME --------------------------------------------------------------------- DIRECTORY_PATH --------------------------------------------------------------------- ORIGIN_CON_ID ------------- SYS OKV_DIR /u03/dbfs/<*path data*>/data/okvdir SQL></code></pre>
-
-
エンドポイント・ウォレットを、Autonomous AI Databaseインスタンスで作成されたディレクトリ・オブジェクトにダウンロードします。このウォレットは、TDEマスター暗号化キーを含むOKVの仮想TDEウォレットではありません。このウォレットには、OKVとAutonomous AI Databaseの間のmTLS 1.2接続を確立するために必要な証明書が含まれています。
-
OKVインスタンスからエンドポイントのウォレットをダウンロードします。
OKVと同じネットワーク上のコンピュート・インスタンスから次のコマンドを実行します。
<pre class="copy"><code>curl -k -X POST --location https**:**//*OKV server*:5695/okv/cloud/utility/endpoint/download/sso --data "token=*Enrollment Token*" --output cwallet.sso</code></pre>説明:
-
OKV serverは、内部完全修飾ドメイン名(FQDN)またはプライベートIPアドレスです。OCI VMを使用してOKVをホストしている場合、この値は、プライマリVNICの「ネットワーキング」タブのOCI OKVインスタンスの詳細ページから取得できます。 -
Enrollment Tokenは、「エンドポイント」ページで見つかったエンドポイントのエンロール・トークンです。
たとえば:
<pre class="copy"><code>$ curl -k -X POST --location https://10.0.0.123:5695/okv/cloud/utility/endpoint/download/sso --data "token=H5r8NzqxopYOgkZC" --output cwallet.sso % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3697 100 3675 100 22 2157 12 0:00:01 0:00:01 --:--:-- 2172 ls -altr ./cwallet.sso -rw-r--r--. 1 opc opc 3675 Jun 17 16:53 wallet.sso</code></pre>ウォレットがダウンロードされると、OKVインスタンスのエンドポイントがREGISTEREDからENROLLEDに変わります。
-
-
ウォレットをObject Storageにアップロードします。
アップロード・オブジェクトを使用して、ウォレット・ファイルをローカル・マシンからオブジェクト・ストレージ・バケットにアップロードします。詳細は、バケットへのオブジェクトのアップロードを参照してください。
-
Object Storageで、アップロードされたウォレット・ファイルの事前認証済リクエスト(PAR) URLを生成します。詳細は、オブジェクト・ストレージでの事前認証済リクエストの作成を参照してください。
-
VMから、ADMINユーザーとしてデータベース・インスタンスに接続します。
-
データベース・インスタンスで、
DBMS_CLOUD.GET_OBJECTプロシージャを実行して、ウォレットをオブジェクト・ストレージからデータベース・インスタンスのウォレット・ディレクトリにダウンロードします。たとえば:
<pre class="copy"><code>BEGIN DBMS_CLOUD.GET_OBJECT( object_uri => '*<PAR URL>*', directory_name => '*<wallet_dir>*'); END; /</code></pre>-
説明:
-
object_uriは、オブジェクト・ストレージのウォレット・ファイルに対して生成されたPAR URLです。 -
directory_nameは、データベース・インスタンスで作成されたウォレット・ディレクトリの名前です。
詳細は、「GET_OBJECTプロシージャおよびファンクション」を参照してください。
-
-
-
オブジェクト・ストレージからウォレットを削除します。
-
-
Wallet Contentから「詳細」列から「一意の識別子」値をコピーします。
-
証明書DNを抽出します。
次のコマンドを実行して、証明書DNを取得します。
<pre class="copy"><code>$ openssl x509 -in ./CA.pem -noout -subject -nameopt RFC2253 | sed 's|subject=||'</code></pre> Output <pre class="copy"><code>CN=CA,OU=Key_Vault,O=Oracle,L=Redwood_City,ST=California,C=us</code></pre>ここで、CNは証明書DNです。
または、OKVコンソールから証明書DNの詳細を取得できます。
-
OKVインスタンスにサインインし、「システム」タブをクリックします。
-
左側のナビゲーション・ペインで、「システム」の下の「設定」をクリックします。
-
「証明書」で、「サービス証明書」をクリックします。
-
「現在のCA証明書」セクションで、「共通名(証明書DN)」を見つけて、前述の
opensslコマンドを実行するかわりに、この値を証明書DNとして使用します。
-
-
Oracle Key Vaultを使用した自律型AIデータベースでの顧客管理暗号化キーの使用
Oracle Key Vault (OKV)に存在する顧客管理マスター暗号化キーを使用してAutonomous AI Databaseを暗号化するステップを示します。
これらのステップに従います。
-
必要に応じて、顧客管理の必須暗号化キー前提条件ステップを実行します。詳細は、「Oracle Key Vaultで顧客管理暗号化キーを使用するための前提条件」を参照してください。
-
Autonomous AI Databaseインスタンスの「詳細」ページで、「その他のアクション」をクリックし、「暗号化キーの管理」を選択します。

ノート
ノート: OKVで顧客管理キーをすでに使用していて、TDEキーをローテーションする場合は、次のステップに従って別のキーを選択します(現在選択されているマスター暗号化キーとは異なるキーを選択します)。ただし、以前に同じAutonomous AI Databaseインスタンスで使用されていたOKVキーを使用することはできません。 -
「暗号化キーの管理」ページで、「顧客管理キーを使用した暗号化」を選択します。
-
「Key type」ドロップダウンで、「Oracle Key Vault (OKV)」を選択します。
「暗号化キーの管理」ダイアログに、Oracle Key Vault (OKV)オプションが表示されます。

-
次の情報を入力します:
-
OKV UUID: OKVインスタンスにあるキーのTDEマスター・キーの一意の識別子を入力します。
次の値を検索するには:
-
OKVインスタンスにサインインし、「Keys & Wallets」を選択します。
-
Autonomous AI Databaseエンドポイントのデフォルト・ウォレットの名前をクリックします。
-
「Wallet Contents」までスクロールし、「Details」列から「Unique Identifier」をコピーします。
たとえば:
<pre class="copy"><code>BC63511B-4B4A-411C-A71C-4AA90005F632 OKV Server URI: ok Certificate DN:</code></pre> Click the endpoint name, then click the green **Download (PEM format)**; this downloads the "CA.pem" to your computer. Extract the certificate DN with a command such as: <pre class="copy"><code>$ openssl x509 -in ./CA.pem -noout -subject -nameopt RFC2253 | sed 's|subject=||'</code></pre>次に例を示します。
<pre class="copy"><code>CN=CA,OU=Key_Vault,O=Oracle,L=Redwood_City,ST=California,C=us</code></pre> -
自律型AIデータベース・エンドポイントのデフォルト・ウォレットの名前をクリックします。
-
「Walletコンテンツへのアクセス」までスクロールし、「一意の識別子」をコピーします。

-
「OKV UUID」フィールドに一意の識別子を貼り付けます。
- OKVサーバーURI - OKVインスタンスの詳細ページで見つかった Internal Fully Qualified Domain NameまたはプライベートIPを入力します。
たとえば、OCI VMを使用してOKVをホストする場合、この値はOKVインスタンスの詳細ページの「プライマリVNIC」の下にあります:

-
証明書DN - 証明書識別名(DN)を入力します。
-
証明書ID (オプション) - 証明書IDを入力するか、空白のままにします。
ノート
ノート: OKVバージョン21.9以降を使用する場合、このフィールドはオプションです。21.9 より小さいOKVバージョンを使用している場合は、証明書IDが必要です。 -
ディレクトリ名 - ウォレットがAutonomous AI Databaseインスタンスに保存されるディレクトリ名を入力します。
-
-
-
「保存」をクリックします。
保存が正常に完了すると、Autonomous AI Databaseインスタンスの暗号化設定が更新され、顧客管理キー(Oracle Key Vault (OKV))と表示され、作業リクエストの状態が成功と表示されます。

詳細は、Autonomous AI Databaseで顧客管理キーを使用するためのノートを参照してください。