Exascale Infrastructure@Azure上のExadata Database Service用のAzure Key Vault統合
Exadata Database Service on Exascale Infrastructure@Azureでは、データベースの透過的データ暗号化(TDE)キー(マスター暗号化キー(MEK)とも呼ばれる)を、ファイルベースのOracleウォレットまたはOCI Vaultに格納できます。
この機能により、Exadata Database Service on Exascale Infrastructure@Azureユーザーは、Azure Key Vault (AKV) Managed HSM、AKV PremiumおよびAKV Standardを使用してTDE MEKを管理できます。この統合により、アプリケーション、Azureサービスおよびデータベースは、一元化されたキー管理ソリューションを使用してセキュリティを強化するとともに、キー・ライフサイクル管理を簡素化できます。
- 前提条件
Azure Key Vaultをデータベースのキー管理として構成する前に、次のステップを完了する必要があります。 - アイデンティティ・コネクタおよびKMSリソースを作成するためのネットワーク要件
Azure Key Management Service (KMS)リソースは、パブリック接続とプライベート接続の両方をサポートします。 - コンソールを使用したExascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合の管理
Exascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合を管理する方法について学習します。 - APIを使用したExascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合の管理
- マルチクラウドPKCS#11ドライバの更新
親トピック: ハウツー・ガイド
前提条件
Azure Key Vaultをデータベースのキー管理として構成する前に、次のステップを完了する必要があります。
Azure Key VaultをExadata VMクラスタ・レベルでKey Management Serviceとして構成する前に、次のステップを完了する必要があります:
- プライベート・ネットワークを使用する場合は、まず、Oracle Database@Azureのネットワーク計画に記載されている高度なネットワーク機能を使用する委任サブネットに必要な登録を完了してから、Exadata VMクラスタで使用される委任サブネットが少なくとも1つあるAzure Virtual Networkを作成する必要があります。
- Azureインタフェースを介してExadata VMクラスタをプロビジョニングします。ステップバイステップの手順については、Exadata VM Cluster for Azureのプロビジョニングを参照してください。
- ネットワーク要件を確認して、VMクラスタがパブリック・ネットワークを介してAzure KMSに接続するか、プライベート接続を介して接続するかを決定します。詳細は、「接続マシン・エージェントのネットワーク要件」または「アイデンティティ・コネクタおよびKMSリソースを作成するためのネットワーク要件」で、従う特定のステップを参照してください。
- データベースを作成する前に、次のポリシーが作成されていることを確認します。
allow any-user to manage oracle-db-azure-vaults IN tenancy where ALL { request.principal.type in ('exadbvmcluster') }
アイデンティティ・コネクタおよびKMSリソースを作成するためのネットワーク要件
Azure Key Management Service (KMS)リソースは、パブリック接続とプライベート接続の両方をサポートします。
次の各項では、パブリック・ネットワーク・アクセスのネットワーク要件の概要を説明します。
プライベート・ネットワークを使用した構成
- Arcエージェント・ネットワーク構成
次に示すエンドポイントがVMクラスタ・ノードからアクセスできることを確認します:
guestconfiguration.azure.comhis.arc.azure.comlogin.microsoftonline.commanagement.azure.compas.windows.netguestconfiguration.azure.compackages.microsoft.comaka.ms
プライベート・ネットワークを介してアイデンティティ・コネクタを作成するには、Azure Arcプライベート・リンク・スコープおよびプライベート・エンドポイントをAzureポータルで構成する必要があります。Azure Arc対応サーバーのプライベート接続を設定するステップの詳細は、Azureのドキュメントを参照してください。
重要:- プライベート・エンドポイントは、Oracle Exadata VMクラスタをホストするAzure Virtual Network (VNet)内の非委任サブネットに作成する必要があります。プライベート・エンドポイントは、委任サブネットではサポートされていません。デフォルトでは、Exadata VMクラスタは委任サブネットにプロビジョニングされます。
- 管理対象HSMにはプライベート接続が必要で、Advanced Networking機能を提供するAzureリージョンでのみサポートされています。サポートされているリージョンのリストは、Oracle Database@Azureのネットワーク計画を参照してください。
プライベート・ネットワークを介したプライベート・エージェント・リソースとの通信を許可するには、プライベートDNSゾーンおよび対応するAレコードを、Oracle Cloud Infrastructure (OCI)テナンシのVCNのDNS構成内に作成する必要があります。
プライベート・リンク・スコープに関連付けられたプライベート・エンドポイントのDNS構成には、必要なプライベート・エージェント・リソース・アドレスが含まれている必要があります。詳細は、「Connected Machineエージェントのネットワーク要件」の「URL」の項を参照してください。
まず、Azureポータルから必要なアドレスのリストを取得します。次に、OCIのDNSゾーン・エントリを更新して構成を完了します。
必要なIPアドレスのリストを取得するステップ:- Azureポータルにサインインします。
- 「Azure Arc Private link scopes」を検索します。
- リストから任意のプライベートリンクスコープを選択します。
- 「構成」メニューで、「プライベート・エンドポイント接続」をクリックします。
- 「プライベート・エンドポイント」リンクをクリックします。
- 「設定」で、DNS構成を選択して必要なアドレスを表示します。
例: プライベート・エージェント・リソースの追加(たとえば、
gbl.his.arc.azure.com)gbl.his.arc.azure.comに関連付けられたIPアドレスは、他の必要なエージェント・リソースとともに、プライベートDNSゾーンで定義する必要があります。手順:
- プライベート・ゾーンの作成
詳細は、プライベートDNSゾーンの作成を参照してください。
- ゾーンタイプ: プライマリ
- ゾーン名: <Descriptive name>
- コンパートメント: <コンパートメント名またはOCID>
- DNSレコードの追加
- ゾーン詳細ページの「レコード」タブにナビゲートします。
- [レコードの管理]をクリックし、[レコードを追加]をクリックします。
- 名前: gbl.his.arc.azure.com
- タイプ: A (IPv4アドレス)
- TTL(秒): 3600
- RDATAモード: 基本
- アドレス: <プライベートIPアドレス>
- ゾーンを公開します。
- 公開後にレコードがゾーンのページに表示されることを確認します。
- VMクラスタからAzureサービスへの接続がプライベート・ネットワークを介してルーティングされていることを確認します。
プライベート接続の場合でも、次のエンドポイントはAzure NATゲートウェイを介してルーティングする必要があります。
エージェントのリソース:
packages.microsoft.comlogin.microsoftonline.compas.windows.netmanagement.azure.comaka.ms
- Azure Key Vaultプライベート・エンドポイント構成
プライベート接続を介してAzure Key Vaultsのエンドポイントにアクセスするには、DNSゾーンを作成する必要があります。また、リソースの完全修飾ドメイン名(FQDN)と対応するプライベート・エンドポイントのIPアドレスをマッピングするAレコードが、OCIテナンシに追加される必要があります。
Exadata VMクラスタをホストしている仮想ネットワーク内のプライベート・エンドポイント経由で管理対象HSMサービスにアクセスするには、管理対象HSMへのプライベート・リンク接続を確立し、それをデフォルト・サブネットまたは非委任サブネットに関連付けることができます。「アイデンティティ・コネクタおよびKMSリソースを作成するためのネットワーク要件」の「プライベート・ネットワークを使用した構成」の項で説明されているステップに従います。詳細は、管理対象HSMとAzureプライベート・リンクの統合を参照してください。
パブリックネットワークを使用した構成
AzureポータルでNATゲートウェイを作成し、それをExadata VMクラスタの委任サブネットに関連付けます。詳細は、NATゲートウェイの作成および既存のサブネットへの関連付けを参照してください。
または、Azureネットワーク・ファイアウォールを使用してトラフィックを制限することもできます。詳細は、Azureポータルを使用したAzureファイアウォールのデプロイおよび構成を参照してください。
コンソールを使用したExascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合の管理
Exascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合を管理する方法について学習します。
- OCIコンソールからのアイデンティティ・コネクタの作成
アイデンティティ・コネクタを作成すると、Azure ArcエージェントがExadata VMクラスタ・仮想マシンにインストールされ、Azure Arc対応仮想マシンとして登録されます。 - アイデンティティ・コネクタの詳細の表示
アイデンティティ・コネクタの詳細を表示するには、この手順を使用します。 - Azure Key Managementの有効化または無効化
このステップでは、Azure Key Vault統合をサポートするために必要なライブラリをVMクラスタにインストールします。Exadata VMクラスタでAzure Key Managementを有効にする前に、アイデンティティ・コネクタが作成されていることを確認します。 - Azure Key Vault (Managed HSM、PremiumおよびStandard)の作成および必要な権限の割当て
Azure Key Vault Managed HSM、Azure Key Vault PremiumまたはAzure Key Vault Standardを作成し、権限を割り当てます。 - OCIコンソールへのAzure Key Vaultsの登録
これは、OCIコンソールからAzureキー・ボールトを登録する別の方法です。既存のVMクラスタでのデータベースの作成時にボールトをすでに登録している場合は、このステップをスキップできます。 - データベースの作成とキー管理ソリューションとしてのAzure Key Vaultの使用
このトピックでは、データベースを作成し、Azure Key Vaultをキー管理ソリューションとして使用するステップのみについて説明します。 - キー管理をOracle WalletからAzure Key Vaultに変更
様々な暗号化方法間で暗号化キーを変更する方法について学習します。 - Azure Key Vaultによって管理されるキーをコンテナ・データベース用にローテーションする
コンテナ・データベース(CDB)のAzureキー・ボールト暗号化キーをローテーションするには、この手順を使用します。 - Azure Key Vaultで管理されるプラガブル・データベース用のキーのローテーション
プラガブル・データベース(PDB)のAzureキー・ボールト暗号化キーをローテーションするには、この手順を使用します。
OCIコンソールからのアイデンティティ・コネクタの作成
アイデンティティ・コネクタを作成すると、Azure ArcエージェントがExadata VMクラスタ・仮想マシンにインストールされ、Azure Arc対応仮想マシンとして登録されます。
これにより、Arcエージェントによって生成された Azure IDを使用して、Azure Key Management Service (KMS)とのセキュアな通信が可能になります。Azure Arcエージェントは、パブリック ネットワークまたはプライベート接続設定を介して Azureサービスと通信できます。Azure Arcの詳細を参照してください。
Azureリソースにアクセスするには、各VMクラスタでアイデンティティ・コネクタが有効になっている必要があります。アイデンティティ・コネクタは、割り当てられたロールに応じて、VMクラスタとAzure Key Managementリソースとの間でパブリック接続またはプライベート接続を確立します。Azure KMSリソースにアクセスするにはロールが必要です。
現在のAzureアカウントのアクセス・トークンを生成するには、az account get-access-tokenを参照してください。
アイデンティティ・コネクタは、Oracle Exadata Database Service on Exascale InfrastructureインタフェースまたはDatabase Multicloud Integrationsインタフェースを使用する2つの方法のいずれかで作成できます。
Oracle Exadata Database Service on Exascale Infrastructure
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
デフォルトでは、「VMクラスタ」ページが選択されています。
- VMクラスタのリストから、使用しているクラスタを選択します。
- 「VMクラスタ情報」タブで、「マルチクラウド情報」の下にある「アイデンティティ・コネクタ」に移動します。「作成」ボタンをクリックします。
ノート
アイデンティティ・コネクタが以前に作成されていない場合は、「なし」と表示されます。
- 「アイデンティティ・コネクタ名」、「ExaDB-XS VMクラスタ」、「AzureサブスクリプションID」および「Azureリソース・グループ名」は読取り専用フィールドで、値が移入されます。
- AzureテナントIDおよびアクセス・トークンを入力します。
- 「拡張オプションの表示」セクションを展開します。
「プライベート接続情報」および「タグ」セクションが移入されます。
プライベート・エンドポイント接続を有効にするには、Arcエージェントの同じサブスクリプションにある場合、Azure arcプライベート・リンク・スコープ名を入力します。Azureアークのプライベート・リンク・スコープが異なるサブスクリプションにある場合は、「フルAzureリソースID」を入力します。
完全なAzureリソースIDを次の形式で入力します:/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HybridCompute/privateLinkScopes/<azure-arc-private-link-scope> - リソースのタグを追加するには、「タグの追加」をクリックし、必要な値を入力します。
- 選択内容を確認し、「作成」をクリックしてアイデンティティ・コネクタを作成します。
データベース・マルチクラウド統合
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「データベース・マルチクラウド統合」、「Microsoft Azure統合」の順にクリックします。
- 左側のナビゲーション・メニューから「アイデンティティ・コネクタ」を選択します。
- 「コンパートメント」ドロップダウン・リストから、使用しているコンパートメントを選択します。
- 「アイデンティティ・コネクタの作成」をクリックします。
- 「アイデンティティ・コネクタ情報」セクションで、次の情報を指定します。
- アイデンティティ・メカニズム: (読取り専用)アイデンティティ・メカニズムの名前
- リソース・タイプ: ドロップダウン・オプションから「ExaDB-XS VMクラスタ」を選択します
- ExaDB-XS VMクラスタ・コンパートメント: ドロップダウン・オプションからコンパートメントを選択します
- ExaDB-XS VMクラスタ: ドロップダウン・オプションからVMクラスタを選択します
- アイデンティティ・コネクタ名: ExaDB-XS VMクラスタを選択すると、アイデンティティ・コネクタ名によって名前が自動的に移入されます。
- 「Azure情報」セクションで、次の情報を指定します:
- AzureテナントIDを入力します。
- 「AzureサブスクリプションID」および「Azureリソース・グループ名」フィールドには、ExaDB-XS VMクラスタの選択に基づいて値が移入されます。
- アクセス・トークンを入力します。
- 「拡張オプションの表示」セクションを展開します。「プライベート接続情報」および「タグ」セクションが移入されます。これらのフィールドはオプションです。
プライベート・エンドポイント接続を有効にするには、Arcエージェントの同じサブスクリプションにある場合、Azure arcプライベート・リンク・スコープ名を入力します。Azureアークのプライベート・リンク・スコープが異なるサブスクリプションにある場合は、「フルAzureリソースID」を入力します。
完全なAzureリソースIDを次の形式で入力します:/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HybridCompute/privateLinkScopes/<azure-arc-private-link-scope> - リソースのタグを追加するには、「タグの追加」をクリックし、必要な値を入力します。
- 選択内容を確認し、「作成」をクリックします。
新しく作成されたアイデンティティ・コネクタが「アイデンティティ・コネクタ」ページに表示されます。ノート
「アイデンティティ・コネクタ」ページには、リソース・タイプに基づくアイデンティティ・コネクタのリストが表示され、「検索およびフィルタ」機能を使用してフィルタできます。
アイデンティティ・コネクタの詳細の表示
アイデンティティ・コネクタの詳細を表示するには、この手順を使用します。
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
デフォルトでは、「VMクラスタ」ページが選択されています。
- 選択したVMクラスタの名前をクリックします。
- 表示される「VMクラスタ詳細」ページの「マルチクラウド情報」セクションで、「アイデンティティ・コネクタ」フィールドに、以前に作成したアイデンティティ・コネクタが表示されることを確認します。
- アイデンティティ・コネクタの名前をクリックして、その詳細を表示します。関連付けられたExaDB-XS VMクラスタを表示することもできます。
Azure Key Managementの有効化または無効化
このステップでは、Azure Key Vault統合をサポートするために必要なライブラリをVMクラスタにインストールします。Exadata VMクラスタでAzure Key Managementを有効にする前に、アイデンティティ・コネクタが作成されていることを確認します。
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
デフォルトでは、「VMクラスタ」ページが選択されています。
- 選択したVMクラスタの名前をクリックします。
- 表示される「VMクラスタ詳細」ページの「マルチクラウド情報」セクションで、「Azureキーストア」の横にある「有効化」リンクをクリックします。
- 表示される「Azureキー管理の有効化」ダイアログで、「有効化」をクリックして操作を確認します。
アクションを確認すると、ライブラリがVMクラスタにインストールされます。
Azureキー・ストアのステータスが「無効」から「有効」に変わります。
- Azureキーストアを無効にするには、「無効化」リンクをクリックします。
- 表示される「Azureキー管理の無効化」ダイアログで、「無効化」をクリックして操作を確認します。
Azureキー管理を無効にすると、有効化中にインストールされたライブラリが削除され、使用するように構成されたデータベースの可用性に影響します。
Azureキー管理はVMクラスタ・レベルで構成されるため、クラスタ内のすべてのデータベースで同じキー管理ソリューションを使用する必要があります。ただし、Oracle Walletを使用するデータベースは、同じクラスタ内でAzure Key Vaultを使用するデータベースと共存できます。
Azure Key Vault (管理対象HSM、プレミアムおよび標準)の作成および必要な権限の割当て
Azure Key Vault Managed HSM、Azure Key Vault PremiumまたはAzure Key Vault Standardを作成し、権限を割り当てます。
詳細は、Azureポータルを使用したキー・ボールトの作成を参照してください。
Azure Key Vault Managed HSM、Azure Key Vault PremiumおよびAzure Key Vault Standardリソースへのアクセスおよび管理に必要な権限を付与するには、グループに特定のロールを割り当てる必要があります。
- グループを作成してメンバーを追加します。
Azureグループを使用すると、リソースに同じアクセスおよび権限を割り当ててユーザーを管理できます。
- Azureでグループを管理するには、「ユーザー管理者」または「グループ管理者」ロールが必要です。詳細は、Microsoft Entraグループおよびグループ・メンバーシップの管理を参照してください。
- セキュリティ・グループを作成し、Microsoft Azureポータルからメンバーを追加する必要があります。「セキュリティ」オプションを「グループ・タイプ」として選択する必要があります。詳細は、基本グループの作成およびメンバーの追加を参照してください。
- Arc対応VMをグループに追加できます。後続のステップで説明したロールは、個々のVMにロールを割り当てるのではなく、複数のVMを含むグループに割り当てることができます。
- Azure Key Vaultのタイプに基づいて、次のロールを割り当てます。
- 管理対象HSMの場合:
- IAM: リーダー
- ローカルRBAC: マネージドHSM暗号役員+マネージドHSM暗号ユーザー
- Key Vault PremiumおよびStandardの場合:
- IAM: Reader + Key Vault Crypto Officer
- 管理対象HSMの場合:
詳細なステップは、Azureポータルを使用したAzureロールの割当てを参照してください。
OCIコンソールへのAzure Key Vaultsの登録
これは、OCIコンソールからAzureキー・ボールトを登録する別の方法です。既存のVMクラスタでのデータベースの作成時にボールトをすでに登録している場合は、このステップをスキップできます。
- OCIコンソールから、「Database Multicloud Integrations」に移動し、「Microsoft Azure Integration」を選択します。「Microsoft Azure統合」セクションで、「Azure Key Vaults」を選択します。
ノート
登録を成功させるには、Azureポータルのボールトに少なくとも1つのキーを作成する必要があります。 - 「Azureキー・ボールトの登録」ボタンを選択します。
- ドロップダウン・リストから、「コンパートメント」を選択します。
- Azureテナンシの同じサブスクリプション内でAzure Key Vaultまたは管理対象HSMを検出し(同じサブスクリプションでアイデンティティ・コネクタおよびAzure Key Vaultまたは管理対象HSM)、キーを登録するには:
- 「Azureキー・ボールト」セクションで、「コネクタを使用したAzureキー・ボールトの検出」リストから「アイデンティティ・コネクタ」を選択します。
- 「検出」をクリックします。
Vault名のリストが表示されます。
- 「Vault名」の横にあるチェック・ボックスを選択します。
- Azureテナンシの同じサブスクリプション内で単一のAzure Key Vaultまたは管理対象HSMを検出するには、短いキー・ボールト名または完全なリソースIDのいずれかを指定できます。次のいずれかの形式で完全なリソースIDを指定します。
Azure Key Vaultの場合:
/subscriptions/<subscription-id>/resourceGroups/<resource-groups>/providers/Microsoft.KeyVault/vaults/<key-vault-name>Azure Managed HSMの場合:
/subscriptions/<subscription-id>/resourceGroups/<resource-groups>/providers/Microsoft.KeyVault/managedHSMs/<hsm-name>ノート
クロス・サブスクリプションでは、完全なリソースIDのみがサポートされます。 - Azureテナンシのサブスクリプション間でAzure Key Vaultまたは管理対象HSMを検出し(異なるサブスクリプションでアイデンティティ・コネクタおよびAzure Key Vaultまたは管理対象HSM)、キーを登録するには:
- 「Azureキー・ボールト」セクションで、「コネクタを使用したAzureキー・ボールトの検出」リストから「アイデンティティ・コネクタ」を選択します。
- Azure Key Vaultの完全なリソースIDを次の形式で指定します。
/subscriptions/<subscription-id>/resourceGroups/<resource-groups>/providers/Microsoft.KeyVault/vaults/<key-vault-name> - 「検出」をクリックします。
- リソースにタグを追加する場合は、「拡張オプション」セクションを展開し、「タグの追加」をクリックします。
- 「登録」をクリックして、ボールトをOCIにローカルに登録します。
- ボールトを登録すると、リスト内のボールトの「表示名」、「状態」、「タイプ」、「Azureリソース・グループ」および「作成済」の情報を表示できます。
- 使用しているボールトを選択し、「アイデンティティ・コネクタ・アソシエーション」タブをクリックして、現在のコンパートメント内のアイデンティティ・コネクタ・アソシエーションをリストします。
ノート
デフォルトの関連付けは、ボールト登録プロセス中に使用されるボールトとアイデンティティ・コネクタの間に自動的に作成されます。これにより、その特定のアイデンティティ・コネクタに関連付けられたVMクラスタでボールトを使用できるようになります。異なるアイデンティティ・コネクタに登録されている他のクラスタ(つまり、ボールトの検出時に使用されたものではない)で同じボールトを使用する場合は、ボールトとそれらの追加のアイデンティティ・コネクタ間のアソシエーションを明示的に作成する必要があります。
- 「拡張オプション」セクションを展開すると、リソースを編成するための「タグ」を追加できます。
- 選択内容を確認し、「作成」をクリックします。
データベースを作成し、Azure Key Vaultをキー管理ソリューションとして使用
このトピックでは、データベースを作成し、Azure Key Vaultをキー管理ソリューションとして使用するステップのみについて説明します。
For the generic database creation procedure, see To Create a Database in an Existing Oracle Exadata Database Service on Exascale Infrastructure VM Cluster.
前提条件
最初のデータベースを作成し、キー管理用にAzure Key Vaultを選択する前に、次の前提条件が満たされていることを確認します:
- 「アイデンティティ・コネクタおよびKMSリソースを作成するためのネットワーク要件」の項で説明されているすべてのネットワーク前提条件を満たしています
- アイデンティティ・コネクタが作成され、使用可能
- Azureキー管理はVMクラスタ・レベルで有効
- VMクラスタには、ボールトにアクセスするために必要な権限があります
- ボールトはOCIリソースとして登録されます
制限事項
- 仮想マシンの制限: VMクラスタをスケール・アウトしても、Azure Key Vaultを使用するデータベースは、新しく追加された仮想マシンに自動的に拡張されません。拡張を完了するには、Azureアクセス・トークンを指定して、VMクラスタの既存のアイデンティティ・コネクタを更新する必要があります。アイデンティティ・コネクタを更新した後、dbaascli database addInstanceコマンドを実行して、新しいVMにデータベース・インスタンスを追加します。
- Data Guardの制限事項:
- Azure Key Vaultを使用するプライマリのスタンバイ・データベースを作成する場合は、ターゲットVMクラスタにアクティブなアイデンティティ・コネクタがあり、Azureキー管理が有効になっており、アイデンティティ・コネクタとKey Vaultの間の必要なアソシエーションが正しく構成されていることを確認してください。
- クロスリージョンData Guardおよびデータベース・リストア操作は、キー管理にAzure Key Vaultを使用するデータベースではサポートされていません。
- PDB操作の制限:リモートPDB操作(クローン、リフレッシュ、再配置など)は、ソース・データベースと宛先データベースの両方が同じTransparent Data Encryption (TDE)キーを使用している場合にのみサポートされます。
ステップ
Azureキー管理がVMクラスタ・レベルで有効になっている場合、2つのキー管理オプション(Oracle WalletとAzure Key Vault)があります。
- 「暗号化」セクションで、「Azure Key Vault」を選択します。
- コンパートメントで使用可能な登録済Vaultを選択します。
ノート
- Vaultリストには、登録済のボールトのみが移入されます。
「新規ボールトの登録」リンクをクリックして、ボールトを登録します。Azureキー・ボールトの登録ページで、ボールトを選択し、「登録」をクリックします。
- ボールトに少なくとも1つのキーを登録する必要があります。
- Vaultリストには、登録済のボールトのみが移入されます。
- コンパートメントで使用可能なキーを選択します。
キー管理をOracle WalletからAzure Key Vaultに変更する
異なる暗号化方式間で暗号化キーを変更する方法について学習します。
- OCIコンソールで既存のVMクラスタに移動します。「コンテナ・データベース」タブを選択します。次に、使用しているデータベース・リソースを選択します。
- 「データベース情報」タブを選択し、「キー管理」セクションまでスクロール・ダウンします。
- 「暗号化」セクションで、「キー管理」が「Oracle Wallet」に設定されていることを確認し、「変更」リンクを選択します。
- 「キー管理の変更」ページで次の情報を入力します:
- ドロップダウン・リストから「キー管理」を「Azureキー・ボールト」として選択します。
- 使用しているVaultコンパートメントを選択し、コンパートメントで使用可能なVaultを選択します。
- 使用している「キー」コンパートメントを選択し、ドロップダウン・リストから「キー」を選択します。
- 「変更の保存」をクリックします。
Azure Key VaultからOracle Walletへのキー管理の変更は、APIまたはOCIコンソールを使用して実行できません。これは、dbaascli tde fileToHsmコマンドでのみサポートされます。また、Azure Key VaultとOCI VaultまたはOracle Key Vault (OKV)の切替えはサポートされていません。
コンテナ・データベース用のAzure Key Vaultによって管理されるキーのローテーション
コンテナ・データベース(CDB)のAzureキー・ボールト暗号化キーをローテーションするには、この手順を使用します。
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
- コンパートメントを選択します。
選択したコンパートメントに対するVMクラスタのリストが表示されます。
- VMクラスタのリストで、暗号化キーをローテーションするデータベースが含まれるVMクラスタの名前をクリックします。
- 「コンテナ・データベース」をクリックします。
- 暗号化キーをローテーションするデータベースの名前をクリックします。
「データベース詳細」ページに、選択したデータベースに関する情報が表示されます。
- 「暗号化」セクションで、「キー管理」が「Azure Key Vault」に設定されていることを確認し、「ローテーション」リンクをクリックします。
- 表示される「キーのローテーション」ダイアログで、「ローテーション」をクリックしてアクションを確認します。
キー・ローテーションは、OCIインタフェースを介して実行する必要があります。Azureインタフェースから直接キーをローテーションしても、データベースには影響しません。
プラガブル・データベース用のAzure Key Vaultによって管理されるキーのローテーション
プラガブル・データベース(PDB)のAzureキー・ボールト暗号化キーをローテーションするには、この手順を使用します。
- ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
- コンパートメントを選択します。
選択したコンパートメントに対するVMクラスタのリストが表示されます。
- VMクラスタのリストで、起動するPDBを含むVMクラスタの名前をクリックし、その名前をクリックして詳細ページを表示します。
- 「コンテナ・データベース」で、暗号化キーをローテーションするPDBを含むデータベースを見つけます。
- データベースの名前をクリックして、「データベース詳細」ページを表示します。
- ページの「リソース」セクションの「プラガブル・データベース」をクリックします。
このデータベース内の既存のPDBのリストが表示されます。
- 暗号化キーをローテーションするPDBの名前をクリックします。
プラガブル詳細ページが表示されます。
- 「暗号化」セクションに、キー管理がAzure Key Vaultとして設定されていることが表示されます。
- 「Rotate」リンクをクリックします。
- 表示される「キーのローテーション」ダイアログで、「ローテーション」をクリックしてアクションを確認します。
APIを使用したExascale Infrastructure@Azure上のExadata Database Service用のAzure Key Vault統合の管理
APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。
これらのAPI操作を使用して、Exascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合を管理します。
表5-9 Exascale Infrastructure@Azure上のExadata Database ServiceのAzure Key Vault統合を管理するためのAPI操作
| API | 説明 |
|---|---|
createOracleDbAzureConnector |
Azure固有の詳細をお客様から取得し、VMクラスタへのArc Agentのインストールを自動化します。 |
deleteOracleDbAzureConnector |
Azure Connectorリソースを削除し、ArcエージェントをVMクラスタからアンインストールします。 |
getOracleDbAzureConnector |
特定のAzure Connectorリソースの詳細をフェッチします。 |
listOracleDbAzureConnectors |
指定されたフィルタに基づいてAzure Connectorリソースをリストします。 |
CreateMultiCloudResourceDiscovery |
新しいマルチクラウド・リソース検出リソースを作成します。 |
GetMultiCloudResourceDiscovery |
特定のマルチクラウド・リソース検出リソースの詳細を取得します。 |
ListMultiCloudResourceDiscoveries |
すべてのマルチクラウド・リソース検出リソースのリストを取得します。 |
CreateOracleDbAzureVaultAssociation |
Oracle DBとAzureボールトの間に新しいアソシエーションを作成します。 |
GetOracleDbAzureVaultAssociation |
特定のOracle DB Azureボールト・アソシエーションの詳細を取得します。 |
ListOracleDbAzureVaultAssociations |
すべてのOracle DB Azureボールト・アソシエーションのリストを取得します。 |
createExadbVMCluster |
VMクラスタを作成します。 |
getExadbVmCluster |
指定されたVMクラスタに関する情報を取得します。 |
listExadbVmClusters |
指定されたコンパートメント内のVMクラスタのリストを取得します。 |
deleteExadbVMCluster |
指定されたVMクラスタを削除します。 |
CreateDatabase |
指定されたデータベース・ホームに新しいデータベースを作成します。データベース・バージョンが指定されている場合は、データベース・ホームのバージョンと一致する必要があります。 |
CreateDatabaseFromBackup |
データベース・バックアップからのリストアによるデータベースの作成の詳細。 警告: Oracleでは、APIを使用して文字列値を指定するときに機密情報を使用しないことをお薦めします。 |
MigrateVaultKey |
暗号化キー管理を、Vaultサービスを使用して顧客管理からOracle管理に変更します。 |
RotateVaultKey |
既存のVaultサービス・キーの新しいバージョンを作成します。 |
RestoreDatabase |
指定したリクエスト・パラメータに基づいてデータベースをリストアします。 |
マルチクラウドPKCS#11ドライバの更新
Azure用のPKCS#11ドライバは、VMクラスタでAzureキー管理が有効になっているときに自動的にインストールされます。ドライバがインストールされていることを確認し、そのバージョンを確認するには、次のコマンドを実行します。
rpm -qa | grep pkcsこのコマンドは、VMクラスタにインストールされているPKCSパッケージをリストします。Azure、Google CloudまたはAWSのいずれかに対応する、一度にアクティブにできるPKCS#11ドライバは1つのみです。
出力例:
pkcs-multicloud-driver-maz-0.2-250814.1708.x86_64これにより、pkcs-multicloud-driver-mazパッケージがバージョンおよびアーキテクチャとともにインストールされることが確認されます。
PKCS#11ドライバは、顧客のプリファレンスに応じて、ローリング・メカニズムまたは非ローリング・メカニズムのいずれかを使用して更新できます。
ローリング・モードでは、更新は一度に1つのVMに適用され、そのVM上のデータベースは、次に進む前に再起動されます。非ローリング・モードでは、クラスタ内のすべてのデータベースが停止され、更新がすべてのノードに適用され、データベースがオンラインに戻ります。後続のステップ(特に両方のシナリオのステップ3)では、PKCS#11ドライバの更新時にバージョンに応じて異なるアクションが必要になるため、ユーザーは使用中のdbaastoolsバージョンを認識する必要があります。
dbaastoolsのバージョンは、次のコマンドを実行して確認できます。
/var/opt/oracle/dbaascli/dbaascli admin showLatestStackVersionローリング・アップデート
各ゲストVMで、次のようにPKCS#11ドライバ更新を適用します(一度に1つのノード)。
- Azure KMSを使用しているデータベース・インスタンスを停止します。
Azure KMS for master encryption keys (MEK)を使用するすべてのデータベースは、ドライバを更新する前に停止する必要があります。次のものを使用します。
srvctl stop instance -d <db_unique_name> -i <instance_name> [-o <stop_option>]-d <db_unique_name>: データベースの一意の名前(データベースのDB_UNIQUE_NAMEと同じ)。-i <instance_name>: 停止するインスタンスの名前(たとえば、orcl1)。
その他のオプションの詳細は、SRVCTLコマンドライン・ヘルプまたはリファレンス・マニュアルを参照してください。
- データベースがシャットダウンされていることを確認します。
続行する前に、Azure KMSを使用しているすべてのデータベース・インスタンスが停止していることを確認してください。
- RPMを更新します。
rootユーザーとして、次のコマンドを実行します(dbaastools 25.4.1以降の場合)。/var/opt/oracle/dbaascli/dbaascli admin updateMCKMS --keystoreProvider AZURE --nodeList<node>--databasesStoppedこのコマンドは、指定されたノードに最新のRPMをダウンロードしてインストールします。
- ドライバのインストールを確認します。
rootユーザーとして次のコマンドを実行します。/bin/rpm -qa | grep -i pkcs-multicloud-driver - データベースインスタンスを起動します。
ドライバの更新後、次を使用してデータベース・インスタンスを再起動します。
<oracle_home>/bin/srvctl start instance -node "<node>"
非ローリング更新
非ローリング・モードでは、PKCS#11ドライバ更新を適用する前に、クラスタ上のすべてのデータベースが停止されます。
- Azure KMSを使用してデータベースを停止します。
ドライバを更新する前に、Azure KMS for master encryption keys (MEK)を使用するすべてのデータベースを停止します。
dbaascli database stop [--dbname <value>] - データベースがシャットダウンされていることを確認します。
続行する前に、Azure KMSを使用しているすべてのデータベースが停止されていることを確認します。
- RPMをアップグレードします。
rootユーザーとして、次のコマンドを実行します(dbaastools 25.4.1以降の場合)。/var/opt/oracle/dbaascli/dbaascli admin updateMCKMS --keystoreProvider AZURE --databasesStoppedこのコマンドは、最新のRPMをダウンロードしてインストールします。
- ドライバのインストールを確認します。
rootユーザーとして次のコマンドを実行します。/bin/rpm -qa | grep -i pkcs-multicloud-driver - データベースを再起動します。
ドライバが更新されたら、データベースを再起動します。
dbaascli database start [--dbname <value>]