Exascaleインフラストラクチャ上のOracle Exadata Database Service用のOracle Database機能の構成
Exascaleインフラストラクチャ・インスタンス上のOracle Exadata Database ServiceのOracle Multitenant、表領域暗号化およびその他のオプションを構成する方法について学習します。
- Exascaleインフラストラクチャ・インスタンス上のOracle Exadata Database ServiceでのOracle Multitenantの使用
Exascaleインフラストラクチャ上のOracle Exadata Database Serviceでマルチテナント環境を使用する場合の様々な機能の要件について学習します。 - 表領域の暗号化の管理
Exascaleインフラストラクチャ上のOracle Exadata Database Serviceでの表領域暗号化の実装方法について学習します
親トピック: ハウツー・ガイド
Exascaleインフラストラクチャ・インスタンス上のOracle Exadata Database ServiceでのOracle Multitenantの使用
Exascaleインフラストラクチャ上のOracle Exadata Database Serviceでマルチテナント環境を使用する場合の様々な機能の要件について学習します。
Exascale InfrastructureインスタンスでOracle Exadata Database Serviceを作成すると、Oracle Multitenant環境が作成されます。
マルチテナント・アーキテクチャを使用すると、0個以上のプラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)としてOracle Databaseを機能させることができます。PDBは、スキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトの移植可能なコレクションで、Oracle Net Servicesクライアントには非CDBとして表示されます。
プラガブル・データベース(PDB)でOracle Transparent Data Encryption (TDE)を使用するには、PDBのマスター暗号化キーを作成してアクティブにする必要があります。
マルチテナント環境では、各PDBは独自のマスター暗号化キーを持ち、これはすべてのコンテナが使用する単一のキーストアに格納されます。
Exascaleインフラストラクチャ・インスタンスCDB上のOracle Exadata Database Serviceに接続する暗号化されたPDBのマスター暗号化キーをエクスポートおよびインポートする必要があります。
ソースPDBが暗号化されている場合は、マスター暗号化キーをエクスポートして、インポートする必要があります。
PDB内からTDEマスター暗号化キーをエクスポートおよびインポートすることで、PDBに属するすべてのTDEマスター暗号化キーをエクスポートおよびインポートできます。TDEマスター暗号化キーのエクスポートおよびインポートでは、PDBのアンプラグおよびプラグ操作がサポートされています。PDBのアンプラグとプラグでは、PDBに属するすべてのTDEマスター暗号化キー、およびメタデータが関係します。
『Oracle Database Advanced Securityガイド』のTransparent Data Encryptionとその他のOracle機能の使用に関する項を参照してください。
『Oracle Database SQL言語リファレンス』のADMINISTER KEY MANAGEMENTに関する項を参照してください。
関連トピック
PDBの暗号化キーを作成してアクティブ化する必要があるかどうかを判断するには
- SQL*Plusを起動し、
SYSDBA
権限を持つSYS
ユーザーとしてデータベースにログインします。 -
コンテナをPDBに設定します:
SQL> ALTER SESSION SET CONTAINER = pdb;
-
次のように
V$ENCRYPTION_WALLET
を問い合せます:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
STATUS
列にOPEN_NO_MASTER_KEY
の値が含まれる場合は、マスター暗号化キーを作成してアクティブにする必要があります。
PDBでマスター暗号化キーを作成してアクティブ化するには
-
コンテナをPDBに設定します:
SQL> ALTER SESSION SET CONTAINER = pdb;
-
次のコマンドを実行して、PDBでマスター暗号化キーを作成し、アクティブ化します:
SQL> ADMINISTER KEY MANAGEMENT SET KEY USING TAG 'tag' FORCE KEYSTORE IDENTIFIED BY keystore-password WITH BACKUP USING 'backup_identifier';
前述のコマンドで:
keystore-password
はキーストア・パスワードです。デフォルトでは、キーストア・パスワードは、データベースの作成時に指定された管理パスワードの値に設定されます。- オプションの
USING TAG 'tag'
句を使用すると、タグを新しいマスター暗号化キーに関連付けることができます。 WITH BACKUP
句とオプションのUSING 'backup_identifier'
句を使用すると、新しいマスター暗号化キーを作成する前にキーストアのバックアップを作成できます。
リリース19、18または12.2のOracle Database SQL言語リファレンスの
ADMINISTER KEY MANAGEMENT
も参照してください。ノート
Oracle Database 12cリリース2以降では、キーストアの使用中にキー管理操作を有効にするために、
ADMINISTER KEY MANAGEMENT
コマンドにFORCE KEYSTORE
オプションが組み込まれています。このオプションは、2017年10月以降のバンドル・パッチが適用されたOracle Database 12cリリース1でも使用できます。Oracle Database 12cリリース1データベースに2017年10月以降のバンドル・パッチがインストールされていない場合は、次の代替ステップを実行できます:
- キーストアを閉じます。
- パスワードベースのキーストアを開きます。
FORCE KEYSTORE
オプションを指定せずにADMINISTER KEY MANAGEMENT
を使用して、PDB内でマスター暗号化キーを作成し、アクティブ化します。CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE
オプションを指定したADMINISTER KEY MANAGEMENT
を使用して、自動ログイン・キーストアを更新します。
-
再度
V$ENCRYPTION_WALLET
を問い合せて、STATUS
列がOPEN
に設定されていることを確認します:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
-
V$INSTANCE
を問い合せて、新しく更新されたキーストア・ファイルを含むデータベース・サーバーを識別するHOST_NAME
列の値を書き留めます:SQL> SELECT host_name FROM v$instance;
-
更新したキーストア・ファイルを他のすべてのデータベース・サーバーにコピーします。
更新されたキーストアを配布するには、更新されたキーストア・ファイルが含まれていない各データベース・サーバーに対して次のアクションを実行する必要があります:
-
ルート・コンテナに接続し、
V$ENCRYPTION_WALLET
を問い合せます。WRL_PARAMETER
列に含まれているキーストアの場所を書き留めます:SQL> SELECT wrl_parameter, status FROM v$encryption_wallet;
-
更新されたキーストア・ファイルをコピーします。
更新済のデータベース・サーバーからすべての更新済キーストア・ファイルをコピーする必要があります。
V$ENCRYPTION_WALLET
のWRL_PARAMETER
列で確認されたキーストアの場所を使用します。
更新されたキーストアを開きます:SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE open FORCE KEYSTORE IDENTIFIED BY keystore-password CONTAINER=all;
ノート
Oracle Database 12cリリース2以降では、キーストアの使用中にキー管理操作を有効にするために、
ADMINISTER KEY MANAGEMENT
コマンドにFORCE KEYSTORE
オプションが組み込まれています。このオプションは、2017年10月以降のバンドル・パッチが適用されたOracle Database 12cリリース1でも使用できます。Oracle Database 12cリリース1データベースに2017年10月以降のバンドル・パッチがインストールされていない場合は、次の代替ステップを実行できます:
- 更新されたキーストア・ファイルをコピーする前に、キーストアを閉じます。
- 更新されたキーストア・ファイルをコピーします。
FORCE KEYSTORE
オプションを指定せずにADMINISTER KEY MANAGEMENT
を使用して、更新されたキーストアを開きます。
-
-
GV$ENCRYPTION_WALLET
を問い合せて、すべてのデータベース・インスタンスでSTATUS
列がOPEN
に設定されていることを確認します:SQL> SELECT wrl_parameter, status, wallet_type FROM gv$encryption_wallet;
マスター暗号化キーをエクスポートおよびインポートするには
- マスター暗号化キーをエクスポートします。
- SQL*Plusを起動し、PDBにログインします。
-
次のコマンドを実行します:
SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "secret" TO 'filename' IDENTIFIED BY keystore-password;
- マスター暗号化キーをインポートします。
- SQL*Plusを起動し、PDBにログインします。
-
次のコマンドを実行します:
SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET "secret" FROM 'filename' IDENTIFIED BY keystore-password;
表領域暗号化の管理
Exascaleインフラストラクチャ上のOracle Exadata Database Serviceでの表領域暗号化の実装方法について学習します
デフォルトでは、Exadataデータベースに作成するすべての新しい表領域が暗号化されます。
ただし、データベースの作成時に最初に作成される表領域は、デフォルトでは暗号化されない場合があります。
- Oracle Database 12cリリース2以降を使用するデータベースの場合、データベースの作成時に最初に作成される
USERS
表領域のみ暗号化されます。次の場所にあるUSERS
以外の表領域などの他の表領域は暗号化されません:- ルート・コンテナ(
CDB$ROOT
)。 - シード・プラガブル・データベース(
PDB$SEED
)。 - データベースの作成時に作成される最初のPDB。
- ルート・コンテナ(
- Oracle Database 12cリリース1またはOracle Database 11gを使用するデータベースの場合、データベースの作成時に最初に作成される表領域はいずれも暗号化されません。
Exadataでの表領域暗号化の実装と、様々なデプロイメント・シナリオへの影響の詳細は、次を参照してください:
Oracle CloudのOracle Database表領域暗号化の動作(Doc ID 2359020.1)。
暗号化された表領域の作成
ユーザーが作成した表領域は、デフォルトで暗号化されます。
デフォルトでは、SQL CREATE TABLESPACE
コマンドを使用して作成される新しい表領域は、AES128暗号化アルゴリズムで暗号化されます。デフォルトの暗号化を使用するためにUSING 'encrypt_algorithm'
句を含める必要はありません。
CREATE TABLESPACEコマンドにUSING 'encrypt_algorithm'句を含めることで、サポートされている別のアルゴリズムを指定できます。サポートされているアルゴリズムは、AES256、AES192、AES128および3DES168です。
表領域暗号化の管理
ソフトウェア・キーストア(Oracle Database 11gではOracleウォレットと呼ばれる)、マスター暗号化キーの管理、および暗号化をデフォルトで有効にするかどうかの制御を行うことができます。
マスター暗号化キーの管理
表領域の暗号化では、2層式のキーベース・アーキテクチャを使用して表領域を透過的に暗号化(および復号化)します。マスター暗号化キーは、外部セキュリティ・モジュール(ソフトウェア・キーストア)に格納されます。このマスター暗号化キーを使用して表領域暗号化キーを暗号化し、これを使用して表領域のデータを暗号化および復号化します。
Exadata Cloud Serviceインスタンスでデータベースが作成されると、ローカル・ソフトウェア・キーストアが作成されます。キーストアはコンピュート・ノードに対してローカルであり、データベース作成プロセス中に指定された管理パスワードによって保護されます。自動ログイン・ソフトウェア・キーストアは、データベースが起動されたときに自動的に開かれます。
ADMINISTER KEY MANAGEMENT SQL
文を使用してマスター暗号化キーを変更(ローテーション)できます。例:
SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'tag'
IDENTIFIED BY password WITH BACKUP USING 'backup';
keystore altered.
Oracle Database Advanced SecurityガイドのTDEマスター暗号化キーの管理に関する項を参照してください。
デフォルト表領域暗号化の制御
ENCRYPT_NEW_TABLESPACES
初期化パラメータは、新しい表領域のデフォルトの暗号化を制御します。Exadataデータベースでは、このパラメータはデフォルトでCLOUD_ONLY
に設定されています。
このパラメータの値は次のとおりです。
値 | 説明 |
---|---|
ALWAYS
|
作成中、ENCRYPTION 句に別のアルゴリズムが指定されていない場合、表領域はAES128アルゴリズムで透過的に暗号化されます。
|
CLOUD_ONLY
|
ENCRYPTION 句に別のアルゴリズムが指定されていない場合、Exadataデータベース内に作成された表領域はAES128アルゴリズムで透過的に暗号化されます。非クラウド・データベースの場合、表領域が暗号化されるのは、ENCRYPTION 句が指定されている場合のみです。デフォルト値はENCRYPTION です。
|
DDL
|
作成中、表領域はデフォルトでは透過的に暗号化されず、ENCRYPTION 句が指定されている場合にのみ暗号化されます。
|
Oracle Database 12cリリース2 (12.2)以降では、Exadataデータベースに暗号化されていない表領域を作成できなくなりました。
ENCRYPT_NEW_TABLESPACES
をDDL
に設定して、ENCRYPTION
句を指定しないでCREATE TABLESPACE
コマンドを発行すると、エラーメッセージが返されます。