release 19 advanced securityガイド - oracle · oracle data...

618
Release 19 Advanced Security ガイド 目次 タイトルおよび著作権情報 はじめに 対象読者 ドキュメントのアクセシビリティ 関連ドキュメント 表記規則 このリリースでの『Oracle Database Advanced Securityガイド』の変更点 Oracle Database Advanced Security 19cにおける変更点 Oracle管理の表領域の暗号化におけるキー管理サポートの向上 Oracle Managed Files以外のモードでの自動名前変更の透過的オンライン変換のサ ポート オフライン表領域の暗号化のためのより多くのアルゴリズムのサポート Oracle Database Advanced Security 18cにおける変更点 各プラガブル・データベースのキーストアの作成機能 ユーザー定義のマスター暗号化キーを作成する機能 Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle Advanced Securityの概要 透過的データ暗号化 Oracle Data Redaction I透過的データ暗号化の使用 2 透過的データ暗号化の概要 透過的データ暗号化とは 1

Upload: others

Post on 05-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

目次タイトルおよび著作権情報はじめに

対象読者ドキュメントのアクセシビリティ関連ドキュメント表記規則

このリリースでの『Oracle Database Advanced Securityガイド』の変更点Oracle Database Advanced Security 19cにおける変更点

Oracle管理の表領域の暗号化におけるキー管理サポートの向上Oracle Managed Files以外のモードでの自動名前変更の透過的オンライン変換のサポートオフライン表領域の暗号化のためのより多くのアルゴリズムのサポート

Oracle Database Advanced Security 18cにおける変更点各プラガブル・データベースのキーストアの作成機能ユーザー定義のマスター暗号化キーを作成する機能Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを使用する機能

1 Oracle Advanced Securityの概要透過的データ暗号化Oracle Data Redaction

第I部 透過的データ暗号化の使用2 透過的データ暗号化の概要

透過的データ暗号化とは

1

Page 2: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化を使用する利点透過的データ暗号化を構成できる者透過的データ暗号化のタイプおよびコンポーネント

透過的データ暗号化のタイプおよびコンポーネントについて透過的データ暗号化列暗号化の動作透過的データ暗号化表領域暗号化の動作TDEマスター暗号化キーの格納用のキーストアの動作

TDEマスター暗号化キーのキーストア格納についてキーストア格納フレームワークの利点キーストアのタイプ

サポートされる暗号化と整合性のアルゴリズムマルチテナント・オプションによる透過的データ暗号化への影響

3 透過的データ暗号化の構成透過的データ暗号化の構成について透過的データ暗号化のキーストア検索順序ソフトウェア・キーストアの構成

ソフトウェア・キーストアの構成についてステップ1: ソフトウェア・キーストアの場所とタイプの構成ステップ2: ソフトウェア・キーストアの作成

ソフトウェア・キーストアを作成することについてパスワード保護されたソフトウェア・キーストアの作成自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの作成

ステップ3: ソフトウェア・キーストアを開くソフトウェア・キーストアを開くことについてソフトウェア・キーストアを開く

ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定ソフトウェア・キーストアのTDEマスター暗号化キーの設定についてソフトウェア・キーストアのTDEマスター暗号化キーの設定

ステップ5: データの暗号化ハードウェア・キーストアの構成

2

Page 3: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア 外部 キーストアの構成についてステップ1: ハードウェア・キーストア・タイプの構成ステップ2: ハードウェア・セキュリティ・モジュールの構成ステップ3: ハードウェア・キーストアを開く

ハードウェア・キーストアを開くことについてハードウェア・キーストアを開く

ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定ハードウェア・キーストアのTDEマスター暗号化キーの設定について新しいTDEマスター暗号化キーの設定前に構成したTDEマスター暗号化キーの移行

ステップ5: データの暗号化表の列の暗号化

表の列の暗号化についてTDE列暗号化で暗号化できるデータ型TDE列暗号化の使用に関する制限暗号化列を含む表の作成

暗号化列を含む表の作成についてデフォルト・アルゴリズムを使用する暗号化列を含む表の作成アルゴリズムを使用しないまたは非デフォルト・アルゴリズムを使用する暗号化列を含む表の作成NOMACパラメータを使用したディスク領域の節約およびパフォーマンスの向上例: CREATE TABLE文でのNOMACパラメータの使用例: 表の整合性アルゴリズムの変更外部表への暗号化列の作成

既存の表にある列の暗号化既存の表にある列の暗号化について既存の表への暗号化列の追加暗号化されていない列の暗号化列の暗号化の無効化

暗号化列に対する索引の作成暗号化列へのSaltの追加

( )

3

Page 4: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化列からのSaltの削除暗号化列を含む表に対する暗号化キーまたはアルゴリズムの変更

表領域およびデータベースの暗号化変換表領域およびデータベースの暗号化変換について暗号化された表領域に対する閉じられたTDEキーストアの影響透過的データ暗号化表領域暗号化の使用に関する制限暗号化された新しい表領域の作成

ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について表領域暗号化のためのCOMPATIBLE初期化パラメータの設定

ステップ2: 表領域TDEマスター暗号化キーの設定ステップ3: 暗号化された表領域の作成

暗号化された表領域の作成について暗号化された表領域の作成例: AES192を使用する暗号化された表領域の作成例: デフォルト・アルゴリズムを使用する暗号化された表領域の作成

将来の表領域の暗号化将来の表領域の暗号化について将来の表領域の暗号化設定

データ・ディクショナリ内の機密資格証明データの暗号化既存のオフライン表領域の暗号化変換

既存のオフライン表領域の暗号化変換についてオフライン変換での既存のユーザー定義表領域の暗号化オフライン変換での既存の表領域の復号化

既存のオンライン表領域の暗号化変換既存のオンライン表領域の暗号化変換についてオンライン変換での既存の表領域の暗号化オンライン変換での既存の表領域のキー更新オンライン変換での既存の表領域の復号化中断されたオンライン暗号化変換の終了

4

Page 5: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

既存のデータベースの暗号化変換既存のデータベースの暗号化変換についてオフライン変換での既存のデータベースの暗号化オンライン変換での既存のデータベースの暗号化

透過的データ暗号化のデータの動的ビューおよびデータ・ディクショナリ・ビュー

4 キーストアおよびマスター暗号化キーの管理キーストアの管理

キーストア・パスワードを必要とする操作の実行ソフトウェア・キーストアのパスワードの変更

パスワード保護されたソフトウェア・キーストアのパスワードの変更についてパスワード保護されたソフトウェア・キーストアのパスワードの変更

ハードウェア・キーストアのパスワードの変更キーストア・パスワードのための外部ストアの構成

キーストア・パスワードのための外部ストアの構成についてWALLET_ROOTの設定によるキーストア・パスワードの外部ストアの構成sqlnet.oraの編集によるキーストア・パスワードの外部ストアの構成構成後のEXTERNAL STORE句を使用する状況

パスワード保護されたソフトウェア・キーストアのバックアップパスワード保護されたソフトウェア・キーストアのバックアップについてバックアップ・キーストアのバックアップ識別子文字列の作成パスワード保護されたソフトウェア・キーストアのバックアップ

V$ENCRYPTION_WALLETビューによるバックアップ操作の解釈方法ハードウェア・キーストアのバックアップソフトウェア・キーストアのマージ

ソフトウェア・キーストアのマージについて1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ

5

Page 6: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・ソフトウェア・キーストアの既存のパスワード保護されたソフトウェア・キーストアへのマージソフトウェア・キーストア・マージ操作の取消し

新しいロケーションへのソフトウェア・キーストアの移動自動ストレージ管理からのソフトウェア・キーストアの移動ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

ステップ1: ハードウェア・キーストアとともに開くためにソフトウェア・キーストアを変換するステップ2: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成するステップ3: ハードウェア・キーストアの移行を実行する

ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

ハードウェア・キーストアからの再移行についてステップ1: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成するステップ2: 逆移行用にキーストアを構成するステップ3: ソフトウェア・キーストアとともに開くようにハードウェア・キーストアを構成する

移行後のキーストアの順序キーストアとOracle Key Vault間の移行自動ストレージ管理のためのキーストアの構成

自動ストレージ管理のためのキーストアの構成についてスタンドアロン・データベースのキーストアがASMの場所を指すように構成するマルチテナント環境のキーストアがASMの場所を指すように構成するWALLET_ROOTの場所がOMFガイドラインに準拠していない場合に、キーストアがASMの場所を指すように構成する

キーストアを閉じるキーストアを閉じることについてソフトウェア・キーストアを閉じる

6

Page 7: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアを閉じる暗号化されたデータのバックアップおよびリカバリキーストアを削除することの危険性キーストアの削除によって影響を受ける機能

TDEマスター暗号化キーの管理ユーザー定義のTDEマスター暗号化キーの作成

ユーザー定義のTDEマスター暗号化キーについてユーザー定義のTDEマスター暗号化キーの作成

後で使用するためのTDEマスター暗号化キーの作成後で使用するためのTDEマスター暗号化キーの作成について後で使用するためのTDEマスター暗号化キーの作成例: 1つのデータベースでのTDEマスター暗号化キーの作成

TDEマスター暗号化キーのアクティブ化TDEマスター暗号化キーのアクティブ化についてTDEマスター暗号化キーのアクティブ化例: TDEマスター暗号化キーのアクティブ化

TDEマスター暗号化キーの属性管理TDEマスター暗号化キーの属性使用中のTDEマスター暗号化キーの検出

レポート用のTDEマスター暗号化キーのカスタム属性の作成カスタム属性タグの作成についてカスタム属性タグの作成

キーストアのTDEマスター暗号化キーの設定またはキー更新キーストアのTDEマスター暗号化キーの設定またはキー更新についてTDEマスター暗号化キーの作成、タグ付けおよびバックアップTDEマスター暗号化キーのキー更新についてTDEマスター暗号化キーのキー更新表領域のTDEマスター暗号化キーの変更

TDEマスター暗号化キーのエクスポートおよびインポートTDEマスター暗号化キーのエクスポートおよびインポートについてTDEマスター暗号化キーのエクスポートについて

7

Page 8: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TDEマスター暗号化キーのエクスポート例: 副問合せを使用したTDEマスター暗号化キー識別子のエクスポート例: ファイルへのTDEマスター暗号化キー識別子のリストのエクスポート例: データベースのすべてのTDEマスター暗号化キーのエクスポートTDEマスター暗号化キーのインポートについてTDEマスター暗号化キーのインポート例: TDEマスター暗号化キーのインポートキーストアのマージとTDEマスター暗号化キーのエクスポートまたはインポートの相違点

新しいキーストアへのTDEマスター暗号化キーの移動新しいキーストアへのTDEマスター暗号化キーの移動について新しいキーストアへのTDEマスター暗号化キーの移動

Oracle Key Vaultを使用したTDEマスター暗号化キーの管理Oracle Databaseのシークレットの格納

キーストアへのOracle Databaseのシークレットの格納についてソフトウェア・キーストアへのOracle Databaseのシークレットの格納例: ソフトウェア・キーストアへのHSMパスワードの追加例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの変更例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの削除ハードウェア・キーストアへのOracle Databaseのシークレットの格納例: ハードウェア・キーストアへのOracle Databaseのシークレットの追加例: ハードウェア・キーストアでのOracle Databaseのシークレットの変更例: ハードウェア・キーストアでのOracle Databaseのシークレットの削除自動ログイン・ハードウェア・セキュリティ・モジュールの構成

自動ログイン・ハードウェア・セキュリティ・モジュールの構成について自動ログイン・ハードウェア・セキュリティ・モジュールの構成

キーストアへのOracle GoldenGateのシークレットの格納キーストアへのOracle GoldenGateのシークレットの格納について

8

Page 9: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle GoldenGate Extractのクラシック・キャプチャ・モードのTDE要件Oracle GoldenGate用のキーストア・サポートの構成

ステップ1: キーストアの共有シークレットを決定するステップ2: TDEによるOracle GoldenGateのサポートのためにOracleDatabaseを構成するステップ3: TDE GoldenGate共有シークレットをキーストアに格納するステップ4: TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定する

5 統一モードでのキーストアおよびTDEマスター暗号化キーの管理統一モードでのキーストアおよびTDEマスター暗号化キーの管理について統一モードで許可される操作統一モードのPDBで許可されない操作統一モードのキーストアの場所とタイプの構成

初期化パラメータ・ファイルの編集による統一モードの構成初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成

統一モードで使用するためのソフトウェア・キーストアの構成統一モードでのソフトウェア・キーストアの構成についてステップ1: ソフトウェア・キーストアの作成統一モードのPDBでソフトウェア・キーストアを開くステップ3: 統一モードでのソフトウェア・キーストアのTDEマスター暗号化キーの設定ステップ4: 統一モードでのデータの暗号化

統一モードでのハードウェア・キーストアの構成統一モードでのハードウェア・キーストアの構成についてステップ1: 統一モードでのハードウェア・セキュリティ・モジュールの構成ステップ2: 統一モードのPDBでハードウェア・キーストアを開くステップ3: 統一モードでのハードウェア・キーストアのTDEマスター暗号化キーの設定ステップ4: 統一モードでのデータの暗号化

統一モードでのキーストアおよびTDEマスター暗号化キーの管理統一モードでのキーストア・パスワードの変更

9

Page 10: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでのパスワード保護されたソフトウェア・キーストアのパスワードの変更統一モードでのハードウェア・キーストアのパスワードの変更

統一モードでのパスワード保護されたソフトウェア・キーストアのバックアップ統一モードでキーストアを閉じる

統一モードでソフトウェア・キーストアを閉じる統一モードでハードウェア・キーストアを閉じる

統一モードでのユーザー定義のTDEマスター暗号化キーの作成例: すべてのPDBでのマスター暗号化キーの作成統一モードでの後で使用するためのTDEマスター暗号化キーの作成統一モードでのTDEマスター暗号化キーのアクティブ化統一モードでのTDEマスター暗号化キーのキー更新統一モードでの使用中のTDEマスター暗号化キーの検出統一モードでのカスタム属性タグの作成統一モードでの新しいキーストアへのTDEマスター暗号化キーの移動統一モードでの非アクティブなTDEマスター暗号化キーの自動的な削除プラガブル・データベース・キーストアの分離

統一モードでの透過的データ暗号化の管理統一モードでの1つのCDBから別のCDBへのPDBの移動統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

統一モードでの暗号化データを含むPDBのアンプラグ統一モードでの暗号化データを含むPDBのCDBへのプラグイン統一モードでのハードウェア・キーストアに格納されたマスター暗号化キーを含むPDBのアンプラグ統一モードでのハードウェア・キーストアに格納されたマスター暗号化キーを含むPDBのプラグイン

統一モードでの暗号化データを含むクローニングされたPDBの管理統一モードでの暗号化データを含むクローニングされたPDBの管理について統一モードでの暗号化データを含むPDBのCDBへのクローニング統一モードで、暗号化データを含むPDBのリモート・クローニング

10

Page 11: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を2つのCDB間で実行する統一モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置する

統一モードでのキーストアの開閉操作の機能統一モードでのすべてのPDBのキーストア・ステータスの確認

6 分離モードでのキーストアおよびTDEマスター暗号化キーの管理分離モードでのキーストアおよびTDEマスター暗号化キーの管理について分離モードで実行可能な操作分離モードのPDBで実行できない操作分離モードでのキーストアの場所とタイプの構成

分離モードの構成例: 古いバージョンの制御ファイルのリストア例: 制御ファイル紛失の問題への対処例: Oracle Real Application Clusters環境での分離モードの構成

分離モードでのキーストアおよびTDEマスター暗号化キーの構成分離モードでのソフトウェア・キーストアの構成についてステップ1: 分離モードで構成されたPDBでのソフトウェア・キーストアの作成ステップ2: 分離モードのPDBでソフトウェア・キーストアを開くステップ3: 分離モードのPDBのソフトウェア・キーストアでのTDEマスター暗号化キーの設定ステップ4: 分離モードでのデータの暗号化

分離モードでのハードウェア・キーストアの構成分離モードでのハードウェア・キーストアの構成についてステップ1: 分離モードのPDBのハードウェア・セキュリティ・モジュールの構成ステップ2: 分離モードのPDBでハードウェア・キーストアを開くステップ3: 分離モードのPDBのハードウェア・キーストアでのTDEマスター暗号化キーの設定

分離モードでの新しいTDEマスター暗号化キーの設定分離モードでの以前に構成した暗号化キーの移行

ステップ4: 分離モードでのデータの暗号化分離モードでのキーストアおよびTDEマスター暗号化キーの管理

11

Page 12: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでのキーストア・パスワードの変更分離モードでのパスワード保護されたソフトウェア・キーストアのパスワードの変更分離モードでのハードウェア・キーストアのパスワードの変更

分離モードでのパスワード保護されたソフトウェア・キーストアのバックアップ分離モードでのソフトウェア・キーストアのマージ

分離モードでの1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ分離モードでの2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ

分離モードでキーストアを閉じる分離モードでソフトウェア・キーストアを閉じる分離モードでハードウェア・キーストアを閉じる

分離モードでのユーザー定義のTDEマスター暗号化キーの作成分離モードでの後で使用するためのTDEマスター暗号化キーの作成分離モードでのTDEマスター暗号化キーのアクティブ化分離モードでのTDEマスター暗号化キーのキー更新分離モードでの新しいキーストアへのTDEマスター暗号化キーの移動分離モードでのカスタム属性タグの作成分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート

分離モードでのTDEマスター暗号化キーのエクスポート分離モードでのTDEマスター暗号化キーのインポート

分離モードでのOracle Databaseのシークレットの保管分離モードでのソフトウェア・キーストアへのOracle Databaseのシークレットの格納分離モードでのハードウェア・キーストアへのOracle Databaseのシークレットの格納

分離モードでのキーストアの移行分離モードでのパスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行分離モードでのハードウェア・キーストアからパスワード保護されたソフトウェア・キーストアへの移行

12

Page 13: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの非アクティブなTDEマスター暗号化キーの自動削除プラガブル・データベース・キーストアの結合PDBクローズ時のキーストアの作成

PDBクローズ時のキーストアの作成についてPDBクローズ時のキーストア作成操作を元に戻す

分離モードでの透過的データ暗号化の管理分離モードでの1つのCDBから別のCDBへのPDBの移動分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

分離モードでの暗号化データを含むPDBのアンプラグ分離モードでの暗号化データを含むPDBのCDBへのプラグイン分離モードでのハードウェア・キーストアにマスター暗号化キーが格納されたPDBのアンプラグ分離モードでのHSMに格納されたマスター・キーを含むPDBのプラグ

分離モードでの暗号化データを含むPDBのCDBへのクローニング分離モードで、暗号化されたデータを含むPDBのリモート・クローニングを2つのCDB間で実行する分離モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置する分離モードでのキーストアの開閉操作の機能分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポートについて分離モードでのPDBのマスター暗号化キーのエクスポートまたはインポート例: 分離モードでのPDBからのマスター暗号化キーのエクスポート例: 分離モードでのPDBへのマスター暗号化キーのインポート

7 透過的データ暗号化を使用する場合の一般的な考慮事項暗号化データの圧縮とデータ重複除外透過的データ暗号化のセキュリティに関する考慮事項

透過的データ暗号化のセキュリティに関する一般的なアドバイス透過的データ暗号化の列暗号化固有のアドバイス

13

Page 14: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

平文の断片のセキュリティの管理透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド

透過的データ暗号化のパフォーマンスのオーバーヘッド透過的データ暗号化の記憶域のオーバーヘッド

透過的データ暗号化と組み合せて使用するためのアプリケーションの変更ALTER SYSTEMおよびorapkiとADMINISTER KEY MANAGEMENTとの対応PKI暗号化での透過的データ暗号化の使用

ソフトウェア・マスター暗号化キーとPKIキー・ペアとの併用PKI暗号化とTDEの表領域およびハードウェア・キーストアPKIキー・ペアのバックアップおよびリカバリ

暗号化済の列のある表への外部ファイルからのデータのロード透過的データ暗号化とデータベースのクローズ操作

8 他の Oracle機能における透過的データ暗号化の使用透過的データ暗号化とエクスポートおよびインポート操作の連携

暗号化データされたデータのエクスポートおよびインポートについて暗号化された列のある表のエクスポートおよびインポートOracle Data Pumpを使用してダンプ・セット全体を暗号化暗号化されたデータ・ディクショナリ・データでのOracle Data Pumpの使用

透過的データ暗号化とOracle Data Guardとの連携Oracle Data Guardでの透過的データ暗号化の使用についてOracle Data Guard環境でのTDEおよびOracle Key Vaultの構成

透過的データ暗号化とOracle Real Application Clustersとの連携Oracle Real Application Clustersでの透過的データ暗号化の使用についてOracle Real Application ClustersにおけるOracle Key Vault用のTDEの構成

透過的データ暗号化とSecureFilesとの連携透過的データ暗号化およびSecureFilesについて例: 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成例: 列パスワードを指定したSecureFiles LOBの作成

透過的データ暗号化とOracle Call Interfaceとの連携透過的データ暗号化とエディションとの連携マルチデータベース環境で機能するように透過的データ暗号化を構成

14

Page 15: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

9 sqlnet.oraを使用した透過的データ暗号化キーストアの構成sqlnet.oraファイルでのキーストアの場所についてソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成例: 通常のファイル・システム用のソフトウェア・キーストアの構成例: 複数のデータベースでsqlnet.oraファイルを共有する場合のソフトウェア・キーストアの構成例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成

10 透過的データ暗号化に関するよくある質問透過的データ暗号化に関する透過の質問透過的データ暗号化に関するパフォーマンスの質問

第II部 Oracle Data Redactionの使用11 Oracle Data Redactionの概要

Oracle Data RedactionとはOracle Data Redactionを使用する状況Oracle Data Redactionを使用する利点Oracle Data Redactionのターゲットのユースケース

データベース・アプリケーションにおけるOracle Data Redactionの使用非定型データベース問合せにおけるOracle Data Redactionの考慮事項

12 Oracle Data Redactionの特徴と機能全データをリダクションする完全データ・リダクションデータのセクションをリダクションする部分データ・リダクションデータのパターンをリダクションする正規表現NULL値を使用したリダクションランダム値を生成するランダム・データ・リダクションデータ型に基づいた完全、部分およびランダム・リダクションの比較

Oracle組込みデータ型のリダクション機能ANSIデータ型のリダクション機能組込みデータ型およびANSIデータ型の完全リダクション機能ユーザー定義データ型またはオラクル社提供データ型のリダクション機能

テストを目的にリダクションしない場合名前付きデータ・リダクション・ポリシー式の集中管理

15

Page 16: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

13 Oracle Data Redactionポリシーの構成Oracle Data RedactionポリシーについてOracle Data Redactionポリシーを作成できるユーザーは?

データ・リダクション・ポリシーの計画DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文データ・リダクション・ポリシーの条件を定義する式の使用

データ・リダクション・ポリシーでの式の使用についてデータ・リダクション式でサポートされているファンクション

ネームスペース・ファンクションを使用した式SUBSTRファンクションを使用した式文字列の長さファンクションを使用した式Oracle Application Expressファンクションを使用した式Oracle Label Securityファンクションを使用した式

ユーザー環境に基づくリダクション・ポリシーの適用データベース・ロールに基づくリダクション・ポリシーの適用Oracle Label Securityラベル優位に基づくリダクション・ポリシーの適用Application Expressセッション・ステートに基づくリダクション・ポリシーの適用すべてのユーザーへのリダクション・ポリシーの適用

複数の名前付きポリシー式の作成および管理条件を定義するデータ・リダクション・ポリシー式について名前付きデータ・リダクション・ポリシー式の作成および適用名前付きデータ・リダクション・ポリシー式の更新名前付きデータ・リダクション式ポリシーの削除チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ1: このチュートリアル用のユーザーの作成ステップ2: Oracle Data Redactionポリシーの作成ステップ3: Oracle Data Redactionポリシーのテストステップ4: リダクション済の表の列へのポリシー式の作成および適用ステップ5: データ・リダクション・ポリシー式のテストステップ6: データ・リダクション・ポリシー式の変更

16

Page 17: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ステップ7: 変更済ポリシー式のテストステップ8: このチュートリアルのコンポーネントの削除

完全データ・ポリシーの作成と完全リダクション値の変更完全リダクション・ポリシーの作成

完全データ・リダクション・ポリシーの作成について完全リダクション・ポリシーを作成する構文例: 完全リダクション・ポリシー例: 完全にリダクションされた文字値

デフォルトの完全データ・リダクション値の変更デフォルトの完全データ・リダクション値の変更についてDBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャの構文デフォルトの完全データ・リダクション値の変更

DBMS_REDACT.NULLIFYリダイレクション・ポリシーの作成NULL値を返すポリシーの作成についてNULL値を返すポリシー作成の構文例: NULL値を返すリダクション・ポリシー

部分リダクション・ポリシーの作成部分リダクション・ポリシーの作成について部分リダクション・ポリシーを作成する構文固定文字形式を使用した部分リダクション・ポリシーの作成

固定文字形式の設定例: 固定文字形式を使用した部分リダクション・ポリシー

文字データ型を使用した部分リダクション・ポリシーの作成文字データ型の設定例: 文字データ型を使用した部分リダクション・ポリシー

数値データ型を使用した部分リダクション・ポリシーの作成数値データ型の設定例: 数値データ型を使用した部分リダクション・ポリシー

日時データ型を使用した部分リダクション・ポリシーの作成日時データ型の設定

17

Page 18: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 日時データ型を使用した部分リダクション・ポリシー正規表現ベースのリダクション・ポリシーの作成

正規表現ベースのリダクション・ポリシーの作成について正規表現ベースのリダクション・ポリシーを作成する構文形式を使用した正規表現ベースのリダクション・ポリシー

正規表現の形式例: 形式を使用した正規表現リダクション・ポリシー

カスタム正規表現リダクション・ポリシーカスタム正規表現の設定例: カスタム正規表現リダクション・ポリシー

ランダム・リダクション・ポリシーの作成ランダム・リダクション・ポリシーを作成する構文例: ランダム・リダクション・ポリシー

リダクションを使用しないポリシーの作成リダクションを使用しないポリシーの作成の構文例: リダクションを実行しない

Oracle Data Redactionポリシーからのユーザーの除外Oracle Data Redactionポリシーの変更

Oracle Data Redactionポリシーの変更についてDBMS_REDACT.ALTER_POLICYプロシージャの構文DBMS_REDACT.ALTER_POLICY操作に必要なパラメータチュートリアル: Oracle Data Redactionポリシーの変更

複数列のリダクション1つの表またはビューのデータ・リダクション・ポリシーへの列の追加例: 複数列のリダクション

Oracle Data Redactionポリシーの有効化と無効化Oracle Data Redactionポリシーの無効化Oracle Data Redactionポリシーの有効化

Oracle Data Redactionポリシーの削除チュートリアル: SQL式を使用したリダクションされた値を含むレポートの作成Oracle Data Redactionポリシーのデータ・ディクショナリ・ビュー

18

Page 19: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

14 Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理Oracle Enterprise ManagerでのOracle Data Redactionの使用についてOracle Data RedactionのワークフローEnterprise Managerでの機密列タイプの管理Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したOracle Data Redaction形式の管理についてEnterprise Managerを使用したカスタムOracle Data Redaction形式の作成Enterprise Managerを使用したカスタムOracle Data Redaction形式の編集Enterprise Managerを使用したOracle Data Redaction形式の表示Enterprise Managerを使用したカスタムOracle Data Redaction形式の削除

Enterprise Managerを使用したOracle Data Redactionポリシーの管理Enterprise Managerを使用したOracle Data Redactionポリシーの管理についてEnterprise Managerを使用したOracle Data Redactionポリシーの作成Enterprise Managerを使用したOracle Data Redactionポリシーの編集Enterprise Managerを使用したOracle Data Redactionポリシーの詳細の表示Enterprise ManagerでのOracle Data Redactionポリシーの有効化または無効化Enterprise Managerを使用したOracle Data Redactionポリシーの削除

Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理Enterprise Managerでの名前付きデータ・リダクション・ポリシー式についてEnterprise Managerでの名前付きデータ・リダクション・ポリシー式の作成Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の編集Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の表示Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の削除

15 Oracle Database機能と組み合せたOracle Data Redactionの使用Oracle Data Redactionの一般的な使用上のガイドラインOracle Data Redactionと、DMLおよびDDL操作ネストした関数、インライン・ビューおよびWHERE句でのOracle Data Redaction

Oracle Data Redactionおよびデータ・リダクション・ポリシーによって保護される列に対する問合せOracle Data Redactionとデータベース・リンクOracle Data Redactionおよび集計関数

19

Page 20: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Data Redactionおよびオブジェクト型Oracle Data RedactionおよびXML生成Oracle Data Redactionおよびエディションマルチテナント環境におけるOracle Data Redaction

Oracle Data RedactionとOracle Virtual Private Database

Oracle Data RedactionとOracle Database Real Application Security

Oracle Data RedactionとOracle Database Vault

Oracle Data RedactionとOracle Data Pump

Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデルOracle Data Redactionポリシーが定義されているオブジェクトのエクスポート

Oracle Data Pumpで使用されるタイプ名の検索データ・リダクション・ポリシーに関連するデータ・ディクショナリ・メタデータのみのエクスポートIMPDPのINCLUDEパラメータを使用したオブジェクトのインポート

EXPDPユーティリティのaccess_methodパラメータを使用したデータのエクスポートOracle Data Redactionで保護されているオブジェクトへのデータのインポート

Oracle Data RedactionとData Masking and Subsetting Pack

Oracle Data RedactionおよびJSON

16 Oracle Data Redactionのセキュリティの考慮事項Oracle Data Redactionの一般的なセキュリティ上のガイドラインOracle Data Redactionポリシーへの管理アクセスの制限Oracle Data RedactionがSYS、SYSTEMおよびデフォルト・スキーマに与える影響SYS_CONTEXT属性を使用するポリシー式マテリアライズド・ビューに対するOracle Data Redactionポリシービューが無効な場合のREDACTION_COLUMNSデータ・ディクショナリ・ビューの動作ごみ箱が有効になっている場合のOracle Data Redactionポリシーの削除

用語集索引

20

Page 22: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

Oracle® DatabaseAdvanced Securityガイド

19c

F16131-05(原本部品番号:E96301-06)

2020年9月

タイトルおよび著作権情報

Oracle Database Advanced Securityガイド, 19c

F16131-05

Copyright © 1996, 2020, Oracle and/or its affiliates.

原本著者: Patricia Huey

原本協力者: Sudha Duraiswamy、Michael Hwa、Sudha Iyer、Supriya Kalyanasundaram、LakshmiKethana、Peter Knaggs、Andrew Koyfman、Dah-Yoh Lim、Adam Lee、Adam Lindsey、RahilMir、Gopal Mulagund、Andy Philips、Preetam Ramakrishna、Saikat Saha、Philip Thornton、PeterWahl、Lixia Yuan、Paul Youn

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証は

22

Page 23: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

いたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

米国政府機関エンド・ユーザー: オラクル社のプログラム(オペレーティング・システム、統合ソフトウェア、提供されたハードウェアに対して組み込まれたか、インストールされたか、アクティブ化されたプログラム、およびそのようなプログラムの変更版など)、およびオラクル社によるコンピュータ・ドキュメント、または米国政府機関エンド・ユーザーに提供されたかそれらがアクセスしたその他のOracleデータは、適用可能な連邦政府調達規則および政府機関固有の補足規則に準拠した「商用コンピュータ・ソフトウェア」または「商用コンピュータ・ソフトウェア・ドキュメント」です。As such, the use, reproduction, duplication, release, display, disclosure,modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including anyoperating system, integrated software, any programs embedded, installed or activated on delivered hardware,and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, issubject to the rights and limitations specified in the license contained in the applicable contract.The termsgoverning the U.S. Government’s use of Oracle cloud services are defined by the applicable contract forsuch services.No other rights are granted to the U.S. Government.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Insideは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Epyc、AMDロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセス

23

Page 24: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

または使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

24

Page 25: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

はじめにOracle Advanced Security 12cリリース2 (12.2)のOracle Database AdvancedSecurityガイドへようこそ。このガイドでは、Oracle Advanced Securityを実装、構成および管理する方法について説明します。

対象読者

ドキュメントのアクセシビリティについて

関連ドキュメント

表記規則

対象読者『Oracle Database Advanced Securityガイド』は、Oracle Advanced Securityの実装、構成および管理に携わる次のようなユーザーとシステム担当者を対象としています。

実装の専門家

システム管理者

セキュリティ管理者

データベース管理者(DBA)

親トピック: はじめに

ドキュメントのアクセシビリティについてOracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracleサポートへのアクセス

25

Page 26: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

サポートを購入したオラクル社のお客様は、 を介して電子的なサポートにアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

親トピック: はじめに

関連ドキュメントOracle Advanced Security機能を構成する前に、次のガイドをよく理解しておく必要があります。

Oracle Database管理者ガイド

『Oracle Databaseセキュリティ・ガイド』

Oracle Database SQL言語リファレンス

Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス

Oracle Multitenant管理者ガイド

ドキュメント・セットの多くのマニュアルでは、デフォルトのデータベースのサンプル・スキーマが使用されます。サンプル・スキーマの作成方法およびその使用方法については、OracleDatabaseサンプル・スキーマを参照してください。

リリース・ノート、インストール関連ドキュメント、ホワイト・ペーパーまたはその他の関連ドキュメントは、OTN (Oracle Technology Network)から、無償でダウンロードできます。OTN-Jを使用するには、オンラインでの登録が必要です。登録は、次のWebサイトから無償で行えます。

http://www.oracle.com/technetwork/index.html

すでにOTNのユーザー名およびパスワードを取得している場合は、次の場所でOTN Webサイトのドキュメントのセクションに直接接続できます。

http://www.oracle.com/technetwork/documentation/index.html

親トピック: はじめに

表記規則このドキュメントでは次の表記規則を使用します。

コピー

コピー

My Oracle Support

26

Page 27: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表記規則 意味

太字 太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

等幅フォント 固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

親トピック: はじめに

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

27

Page 28: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

このリリースでの『Oracle DatabaseAdvanced Securityガイド』の変更点ここでは、次の内容について説明します。

Oracle Database Advanced Security 19cにおける変更点

Oracle Database Advanced Security 18cにおける変更点

Oracle Database Advanced Security 19cにおける変更点Oracle Database 19cの『Oracle Database Advanced Securityガイド』の変更点は次のとおりです。

Oracle管理の表領域の暗号化におけるキー管理サポートの向上このリリースでは、Oracle管理の表領域(SYSTEM、SYSAUX、TEMPおよびUNDO表領域)が暗号化されている場合でも、TDEキーストアを閉じることができるようになりました。

Oracle Managed Files以外のモードでの自動名前変更の透過的オンライン変換のサポートこのリリース以降では、Oracle Managed Files以外のモードでの透過的データ暗号化オンライン変換で、ADMINISTER KEY MANAGEMENT SQL文にFILE_NAME_CONVERT句を含めることは強制されなくなりました。ファイル名には元の名前が維持されます。

オフライン表領域の暗号化のためのより多くのアルゴリズムのサポート以前のリリースでは、AES128暗号化アルゴリズムのみがオフライン表領域の暗号化でサポートされていました。このリリースでは、AES128に加えて、AES192およびAES256暗号化アルゴリズム、およびオフライン表領域の暗号化用のARIA、GOSTおよび3DES暗号化アルゴリズムのサポートが導入されました。

親トピック: このリリースでの『Oracle Database Advanced Securityガイド』の変更点

Oracle管理の表領域の暗号化におけるキー管理サポートの向上このリリースでは、Oracle管理の表領域(SYSTEM、SYSAUX、TEMPおよびUNDO表領域)が暗号化さ

28

Page 29: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

れている場合でも、 キーストアを閉じることができるようになりました。

これらの表領域が暗号化されている場合、それらに対する内部操作はTDEキーストアがCLOSED状態であっても引き続き影響を受けません。

TDEキーストアを閉じても、暗号化されたSYSTEM、SYSAUX、TEMPまたはUNDO表領域の問合せに影響はありません。ユーザー作成の表領域の問合せでは、TDEキーストアを閉じると、ORA-28365 ウォレットがオープンしていませんというエラーが引き続き返されます。

暗号化されたOracle管理の表領域に対してユーザーが開始した復号化などの操作では、TDEキーストアがOPEN状態である必要があります。

関連項目

暗号化された表領域に対する閉じられたTDEキーストアの影響

親トピック: Oracle Database Advanced Security 19cにおける変更点

Oracle Managed Files以外のモードでの自動名前変更の透過的オンライン変換のサポートこのリリース以降、Oracle Managed Files以外のモードでの透過的データ暗号化オンライン変換では、ADMINISTER KEY MANAGEMENT SQL文にFILE_NAME_CONVERT句を含めることは強制されなくなりました。ファイル名には元の名前が維持されます。

この拡張機能により、後でファイルを元の名前に戻す必要がなくなり、ファイルが欠落することがなくなります。

関連項目

オンライン変換での既存の表領域の暗号化

親トピック: Oracle Database Advanced Security 19cにおける変更点

オフライン表領域の暗号化のためのより多くのアルゴリズムのサポート以前のリリースでは、オフライン表領域の暗号化でAES128暗号化アルゴリズムのみがサポートされていました。このリリースでは、AES128に加えて、AES192およびAES256暗号化アルゴリズム、およびオフライン表領域の暗号化用のARIA、GOSTおよび3DES暗号化アルゴリズムのサポートが導入されました。

この機能拡張は、オンライン表領域の暗号化に必要な補助領域の使用量に関して懸念があるシナリオで役に立ちます。

関連項目

TDE

29

Page 30: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表領域およびデータベースの暗号化変換について

サポートされる暗号化と整合性のアルゴリズム

親トピック: Oracle Database Advanced Security 19cにおける変更点

Oracle Database Advanced Security 18cにおける変更点Oracle Database 18cの『Oracle Database Advanced Securityガイド』の変更点は次のとおりです。

各プラガブル・データベースのキーストアの作成機能各プラガブル・データベース(PDB)は、コンテナ・データベース(CDB)全体に対して1つのキーストアのみではなく、独自のキーストアを持つことができるようになりました。

ユーザー定義のマスター暗号化キーの作成機能このリリースでは、ユーザー定義のマスター暗号化キーを作成する機能が追加されており、これは「Bring Your Own Key(BYOK)」とも呼ばれます。

Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを使用する機能データベース・リンク・パスワードの処理の動作は、このリリースで変更されています。

親トピック: このリリースでの『Oracle Database Advanced Securityガイド』の変更点

各プラガブル・データベースのキーストアの作成機能コンテナ・データベース(CDB)全体に対して1つのキーストアのみが存在するのではなく、各プラガブル・データベース(PDB)が独自のキーストアを持てます。

以前のリリースでは、PDBでは、コンテナ・データベース(CDB)全体でキーストアを共有しており、これには、CDBルートおよびすべてのPDBが含まれていました。このキーストアは、CDBおよびすべてのPDBのマスター暗号化キーを格納していました。このリリースでは、PDBでは、以前のようにCDB全体で同じキーストアを共有するか、または個別のキーストアを持つことができます。この設計により、各個別のキーストアを独立して管理できるため、PDBの間の分離性が高まります。たとえば、各キーストアは、異なるパスワードを使用して保護できます。

ノート: この機能は、Oracle Cloud環境でのみ使用できます。オンプレミス環境には適用されません。

この機能のその他の利点は、CDBルート・レベルでキーストアを共有することなく、マルチテナント環境内の各テナント(PDB)によって、独立したキー管理操作を実行できることです。この機能は、キーストアの場所およびキーストア・タイプの構成を容易にするパラメータが提供され、sqlnet.oraファイルを編集する必要がなくなるため、マルチテナント環境と非マルチテナント環境の両方に効果があります。

30

Page 31: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

この機能により、次の新機能が提供されます。

マルチテナント環境では、次の2種類のモードがあります。

統一モード。キーストアとマスター暗号化キーは、主にCDBルートから管理され、統一モードのPDBからアクセスできます。PDB内で、キーストアは、そのPDBに対してのみ開いたり閉じたりできます。また、このキーストアのPDB固有のマスター暗号化キーを作成できます。分離モード。キーストアおよび暗号化キーが、個々のPDBで管理されます。このようにすることで、各PDBでは、独自のキーストアのタイプを独立して構成し、その構成後、このキーストアを作成および管理できます。

これらの2つのモードを混在させることができます。たとえば、1個のCDBと10個のPDBがあるとします。これらのPDBのうち3つは統一モードで実行し、残りの7つは分離モードで実行できます。この設計は、環境やサイトの要件に応じて、非常に高い柔軟性を発揮します。これらのモードに対応するために、ADMINISTER KEY MANAGEMENT SQL文が2つのモードで異なる動作をするように拡張されました。非マルチテナントとテナントの両方の環境で、次の新機能があります。

キーストアのパスを指定するWALLET_ROOT静的インスタンス初期化パラメータが追加されました。このガイドでは、WALLET_ROOTは、ソフトウェア・キーストア、ハードウェア・キーストアおよびOracle Key Vaultキーストアの構成を指しますが、このパラメータは、エンタープライズ・ユーザー・セキュリティ、Secure Sockets Layer、OracleXML DB、セキュアな外部パスワード・ストアといったその他の製品のウォレットの場所を指定するためにも使用できます。使用するキーストアのタイプを指定するTDE_CONFIGURATION動的インスタンス初期化パラメータが追加されました。このパラメータは、TDEソフトウェア・キーストア、ハードウェア・セキュリティ・モジュール・キーストア(HSM)、Oracle KeyVault用に設定できます。SQLNET.ENCRYPTION_WALLET_LOCATIONパラメータの動作が変更されました。WALLET_ROOTパラメータが設定されている場合、WALLET_ROOTにより、SQLNET.ENCRYPTION_WALLET_LOCATIONがオーバーライドされます。WALLET_ROOTが設定されていない場合、SQLNET.ENCRYPTION_WALLET_LOCATIONがデフォルトになります。

この設計により、PDBの間の分離性が高まります。この機能のその他の利点は、CDBルート・レベルでキーストアを共有することなく、マルチテナント環境内の各テナント(PDB)によって、独立したキー管理操作を実行できることです。この機能は、キーストアの場所およびキーストア・タイプの構成を容易にするパラメータが提供され、sqlnet.oraファイルを編集する必要がなくなるため、マルチテナント環境と非マルチテナント環境の両方に効果があります。

関連項目

31

Page 32: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

マルチテナント・オプションによる透過的データ暗号化への影響

親トピック: Oracle Database Advanced Security 18cにおける変更点

ユーザー定義のマスター暗号化キーを作成する機能このリリースでは、ユーザー定義のマスター暗号化キーを作成する機能が追加されており、これは、「Bring Your Own Key(BYOK)」とも呼ばれます。

TDEマスター暗号化キーを常にデータベースで生成する必要がなくなり、Oracle Databaseでは、データベース外で生成されたマスター暗号化キーの使用がサポートされるようになりました。

ユーザー定義のキーを作成するには、ADMINISTER KEY MANAGEMENT SET [ENCRYPTION]KEY文またはADMINISTER KEY MANAGEMENT CREATE [ENCRYPTION] KEY文を使用して、マスター暗号化キーを作成する際に、独自のマスター・キーの識別値を指定します。この拡張機能は、ハードウェア・キーストアではなく、ソフトウェア・キーストアで使用されるマスター暗号化キーにのみ適用されます。これは、非マルチテナントのスタンドアロン環境と、マルチテナント環境で使用できます。

関連項目

ユーザー定義のTDEマスター暗号化キーの作成

統一モードでのユーザー定義のTDEマスター暗号化キーの作成

分離モードでのユーザー定義のTDEマスター暗号化キーの作成

親トピック: Oracle Database Advanced Security 18cにおける変更点

Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを使用する機能データベース・リンクのパスワードの処理の動作は、このリリースで変更されています。

データベース・リンクのパスワードは暗号化されるようになりました。Oracle Data Pumpにより、これらのパスワードのエクスポートとインポートが処理されます。旧バージョンからのインポート操作および旧バージョンへのエクスポート操作は、引き続き使用できます。

この機能の利点は、暗号化されたデータベース・リンクのパスワードを侵入者が復号化できなくなることです。

関連項目

暗号化されたデータ・ディクショナリ・データでのOracle Data Pumpの使用

親トピック: Oracle Database Advanced Security 18cにおける変更点

32

Page 34: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

1 Oracle Advanced Securityの概要Oracle Advanced Securityは、透過的データ暗号化およびOracle DataRedactionの2つの機能で構成されます。

透過的データ暗号化透過的データ暗号化(TDE)ではデータを暗号化できるため、許可された受信者のみが読み取ることができます。

Oracle Data RedactionOracle Data Redactionでは、複数のリダクション・タイプを使用して列データのリダクション(マスク)を行うことができます。

透過的データ暗号化透過的データ暗号化(TDE)ではデータを暗号化できるため、許可された受信者のみが読み取ることができます。

暗号化を使用すると、保護されていない可能性のある環境内の機密データ(バックアップ・メディアに配置されて、外部の記憶域に送信されるデータなど)を保護できます。データベース表の個別の列を暗号化したり、表領域全体を暗号化することができます。

透過的データ暗号化を使用するには、アプリケーションを変更する必要はありません。TDEではアプリケーションは以前と同様にシームレスに動作を継続することができます。ディスクに書き込まれるときにデータは自動的に暗号化され、アプリケーションがアクセスするときにデータは復号化されます。キー管理機能が組み込まれているため、暗号化キーの管理および保護などの複雑なタスクを行う必要はありません。

親トピック: Oracle Advanced Securityの概要

Oracle Data RedactionOracle Data Redactionでは、複数のリダクション・タイプを使用して列データのリダクション(マスク)を行うことができます。

34

Page 35: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

実行できるリダクションのタイプは、次のとおりです。

完全リダクション。列データの内容をすべてリダクションします。問合せを行ったユーザーに返される、リダクションされた値は、列のデータ型によって異なります。たとえば、NUMBERデータ型の列はゼロ(0)でリダクションされ、文字データ型は空白でリダクションされます。部分リダクション。列データの一部をリダクションします。たとえば、社会保障番号の大部分(最後の4桁以外)をアスタリスク(*)でリダクションできます。正規表現。完全または一部のいずれのリダクションでも正規表現を使用できます。これにより、データの検索パターンに基づいてデータをリダクションできます。たとえば、正規表現を使用して、データ内の特定の電話番号または電子メール・アドレスをリダクションできます。ランダム・リダクション。問合せを行ったユーザーに表示されるリダクションされたデータは、列のデータ型に応じて、表示されるたびにランダムに生成された値として表示されます。リダクションなし。このオプションでは、リダクション・ポリシーが定義された表に対する問合せの結果に影響を与えずに、ポリシーの内部動作をテストできます。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。

データ・リダクションでは、実行時、つまり、ユーザーがデータを表示する際にリダクションが行われます。この機能は、データが常に変化する動的本番システムに非常に適しています。データはリダクションされますが、Oracle Databaseはすべてのデータを通常どおり処理し、バックエンドの参照整合性制約を保持できます。データ・リダクションは、クレジットカード業界のセキュリティ基準(PCI DSS)やサーベンス・オクスリー法などの業界の規則の順守に役立ちます。

親トピック: Oracle Advanced Securityの概要

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

35

Page 36: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

第I部 透過的データ暗号化の使用第I部では、透過的データ暗号化を使用する方法について説明します。

透過的データ暗号化の概要透過的データ暗号化を使用して、クレジット・カード番号や社会保障番号などの機密データを暗号化できます。

透過的データ暗号化の構成ソフトウェアおよびハードウェアのキーストアは、個々の表列または表領域全体の両方で使用するために構成できます。

キーストアおよびマスター暗号化キーの管理キーストアおよびTDEマスター暗号化キーの設定を変更して、Oracle Databaseを格納し、Oracle GoldenGateのシークレットをキーストアに格納できます。

統一モードでのキーストアおよびTDEマスター暗号化キーの管理統一モードでは、キーストアが統一モードであるCDBおよびPDBのための共通キーストアを作成できます。

分離モードでのキーストアおよびTDEマスター暗号化キーの管理Oracle Cloudデータベース(オンプレミス・データベースではない)では、分離モードを使用すると、プラガブル・データベース(PDB)ごとにキーストアを作成できます。

透過的データ暗号化を使用する場合の一般的な考慮事項透過的データ暗号化を使用するときは、セキュリティ、パフォーマンス、記憶域のオーバーヘッドなどの要因を考慮する必要があります。

他のOracle機能における透過的データ暗号化の使用Oracle Data Encryptionは、Oracle Data GuardやOracle Real Application Clustersなどの他のOracle機能とともに使用できます。

sqlnet.oraを使用した透過的データ暗号化キーストアの構成WALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用しないでキーストアの場所を

36

Page 37: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

構成する場合は、sqlnet.oraファイルを使用できます。

透過的データ暗号化に関するよくある質問透過的データ暗号化の透過およびパフォーマンスに関して、ユーザーからよく質問が寄せられます。

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

37

Page 38: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

2 透過的データ暗号化の概要透過的データ暗号化を使用して、クレジット・カード番号や社会保障番号などの機密データを暗号化できます。

透過的データ暗号化とは透過的データ暗号化(TDE)を使用すると、表および表領域に格納する機密データを暗号化できます。

透過的データ暗号化を使用する利点透過的データ暗号化(TDE)によって、機密データの暗号化とコンプライアンス要件の達成が保証され、暗号化操作を簡略化する機能が提供されます。

透過的データ暗号化を構成できる者透過的データ暗号化(TDE)を構成するには、ADMINISTER KEY MANAGEMENTシステム権限が付与されている必要があります。

透過的データ暗号化のタイプおよびコンポーネント透過的データ暗号化は、個々の列または表領域全体に適用できます。

マルチテナント・オプションによる透過的データ暗号化への影響マルチテナント環境では、コンテナ・データベース(CDB)全体または個々のプラガブル・データベース(PDB)用のキーストアを構成できます。

親トピック: 透過的データ暗号化の使用

透過的データ暗号化とは透過的データ暗号化(TDE)を使用すると、表および表領域に格納する機密データを暗号化できます。

暗号化されたデータは、アクセス時に、許可されているユーザーまたはアプリケーションに対して自動的に復号化されます。TDEは、記憶域メディアまたはデータ・ファイルが盗まれた場合に、メディアに格納されているデータ(保存データとも呼ぶ)を保護するために役立ちます。

38

Page 39: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Databaseの認証、認可および監査メカニズムは、データベース内のデータを保護するためのものであり、オペレーティング・システムのデータ・ファイルに格納されているデータの保護には使用されません。このようなデータ・ファイルを保護する目的では、透過的データ暗号化(TDE)を使用します。TDEを使用すると、データ・ファイルに格納されている機密データを暗号化できます。許可なく復号化されるのを防止するため、TDEにより暗号化キーはデータベース外部のキーストアと呼ばれるセキュリティ・モジュールに格納されます。

Oracle Key VaultをTDE実装の一部として構成できます。これにより、企業内でTDEキーストア(Oracle Key VaultではTDEウォレットと呼ばれます)を集中管理できます。たとえば、ソフトウェア・キーストアをOracle Key Vaultにアップロードし、このキーストアの内容を他のTDE対応データベースで利用可能にすることができます。

関連項目

Oracle Key Vault管理者ガイド

親トピック: 透過的データ暗号化の概要

透過的データ暗号化を使用する利点透過的データ暗号化(TDE)によって、機密データの暗号化とコンプライアンス要件の達成が保証され、暗号化操作を簡略化する機能が提供されます。

利点は次のとおりです。

セキュリティ管理者としては、機密データが暗号化されるため、記憶域メディアまたはデータ・ファイルが盗まれた場合でも安全であることを確信できます。TDEを使用すると、セキュリティに関連した規制コンプライアンスの問題への対応に役立ちます。許可されたユーザーまたはアプリケーションに対してデータを復号化するための補助表、トリガーまたはビューを作成する必要はありません。表内のデータは、データベース・ユーザーやアプリケーションに対して透過的に復号化されます。機密データを処理するアプリケーションでTDEを使用すると、アプリケーションをほとんどあるいはまったく変更せずに、強力なデータ暗号化を実現できます。データは、このデータにアクセスするデータベース・ユーザーおよびアプリケーションに対して透過的に復号化されます。データベース・ユーザーおよびアプリケーションは、アクセスするデータが暗号化された形式で格納されていることを認識する必要がありません。本番システムでは表のオンライン再定義を使用して停止時間ゼロでデータを暗号化することができ、メンテナンス期間中にはデータをオフラインで暗号化することができます。(表のオンライン再定義の詳細は、Oracle Database管理者ガイドを参照してください。)

暗号化されたデータを処理するためにアプリケーションを変更する必要がありません。デー

39

Page 40: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

タベースは、データの暗号化および復号化を管理します。Oracle Databaseによって、TDEマスター暗号化キーとキーストアの管理操作が自動化されます。ユーザーやアプリケーションがTDEマスター暗号化キーを管理する必要はありません。

親トピック: 透過的データ暗号化の概要

透過的データ暗号化を構成できる者透過的データ暗号化(TDE)を構成するには、ADMINISTER KEY MANAGEMENTシステム権限が付与されている必要があります。

マウント段階でキーストアを開く必要がある場合は、SYSKM管理権限が付与されている必要があり、この権限には、ADMINISTER KEY MANAGEMENTシステム権限および必要な他の権限が含まれています。

ユーザーにSYSKM管理権限を付与する場合、ユーザーがパスワードを使用してSYSKMとしてデータベースに接続できるように、これに対するパスワード・ファイルを確実に作成してください。これにより、ユーザーはV$DATABASEビューの問合せなどの操作を実行できます。

TDEの列または表領域の暗号化を構成するには、SYSKMまたはADMINISTER KEYMANAGEMENT権限は必要ありません。表の列と表領域を暗号化するには、次の権限がさらに必要になります。

CREATE TABLE

ALTER TABLE

CREATE TABLESPACE

ALTER TABLESPACE (オンラインおよびオフライン表領域の暗号化の場合)

ALTER DATABASE (オフライン表領域の高速暗号化の場合)

親トピック: 透過的データ暗号化の概要

透過的データ暗号化のタイプおよびコンポーネント透過的データ暗号化は、個々の列または表領域全体に適用できます。

透過的データ暗号化のタイプおよびコンポーネントについて機密データを列レベルまたは表領域レベルで暗号化できます。

透過的データ暗号化の列暗号化の動作透過的データ暗号化(TDE)の列暗号化は、表の列に格納されているクレジット・カード番号や社会保障番号などの機密データを保護します。

40

Page 41: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化の表領域暗号化の動作透過的データ暗号化(TDE)の表領域暗号化を使用すると、表領域全体を暗号化できます。

TDEマスター暗号化キーの格納用のキーストアの動作暗号化を制御するには、キーストアおよびTDEマスター暗号化キーを使用します。

サポートされる暗号化と整合性のアルゴリズムサポートされているAdvanced Encryption Standard暗号キー(表領域およびデータベース暗号化キーなど)は、128、192または256ビット長のいずれかにできます。表領域およびデータベースの暗号化では、128ビット長の暗号キーが使用されます。

親トピック: 透過的データ暗号化の概要

透過的データ暗号化のタイプおよびコンポーネントについて機密データを列レベルまたは表領域レベルで暗号化できます。

列レベルでは、選択した表の列を使用してデータを暗号化できます。TDE表領域暗号化を使用すると、表領域に格納されているすべてのデータを暗号化できます。

TDE列暗号化とTDE表領域暗号化では、どちらも2層のキー・ベース・アーキテクチャを使用します。セキュリティ攻撃を試みている侵入者など、許可されていないユーザーは、データを復号化するTDEマスター暗号化キーを持っていないかぎり、ストレージおよびバックアップ・メディアのデータを読み取れません。

親トピック: 透過的データ暗号化のタイプおよびコンポーネント

透過的データ暗号化列暗号化の動作透過的データ暗号化(TDE)列暗号化は、表の列に格納されている、クレジット・カード番号や社会保障番号などの機密データを保護します。

TDE列暗号化では、2層のキー・ベース・アーキテクチャを使用して、機密の表の列を透過的に暗号化および復号化します。TDEマスター暗号化キーは、外部セキュリティ・モジュールに格納され、このモジュールは、Oracleソフトウェア・キーストアまたはハードウェア・キーストアにすることができます。このTDEマスター暗号化キーはTDE表キーを暗号化および復号化し、TDE表キーは表の列のデータの暗号化および復号化を行います。

図2-1に、TDE列暗号化プロセスの概要を示します。

図2-1 TDE列暗号化の概要

41

Page 42: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「図2-1 TDE列暗号化の概要」の説明

図2-1に示すように、TDEマスター暗号化キーは、データベースの外側にあって、適切な権限を付与されたユーザーのみがアクセスできる外部セキュリティ・モジュールに格納されます。この外部セキュリティ・モジュールの場合、Oracle Databaseは、Oracleソフトウェア・キーストア(以前のリリースではウォレット)またはハードウェア・セキュリティ・モジュール(HSM)・キーストアを使用します。このようにTDEマスター暗号化キーを格納することで、不正使用を防止できます。

外部セキュリティ・モジュールを使用すると、通常のプログラム機能と暗号化操作が分離されるため、データベース管理者およびセキュリティ管理者に別個の責務を割り当てることができます。データベース管理者にはキーストア・パスワードを知らせずに、セキュリティ管理者にパスワードの提供を要求できるため、セキュリティが強化されます。

表に暗号化列が含まれる場合、暗号化列の数に関係なく、TDEは単一のTDE表キーを使用します。各TDE表キーは、TDEマスター暗号化キーによって個別に暗号化されます。TDE表キーはすべて、ENC$データ・ディクショナリの表のcolklc列に置かれます。キーは平文には格納されません。

親トピック: 透過的データ暗号化のタイプおよびコンポーネント

透過的データ暗号化表領域暗号化の動作透過的データ暗号化(TDE)表領域暗号化を使用すると、表領域全体を暗号化できます。

暗号化されている表領域に作成されるオブジェクトはすべて自動的に暗号化されます。TDE表領

42

Page 43: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

域暗号化は、表の複数の列に機密データが含まれている場合、または個々の列だけでなく表全体を保護する場合に有用です。暗号化が必要な列を判断するために、各表の列を詳細に分析する必要はありません。

また、TDE表領域暗号化は、バルク暗号化とキャッシュを利用して、高度なパフォーマンスを実現します。アプリケーションに対する実際のパフォーマンスの影響は異なることがあります。

TDE表領域暗号化では、暗号化された表領域内に格納されているデータ(REDOデータなど)がすべて暗号化されます。TDE表領域暗号化では、表領域の外部に格納されているデータは暗号化されません。たとえば、BFILEデータは、データベース外部に格納されるため暗号化されません。暗号化された表領域内でBFILE列を含む表を作成した場合、この特別な列は暗号化されません。

暗号化された表領域内のデータはすべて、暗号化された形式でディスク上に格納されます。データの表示または変更に必要な権限を付与されているユーザーに対しては、データが透過的に復号化されます。データベース・ユーザーやアプリケーションは、特定の表がディスク上で暗号化されているかどうかを認識する必要はありません。ディスク上のデータ・ファイルまたはバックアップ・メディアが盗まれた場合でも、データの安全性は損なわれません。

TDE表領域暗号化では、2層のキー・ベース・アーキテクチャを使用して、表領域を透過的に暗号化(および復号化)します。TDEマスター暗号化キーは、外部セキュリティ・モジュール(ソフトウェア・キーストアまたはハードウェア・キーストア)に格納されます。このTDEマスター暗号化キーはTDE表領域暗号化キーの暗号化に使用され、TDE表領域暗号化キーは表領域のデータの暗号化と復号化に使用されます。

図2-2に、TDE表領域暗号化プロセスの概要を示します。

図2-2 TDE表領域暗号化

43

Page 44: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「図2-2 TDE表領域暗号化」の説明

ノート: 暗号化データは、JOINやSORTなどの操作中も保護されます。これは、データを一時表領域に移動しても安全であることを意味します。UNDOログとREDOログのデータも保護されます。

TDE表領域暗号化を使用すると、暗号化された表領域のデータに対して索引レンジ・スキャンを実行することもできます。索引レンジ・スキャンは、TDE列暗号化では実行できません。

Oracle Databaseは、TDE表領域暗号化の次の機能を実装しています。

TDE列暗号化とTDE表領域暗号化の両方に対して統合TDEマスター暗号化キーを使用します。統合TDEマスター暗号化キーは再設定できます。これによってセキュリティが強化され、セキュリティ要件やコンプライアンス要件への対応が促進されます。

親トピック: 透過的データ暗号化のタイプおよびコンポーネント

TDEマスター暗号化キーの格納用のキーストアの動作暗号化を制御するには、キーストアおよびTDEマスター暗号化キーを使用します。

TDEマスター暗号化キーのキーストア格納についてOracle Databaseは、キーおよび資格証明を格納および管理する透過的データ暗号化用のキー

44

Page 45: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

管理フレームワークを提供します。

キーストア格納フレームワークの利点このキー管理フレームワークには、透過的データ暗号化にとっていくつかの利点があります。

キーストアのタイプOracle Databaseでは、ソフトウェア・キーストア、Oracle Key Vaultおよびその他のPKCS#11互換のキー管理デバイスがサポートされています。

親トピック: 透過的データ暗号化のタイプおよびコンポーネント

TDEマスター暗号化キーのキーストア格納についてOracle Databaseは、キーおよび資格証明を格納および管理する透過的データ暗号化用のキー管理フレームワークを提供します。

キー管理フレームワークには、TDEマスター暗号化キーを安全に格納するキーストア、および様々なデータベース・コンポーネント用のキーストアおよびキー操作を安全かつ効率的に管理する管理フレームワークが含まれています。

Oracleキーストアにはそれまで使用されたTDEマスター暗号化キーの履歴が格納されますが、これにより、TDEマスター暗号化キーを変更したり、以前のTDEマスター暗号化キーで暗号化されたデータを復号化することができます。

親トピック: TDEマスター暗号化キーの格納用のキーストアの動作

キーストア格納フレームワークの利点

キー管理フレームワークは、透過的データ暗号化にとって次の利点があります。

データベース管理者とキーを管理するセキュリティ管理者の間で責務を分離できます。キーストアおよびキー操作の管理の責任を負うユーザーにADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与できます。

コンプライアンスを容易にします(暗号化キーの追跡、およびキーストア・パスワード・ローテーションやTDEマスター暗号化キーの再設定または更新操作などの要件の実装に役立つためです)。キーストア・バックアップ要件を容易にし、これの実施に役立ちます。バックアップとは、すべての重要なキーストア操作用に作成される、パスワード保護されたソフトウェア・キーストアのコピーです。

すべての重要なキーストア操作用にキーストアのバックアップを作成する必要があります。このTDEマスター暗号化キーの再設定またはキー更新を行う前に、TDEマスター暗号化キーのバックアップを作成する必要もあります。ASMファイル・システムにキーストアを格納できるようにします。これは、データベース・

45

Page 46: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

インスタンスが統一ファイル・システム・ビューを共有するOracle Real Application Clusters(Oracle RAC)環境にとって特に有用です。ハードウェア・キーストアからファイルシステム・ベースのソフトウェア・キーストアへの逆移行を可能にします。このオプションは、ソフトウェア・キーストアに移行する必要がある場合に有用です。

親トピック: TDEマスター暗号化キーの格納用のキーストアの動作

キーストアのタイプOracle Databaseでは、ソフトウェア・キーストア、Oracle Key Vaultおよびその他のPKCS#11互換のキー管理デバイスがサポートされています。

図2-3は、Oracle Databaseでサポートされているキーストアのタイプを示しています。

図2-3 Oracle Databaseでサポートされているキーストア

「図2-3 Oracle Databaseでサポートされているキーストア」の説明

これらのキーストアは次のとおりです。

自動ログイン・ソフトウェア・キーストア: 自動ログイン・ソフトウェア・キーストアはシステム生成のパスワードによって保護されます。セキュリティ・マネージャによって明示的に開かれる必要はありません。自動ログイン・ソフトウェア・キーストアは、アクセスすると自動的に開きます。自動ログイン・ソフトウェア・キーストアは異なるシステム間で使用できます。使用する際、明示的に開く必要のあるキーストアで提供される特別なセキュリティが不要な環境の場合、自動ログイン・ソフトウェア・キーストアを使用できます。自動ログイン・ソフトウェア・キーストアは、無人シナリオに最適です。ローカル自動ログイン・ソフトウェア・キーストア: ローカル自動ログイン・ソフトウェア・キーストアは、作成されたコンピュータに対してローカルな自動ログイン・ソフトウェア・キーストアです。ローカル自動ログイン・キーストアは、作成されたコンピュータ以外では開けません。このタイプのキーストアは、無人操作をサポートしながら、追加のセキュリティが必要なシナリオ(つまり、このコンピュータに対する自動ログインの使用を制限すること)に対して通常使用されます。

46

Page 47: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

パスワード保護されたソフトウェア・キーストア: パスワード保護されたソフトウェア・キーストアは、作成したパスワードを使用することで保護されます。キーが取得または使用される前にこのタイプのキーストアを開く必要があります。

ソフトウェア・キーストアは、Oracle Automatic Storage Management (Oracle ASM)、OracleAutomatic Storage Management Cluster File System (Oracle ACFS)または通常のファイル・システムに格納できます。

ハードウェア・キーストアは、次のカテゴリに分類されます。

ハードウェア・セキュリティ・モジュール(HSM): ハードウェア・セキュリティ・モジュールとは、ハードウェア・キーストアに暗号化キーを安全に格納するサードパーティの物理デバイスです。HSMはまた、暗号化と復号化の操作を実行するための計算領域(メモリー)も保護します。HSMを使用している場合、データ暗号化キーは、HSMのFIPS境界の内側にあるTDEマスター暗号化キーによって復号化する必要があります。これは、TDEマスター暗号化キーがHSMの内部FIPS境界を離れることがないとういことです。トランザクション負荷の高いデータベース(たとえば、暗号化されたPDBが何百個もあるExadata)がHSMにデータ暗号化キーを送信し続けると(ネットワーク)負荷が高くなるのは、これが原因です。Oracle Key Vault (OKV)キーストア: Oracle Key Vaultキーストア(ウォレット)は、オラクル社が提供するハードウェア・キーストアです。Oracle Key Vaultでは、暗号化キー、Oracleキーストア、Javaキーストアおよび資格証明ファイルを一元的に管理できます。

関連項目

Oracle Key Vault管理者ガイド

親トピック: TDEマスター暗号化キーの格納用のキーストアの動作

サポートされる暗号化と整合性のアルゴリズムサポートされているAdvanced Encryption Standard暗号キー(表領域およびデータベース暗号化キーなど)は、128、192または256ビット長のいずれかにできます。表領域およびデータベースの暗号化では、128ビット長の暗号キーが使用されます。

TDE列暗号化の場合は、特に指定しないかぎり、デフォルトで暗号化の前に平文にsaltが追加されます。暗号化の対象となる索引付けされた列にはsaltを追加できません。索引付けされた列に対しては、SQL ENCRYPT句でNO SALTパラメータを選択します。

TDE表領域暗号化およびデータベース暗号化の場合、128ビット長の暗号化キーを使用するAdvanced Encryption Standard (AES128)がデフォルトで使用されます。透過的データ暗号化(TDE)列暗号化では、デフォルトでAdvanced Encryption Standard (AES)が使用されます。

既存の暗号化列の暗号化アルゴリズムおよび暗号化キーを変更するには、SQL ENCRYPT句で別のアルゴリズムを設定します。

47

Page 48: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表2-1に、サポートされる暗号化アルゴリズムを示します。

表2-1 透過的データ暗号化でサポートされる暗号化アルゴリズム

アルゴリズム キー・サイズ パラメータ名

Advanced Encryption Standard(AES) 128ビット(表領域暗号化のデフォルト)

192ビット(列暗号化のデフォルト)

256ビット

AES192

AES128

AES256

ARIA 128ビット192ビット256ビット

ARIA128

ARIA192

ARIA256

GOST 256ビット GOST256

SEED 128ビット SEED128

Triple Encryption Standard (DES) 168ビット 3DES168

TDE列暗号化の整合性保護のために、SHA-1ハッシュ・アルゴリズムが使用されます。格納に制限がある場合、NOMACオプションを使用します。

親トピック: 透過的データ暗号化のタイプおよびコンポーネント

マルチテナント・オプションによる透過的データ暗号化への影響マルチテナント環境では、コンテナ・データベース(CDB)全体または個々のプラガブル・データベース(PDB)用のキーストアを構成できます。

Oracle Databaseでは、キーストアの管理に関する次のマルチテナント・モードがサポートされています。

統一モードでは、CDBルートおよび関連する統一モードPDBのために1つのキーストアを構成できます。統一モードでは、以前のリリースのマルチテナント環境で行われていた方法と同じ方法でTDEの管理が行われます。分離モードでは、個別のPDB内でキーストアおよびTDEマスター暗号化キーの両方を作成および管理できます。分離モードの個々のPDBでは、それぞれ異なるタイプのキーストアを使用できます。

48

Page 49: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

これらのモードを使用して、ソフトウェア・キーストア、ハードウェア・キーストアおよびOracleKey Vaultキーストアを構成できます。

サイトの要件によっては、統一モードと分離モードの両方を組み合せて使用できます。たとえば、ほとんどのPDBで1つのタイプのキーストアを使用する場合は、CDBルートでキーストア・タイプを構成できます(統一モード)。このCDB内に別のタイプのキーストアを使用する必要があるPDBが存在する場合は、そのPDB自体に対して必要なキーストアを使用するように構成できます(分離モード)。PDBに対して分離モードを設定すると、CDBに対する統一モードの設定がオーバーライドされます。

キーストアを統合モードまたは分離モードで使用するよう構成するには、事前に初期化パラメータを使用してワンタイム構成を実行する必要があります。統一モードおよび分離モードのキーストアを構成するには、ADMINISTER KEY MANAGEMENT文を使用します。データベースを再起動すると、ADMINISTER KEY MANAGEMENT文のコマンドを使用できる場所が変化します。たとえば、構成前には、CDBルートでADMINISTER KEY MANAGEMENT文のEXTERNAL STORE句を使用できませんでしたが、構成後はそれが可能になります。

関連項目

統一モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのキーストアおよびTDEマスター暗号化キーの管理

sqlnet.oraを使用した透過的データ暗号化キーストアの構成

親トピック: 透過的データ暗号化の概要

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

49

Page 50: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

第3章 透過的データ暗号化の構成ソフトウェアおよびハードウェアのキーストアは、個々の表列または表領域全体の両方で使用するために構成できます。

透過的データ暗号化の構成について透過的データ暗号化を構成するには、キーストアを作成しデータを暗号化する前に、設定を1回のみ実行する必要があります。

透過的データ暗号化のキーストア検索順序TDEキーストアの検索順序は、インスタンスの初期化パラメータ、sqlnet.oraのパラメータまたは環境変数の設定によって異なります。

ソフトウェア・キーストアの構成ソフトウェア・キーストアとは、ソフトウェアのファイル・システム上にあるマスター暗号化キーのコンテナです。

ハードウェア・キーストアの構成ハードウェア・キーストアは暗号化キーを保存するために設計された、ハードウェア・セキュリティ・モジュール(HSM)内にあります。

表の列の暗号化透過的データ暗号化を使用すると、データベース表の個々の列を暗号化できます。

表領域およびデータベースの暗号化変換オンラインとオフラインの両方の表領域およびデータベースで暗号化操作を実行できます。

透過的データ暗号化のデータの動的ビューおよびデータ・ディクショナリ・ビュー透過的データ暗号化(TDE)データに関する詳細情報を検索するために、一連の動的ビューおよびデータ・ディクショナリ・ビューを問い合せることができます。

親トピック: 透過的データ暗号化の使用

透過的データ暗号化の構成について

50

Page 51: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化を構成するには、キーストアを作成しデータを暗号化する前に、1回かぎりの設定を実行する必要があります。

キーストアを構成しデータの暗号化を開始する前に、作成する予定のキーストアの場所とタイプを指定するために、WALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータを使用して1回かぎりの構成を実行する必要があります。

WALLET_ROOTパラメータは、キーストア・ディレクトリの場所を指定します。WALLET_ROOTを設定する前に、キーストアを格納するために使用できる既存のディレクトリがあることを確認してください。(通常、このディレクトリはwalletと呼ばれます。)

TDE_CONFIGURATIONパラメータは、キーストアのタイプ(ソフトウェア・キーストア、ハードウェア・キーストアまたはOracle Key Vaultキーストア)を指定します。TDE_CONFIGURATIONパラメータを省略した場合、Oracle Databaseはsqlnet.oraファイル設定を使用します。TDE_CONFIGURATIONを使用してキーストアのタイプを設定した後で、キーストアを作成すると、Oracle Databaseはキーストア・タイプのWALLET_ROOTの場所内にディレクトリを作成します。たとえば、透過的データ暗号化キーストアのためにTDE_CONFIGURATIONをFILEに設定した場合は、Oracle Databaseによってウォレット・ディレクトリ内にtde (小文字)というディレクトリが作成されます。キーストア・タイプ間で移行する場合は、最初にTDE_CONFIGURATIONパラメータに使用するキーストア・タイプを設定し、ADMINISTER KEY MANAGEMENT文を使用して移行を実行する必要があります。たとえば、ハードウェア・セキュリティ・モジュール(HSM)キーストアからTDEキーストアに移行できます。

V$ENCRYPTION_WALLET動的ビューのKEYSTORE_MODE列は、統一モードまたは分離モードが構成されているかどうかを示します。

ノート: 以前のリリースでは、キーストア・ディレクトリの場所を定義するためにSQLNET.ENCRYPTION_WALLET_LOCATIONパラメータが使用されていました。このパラメータは現在非推奨になっています。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用することをお薦めします。

関連項目

透過的データ暗号化のキーストア検索順序

親トピック: 透過的データ暗号化の構成

透過的データ暗号化のキーストア検索順序TDEキーストアの検索順序は、インスタンスの初期化パラメータ、sqlnet.oraのパラメータまたは環境変数の設定によって異なります。

51

Page 52: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Databaseは、次の場所を次の順序で検索して、キーストアを取得します。

1. TDE_CONFIGURATION初期化パラメータのKEYSTORE_CONFIGURATION属性がFILEに設定されている場合、インスタンスのWALLET_ROOT初期化パラメータによって設定される場所。このパラメータを使用してキーストアの場所を構成することをお薦めします。

2. TDE_CONFIGURATION初期化パラメータのKEYSTORE_CONFIGURATION属性がFILEに設定されていないか、WALLET_ROOTが設定されていない場合は、sqlnet.oraファイルのWALLET_LOCATION設定で指定された場所。

3. WALLET_ROOTおよびWALLET_LOCATIONが設定されていない場合は、sqlnet.oraファイルのENCRYPTION_WALLET_LOCATIONパラメータ(WALLET_ROOTが優先されて非推奨になりました)で指定された場所。

4. これらのパラメータが設定されておらず、ORACLE_BASE環境変数が設定されている場合は、$ORACLE_BASE/admin/db_unique_name/walletディレクトリ。ORACLE_BASEが設定されていない場合は、$ORACLE_HOME/admin/db_unique_name/wallet。

親トピック: 透過的データ暗号化の構成

ソフトウェア・キーストアの構成ソフトウェア・キーストアとは、ソフトウェアのファイル・システム上にあるマスター暗号化キーのコンテナです。

ソフトウェア・キーストアの構成についてソフトウェア・キーストアとは、TDEマスター暗号化キーを格納するコンテナです。

ステップ1: ソフトウェア・キーストアの場所とタイプの構成init.oraでWALLET_ROOTを、データベース・インスタンスでTDE_CONFIGURATIONを設定して、キーストアの場所とタイプを構成する必要があります。

ステップ2: ソフトウェア・キーストアの作成ソフトウェア・キーストアのディレクトリの場所を指定したら、キーストアを作成できます。

ステップ3: ソフトウェア・キーストアを開く作成したキーストアの種類に応じて、使用する前にキーストアを手動で開く必要があります。

ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定キーストアが開いたら、それに対してTDEマスター暗号化キーを設定できます。

ステップ5: データの暗号化キーストアの構成が完了したので、PDB内のデータの暗号化を開始できます。

52

Page 53: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 透過的データ暗号化の構成

ソフトウェア・キーストアの構成についてソフトウェア・キーストアとは、TDEマスター暗号化キーを格納するコンテナです。

キーストアを構成する前に、最初にinit.oraファイルのWALLET_ROOTパラメータを設定して、キーストアの場所を定義する必要があります。データベースは、最初にWALLET_ROOT設定をチェックして、このキーストアを探します。この設定が作成されていない場合、データベースは、sqlnet.oraファイルをチェックします。必要に応じて、キーストアのコピーなどの他のキーストアを作成したり、キーが含まれているファイルをエクスポートすることができます。WALLET_ROOTの場所で構成したキーストアを除去または削除する必要がある場合は、このキーストア内のTDEマスター暗号化キーを別のキーストアに移動した後で行う必要があります。次に、キーストアの新しい場所を指すようにWALLET_ROOTを再設定する必要があります。

WALLET_ROOTパラメータを使用してソフトウェア・キーストアの場所を構成したら、データベース・インスタンスにログインしてキーストアを作成して開き、次にTDEマスター暗号化キーを設定できます。これらのステップを完了したら、データの暗号化を開始できます。

親トピック: ソフトウェア・キーストアの構成

ステップ1: ソフトウェア・キーストアの場所とタイプの構成init.oraでWALLET_ROOTを、データベース・インスタンスでTDE_CONFIGURATIONを設定して、キーストアの場所とタイプを構成する必要があります。

1. Oracleデータベースが存在するサーバーにログインします。

2. 必要に応じて、ウォレット・ディレクトリを作成します。通常、ウォレット・ディレクトリは$ORACLE_BASE/admin/db_unique_nameディレクトリにあり、walletという名前が付いています。このディレクトリは空であると理想的です。

3. データベース・インスタンスのinit.ora初期化ファイルを編集して、ウォレット・ディレクトリのWALLET_ROOT静的初期化パラメータを含めます。デフォルトで、init.oraファイルは$ORACLE_HOME/dbsディレクトリに配置されます。たとえば、orclという名前のデータベース・インスタンスの場合は、次のとおりです。

WALLET_ROOT=$ORACLE_BASE/admin/orcl/wallet

4. SYSDBA管理権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

コピー

53

Page 54: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin as sysdba

Enter password: password

5. TDE_CONFIGURATION動的初期化パラメータを設定して、キーストア・タイプを指定します。例:

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SCOPE=scope_type ;

ここでは次のように指定します。

TDEキーストアを構成するには、keystore_typeがFILEに設定されている必要があります。scope_typeは、範囲のタイプ(たとえば、both、memoryまたはspfile)を設定します。

たとえば、パラメータ・ファイル(pfile)を使用している場合にTDEキーストアを構成するには、scopeをmemoryに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"

scope=memory;

サーバー・パラメータ・ファイル(spfile)を使用している場合にTDEキーストアを構成するには、次のようにしてscopeをbothに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"

scope=both;

6. データベースを再起動します。

SHUTDOWN IMMEDIATE

STARTUP

コピー

コピー

コピー

コピー

コピー

54

Page 55: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: ソフトウェア・キーストアの構成

ステップ2: ソフトウェア・キーストアの作成ソフトウェア・キーストアのディレクトリの場所を指定したら、キーストアを作成できます。

ソフトウェア・キーストアを作成することについて3つの異なるタイプのソフトウェア・キーストアがあります。

パスワード保護されたソフトウェア・キーストアの作成パスワード保護されたソフトウェア・キーストアには、キーストアに格納されるキーと資格証明を保護するために使用するユーザー・パスワードが必要です。

自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの作成パスワード保護されたキーストアに代わる方法として、自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアのいずれかを作成できます。

親トピック: ソフトウェア・キーストアの構成

ソフトウェア・キーストアを作成することについて3つの異なるタイプのソフトウェア・キーストアがあります。

パスワード保護されたソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを作成できます。

問合せSELECT * FROM V$ENCRYPTION_WALLETを実行すると、自動ログイン・ソフトウェア・キーストアが自動的に開くため、注意してください。たとえば、パスワード保護されたキーストアと自動ログイン・キーストアがあるとします。パスワード保護されたキーストアが開いているときに、このパスワード保護されたキーストアを閉じて、V$ENCRYPTION_WALLETビューを問い合せると、出力にキーストアが開いていることが示されます。ところが、これはV$ENCRYPTION_WALLETが自動ログイン・ソフトウェア・キーストアを開いて、自動ログイン・キーストアのステータスを表示したことによるものです。

関連項目

キーストアのタイプ

親トピック: ステップ2: ソフトウェア・キーストアの作成

パスワード保護されたソフトウェア・キーストアの作成

パスワード保護されたソフトウェア・キーストアには、キーストアに格納されるキーと資格証明を保護するために使用するユーザー・パスワードが必要です。

55

Page 56: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

SQL*Plusがすでに開かれていて、この間にinit.oraファイルを変更してWALLET_ROOTパラメータを設定した場合、SQL*Plusに再接続します。データベース・セッションはinit.oraの変更が有効になる前に変更される必要があります。

2. 次の構文を使用して、キーストアを作成します。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'keystore_location'

IDENTIFIED BY software_keystore_password;

ここでは次のように指定します。keystore_locationは、自動ログイン・キーストアを作成するパスワード保護されたキーストアのキーストア・ディレクトリの場所に対するパスです(/etc/ORACLE/WALLETS/orclなど)。WALLET_ROOTパラメータによって設定されたパスを使用する場合は、keystore_location設定を省略できます。

keystore_locationを指定する場合は、一重引用符(' ')で囲んでください。この場所を見つけるには、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。(キーストアがデフォルトの場所に作成されていない場合、V$ENCRYPTION_WALLETビューのSTATUS列はNOT_AVAILABLEになります。)WALLET_ROOTが設定されており、WALLET_ROOTが指しているディレクトリを使用する場合は、keystore_location設定を省略できます。

software_keystore_passwordは、セキュリティ管理者が作成するキーストアのパスワードです。

たとえば、/etc/ORACLE/WALLETS/orclディレクトリにキーストアを作成する場合、次のようになります。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

コピー

コピー

コピー

56

Page 57: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

'/etc/ORACLE/WALLETS/orcl' IDENTIFIED BY password;

keystore altered.

この文を実行すると、キーストアとなるewallet.p12ファイルがキーストアの場所に生成されます。

親トピック: ステップ2: ソフトウェア・キーストアの作成

自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの作成

パスワード保護されたキーストアに代わる方法として、自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアのいずれかを作成できます。

これらのキーストアの両方は、システム生成パスワードを持っています。これらは、PKCS#12ベースのファイルでもあります。自動ログイン・ソフトウェア・キーストアは、このキーストアがあるコンピュータとは違うコンピュータから開くことができますが、ローカル自動ログイン・ソフトウェア・キーストアは、このキーストアが作成されたコンピュータからしか開けません。自動ログイン・キーストアとローカル自動ログイン・キーストアの両方は、パスワード保護されたソフトウェア・キーストアから作成されます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

SQL*Plusがすでに開かれていて、この間にinit.oraファイルを変更してWALLET_ROOTパラメータを設定した場合、SQL*Plusに再接続します。データベース・セッションはinit.oraの変更が有効になる前に変更される必要があります。

2. パスワード保護されたソフトウェア・キーストアを作成します。

例:

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

'/etc/ORACLE/WALLETS/orcl'

コピー

コピー

57

Page 58: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY keystore_password;

3. 次の構文を使用して、自動ログイン・キーストアまたはローカル自動ログイン・キーストアを作成します。

ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE

FROM KEYSTORE 'keystore_location'

IDENTIFIED BY software_keystore_password;

ここでは次のように指定します。LOCALでは、ローカル自動ログイン・ソフトウェア・キーストアを作成できます。そうでない場合、キーストアに他のコンピュータからアクセスできるようにするときは、この句を省略します。keystore_locationは、自動ログイン・キーストアを作成するパスワード保護されたキーストアのディレクトリの場所に対するパスです(/etc/ORACLE/WALLETS/orclなど)。この設定は、一重引用符(' ')で囲みます。この場所を確認するには、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。software_keystore_passwordは、自動ログイン・キーストアを作成するパスワード保護されたキーストアです。

たとえば、パスワード保護されたキーストアの自動ログイン・ソフトウェア・キーストアを/etc/ORACLE/WALLETS/orclディレクトリに作成するには、次のようにします。

ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE

FROM KEYSTORE '/etc/ORACLE/WALLETS/orcl'

IDENTIFIED BY password;

keystore altered.

この文を実行した後、cwallet.ssoファイルがキーストアの場所に表示されます。ewallet.p12ファイルがパスワード保護されたウォレットです。

次のガイドラインに従ってください。

コピー

コピー

58

Page 59: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・キーストア(.ssoファイル)の作成後は、PKCS#12ウォレット(ewallet.p12ファイル)は削除しないでください。将来、TDEマスター暗号化キーを再生成またはキー更新するには、PKCS#12ウォレットが必要です。デフォルトでは、このファイルは$ORACLE_BASEまたは$ORACLE_HOMEの場所のadmin/db_unique_name/walletディレクトリにあります。透過的データ暗号化が自動ログイン・キーストアを使用するのは、このキーストアが正しい場所(WALLET_ROOT、WALLET_LOCATION、ENCRYPTION_WALLET_LOCATIONまたはデフォルトのキーストアの場所)にあり、かつ、暗号化されたキーストアを開くためのSQLがまだ実行されていない場合のみであることに留意してください。自動ログイン・キーストアにはシステム生成のパスワードがあり、暗号化されていることに注意してください。ENCRYPTION_WALLET_LOCATIONパラメータが設定されている場合、このパラメータは非推奨となったことに注意してください。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用することをお薦めします。

関連項目

パスワード保護されたソフトウェア・キーストアの作成

親トピック: ステップ2: ソフトウェア・キーストアの作成

ステップ3: ソフトウェア・キーストアを開く作成したキーストアの種類に応じて、使用する前にキーストアを手動で開く必要があります。

ソフトウェア・キーストアを開くことについてキーストアにおいてTDEマスター暗号化キーを作成またはアクセスする前に、パスワード保護されたソフトウェア・キーストアが開いている必要があります。

ソフトウェア・キーストアを開くソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEYMANAGEMENT文を使用する必要があります。

親トピック: ソフトウェア・キーストアの構成

ソフトウェア・キーストアを開くことについて

キーストアにおいてTDEマスター暗号化キーを作成またはアクセスする前に、パスワード保護されたソフトウェア・キーストアが開いている必要があります。

透過的データ暗号化の多くの操作では、ソフトウェア・キーストアが開いている必要があります。ソフトウェア・キーストアを開くことができる方法は2つあります。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN文を発行して、キーストアを手動で開きます。その後、操作を実行できます。

59

Page 60: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

操作を実行するために使用されるADMINISTER KEY MANAGEMENT文にFORCEKEYSTORE句を含めます。FORCE KEYSTOREは操作中にキーストアを一時的に開き、操作が完了すると、キーストアは再度閉じられます。FORCE KEYSTOREは、データベースの負荷が高い場合に役に立ちます。このシナリオでは、データベース内の暗号化されたオブジェクトへの同時アクセスにより、自動ログイン・キーストアは、閉じられた直後でユーザーがパスワードベースのキーストアを開く機会を持つ前に開かれ続けます。

キーストアには、開いている、閉じている、開いていてもマスター暗号化キーがない、開いていても不明なマスター暗号化キーがある、定義されていない、または使用できない(つまりWALLET_ROOTの場所にない)というステータスがあります。

キーストアを手動で開くと、手動で閉じるまでキーストアは開いたままになります。データベース・インスタンスを再起動するたびに、パスワード・キーストアを手動で開いて暗号化と復号化の操作を再有効化する必要があります。

キーストアが開いているか、開いていないかのステータスは、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せて確認できます。

関連項目

キーストア・パスワードを必要とする操作の実行

統一モードでのキーストアの開閉操作の機能

親トピック: ステップ3: ソフトウェア・キーストアを開く

ソフトウェア・キーストアを開くソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEYMANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. ADMINISTER KEY MANAGEMENT文を実行してキーストアを開きます。

コピー

60

Page 61: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

keystore altered.

自動ログイン・キーストアが構成されており、現在開いている場合、パスワード保護されたソフトウェア・キーストアを開くように切り替えるには、FORCE KEYSTORE句を次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

keystore altered.

ここでは、キーストア資格証明が外部ストアに存在するため、IDENTIFIED BY EXTERNALSTORE句が文に含まれています。これにより、文自体の中でキーストア・パスワードを指定せずに、パスワード保護されたキーストアを開くことができます。

WALLET_ROOTパラメータが設定されている場合、Oracle Databaseは、パスWALLET_ROOT/PDB_GUID/tde_sepsを検索して、外部ストアを探します。

3. キーストアが開いていることを確認します。

SELECT STATUS FROM V$ENCRYPTION_WALLET;

キーストアが開いていても、TDEマスター暗号化キーをまだ作成していない場合は、V$ENCRYPTION_WALLETビューのSTATUS列によってOPEN_NO_MASTER_KEYステータスが知らされます。

親トピック: ステップ3: ソフトウェア・キーストアを開く

ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定キーストアが開いたら、それに対してTDEマスター暗号化キーを設定できます。

ソフトウェア・キーストアTDEマスター暗号化キーの設定についてTDEマスター暗号化キーはキーストアに格納されます。

ソフトウェア・キーストアのTDEマスター暗号化キーの設定TDEマスター暗号化キーをソフトウェア・キーストアに設定するには、SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

コピー

コピー

コピー

61

Page 62: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: ソフトウェア・キーストアの構成

ソフトウェア・キーストアのTDEマスター暗号化キーの設定についてTDEマスター暗号化キーはキーストアに格納されます。

TDEマスター暗号化キーは、TDE表キーおよび表領域暗号化キーを保護します。デフォルトでは、TDEマスター暗号化キーは、TDEによって生成されるキーです。V$ENCRYPTION_WALLETビューのSTATUS列を問い合せることで、キーストアに、設定されているTDEマスター暗号化キーがないかどうか、または不明なTDEマスター暗号化キーがないかどうかを確認できます。

データベースの外部でマスター暗号化IDを手動で作成できます。これはCloud環境で役立ちます。また、後で使用するためにTDEマスター暗号化キーを作成でき、その後それらを手動で有効にできます。

関連項目

ユーザー定義のTDEマスター暗号化キーの作成

後で使用するためのTDEマスター暗号化キーの作成

親トピック: ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定

ソフトウェア・キーストアのTDEマスター暗号化キーの設定TDEマスター暗号化キーをソフトウェア・キーストアに設定するには、SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. データベースがREAD WRITEモードでオープンしていることを確認します。

OPEN_MODEがREAD WRITEに設定されている場合、TDEマスター暗号化キーを設定できます。ステータスを検索するには、V$DATABASE動的ビューのOPEN_MODE列を問い合せます。(このビューにアクセスできない場合は、SYSDBAとして接続し、問合せを再試行します。このタイプの問合せに対してSYSKMとして接続するには、これに対するパスワード・フ

コピー

62

Page 63: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ァイルを作成する必要があります。3. 次の構文を使用して、ソフトウェアでTDEマスター暗号化キーを設定します。

ADMINISTER KEY MANAGEMENT SET KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE] | keystore_password

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。キーストアが閉じている場合は、FORCE KEYSTOREを含める必要があります。これにより、TDEマスター暗号化キーを設定する前に、キーストアが自動的に開きます。また、FORCE KEYSTORE句は、自動ログイン・キーストアが構成されており、現在開いている場合に、パスワード保護されたソフトウェア・キーストアを開くように切り替えます。IDENTIFIED BYはキーストア・パスワードを指定します。または、キーストア・パスワードが外部ストアにある場合は、IDENTIFIED BY EXTERNAL STORE句を使用できます。WITH BACKUPを使用すると、キーストアのバックアップが作成されます。パスワード保護されたキーストアの場合、このオプションを使用する必要があります。オプションでUSING句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backupがバックアップ識別子になっているewallet_time_stamp_emp_key_backup.p12)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

コピー

コピー

)

63

Page 64: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

親トピック: ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定

ステップ5: データの暗号化キーストアの構成が完了したので、PDB内のデータの暗号化を開始できます。

個別の表の列、あるいは表領域またはデータベース全体のデータを暗号化できます。

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: ソフトウェア・キーストアの構成

ハードウェア・キーストアの構成ハードウェア・キーストアは暗号化キーを保存するために設計された、ハードウェア・セキュリティ・モジュール(HSM)内にあります。

ハードウェア(外部)キーストアの構成について外部キーストアとも呼ばれるハードウェア・キーストアは、暗号化キーのために安全な記憶域を提供する独立したサーバーまたはデバイスです。

ステップ1: ハードウェア・キーストア・タイプの構成TDE_CONFIGURATIONパラメータを設定して、ハードウェア・キーストア・タイプを構成できます。

ステップ2: ハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、PKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります。

ステップ3: ハードウェア・キーストアを開くハードウェア・セキュリティ・モジュールを構成したら、使用する前にハードウェア・キーストアを開く必要があります。

ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定ハードウェア・キーストアを開いた後で、ハードウェア・キーストアのTDEマスター暗号化キーを設定できます。

ステップ5: データの暗号化

64

Page 65: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアまたは キーストアの構成が完了したので、データの暗号化を開始できます。

親トピック: 透過的データ暗号化の構成

ハードウェア(外部)キーストアの構成について外部キーストアとも呼ばれるハードウェア・キーストアは、暗号化キーのために安全な記憶域を提供する独立したサーバーまたはデバイスです。

外部キーストアはOracleデータベースの外部にあります。Oracleデータベースは外部キーストアとのインタフェースをとることができますが、Oracleインタフェースの外部でそれらを操作することはできません。Oracleデータベースは外部キーストアにキーの作成をリクエストできますが、このキーが外部データベースに格納される方法を定義することはできません。(反対に、TDEを使用して作成されるソフトウェア・キーストアの場合は、Oracleデータベースが完全な制御権限を持ちます。つまり、SQL文を使用してこのタイプのキーストアを操作できます。)外部キーストアの例は、ハードウェア・セキュリティ・モジュールまたはOracle Key Vaultキーストアです。Oracle KeyVaultなどを使用して、複数のデータベース間の外部キーストアを一元管理できます。

ハードウェア・セキュリティ・モジュール(ハードウェア・キーストア)のキーストアを構成するには、まずTDE_CONFIGURATIONパラメータ設定にキーストア・タイプを含め、ハードウェア・キーストアを構成して開き、ハードウェア・キーストアTDEマスター暗号化キーを設定します。要するに、1つのデータベース当たり1つのハードウェア・キーストアがあり、データベースは、TDE_CONFIGURATIONパラメータで定義したキーストア・タイプを確認することで、このキーストアを探します。

ADMINISTER KEY MANAGEMENT文を実行するときにIDENTIFIED BY句を指定する方法は、ハードウェア・キーストアのタイプによって異なります。多くの場合、そしてこのガイド内の例でも、ハードウェア・セキュリティ・モジュール(HSM)またはクラウド・キー管理サービス(KMS)キーストアに対しては、次の構文を使用します。

IDENTIFIED BY "user_name:password"

ただし、サイトのHSMの構成によっては、資格証明の構文は“password:user_name”であることがあります。

Oracle Key Vaultキーストアの場合は、user_nameとコロンを省略できますが、次のように引用符を含める必要があります。

IDENTIFIED BY "password"

コピー

コピー

Oracle Key Vault

65

Page 66: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアを構成すると、データの暗号化を開始する準備ができます。

親トピック: ハードウェア・キーストアの構成

ステップ1: ハードウェア・キーストア・タイプの構成TDE_CONFIGURATIONパラメータを設定して、ハードウェア・キーストア・タイプを構成できます。

1. SYSDBA管理権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

sqlplus sec_admin as sysdba

Enter password: password

2. TDE_CONFIGURATION動的初期化パラメータを設定して、次の構文を使用してキーストア・タイプを指定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SCOPE=scope_type ;

ここでは次のように指定します。

keystore_typeのタイプは次のいずれかです。

ハードウェア・セキュリティ・モジュール(HSM)キーストアを構成するためのHSM

Oracle Key Vaultキーストアを構成するためのOKV

scope_typeは、範囲のタイプ(たとえば、both、memoryまたはspfile)を設定します。

たとえば、パラメータ・ファイル(pfile)を使用している場合にHSMキーストアを構成するには、次のようにscopeをmemoryに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=HSM"

scope=memory;

コピー

コピー

コピー

66

Page 67: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

サーバー・パラメータ・ファイル(spfile)を使用している場合にOracle Key Vaultキーストアを構成するには、次のようにscopeをbothに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=OKV"

scope=both;

3. データベースを再起動します。

SHUTDOWN IMMEDIATE

STARTUP

親トピック: ハードウェア・キーストアの構成

ステップ2: ハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、PKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります。

Oracle Key Vaultを使用する場合には、この項は省略できます。

1. PKCS#11ライブラリを正しいパスにコピーします。

ハードウェア・キーストア・ベンダーから関連のPKCS#11ライブラリが提供されているはずです。一度にサポートされるのは、1つのPKCS#11ライブラリのみです。新しいベンダーのハードウェア・キーストアを使用する場合は、PKCS#11ライブラリを以前のベンダーのものから新しいベンダーのものに置き換える必要があります。

このライブラリを適切な場所にコピーして、Oracle Databaseがこのライブラリを見つけられるようにします。

UNIXシステム: 次の構文を使用して、このディレクトリにライブラリをコピーします。

/opt/oracle/extapi/[32,64]/hsm/{VENDOR}/{VERSION}/libapiname.so

Windowsシステム: 次の構文を使用して、このディレクトリにライブラリをコピーします。

コピー

コピー

コピー

67

Page 68: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

%SYSTEM_DRIVE%\oracle\extapi\[32,64]\hsm\{VENDOR}\

{VERSION}\libapiname.dll

ここでは次のように指定します。[32,64]には、提供されるバイナリが32ビットか64ビットかを指定します。

VENDORは、ライブラリを提供しているベンダー名を表します。

VERSIONは、ライブラリのバージョンを表します。なるべく、number.number.numberの形式を使用してください。

apinameには、特に決まった形式はありません。ただし、構文に示すように、apinameの前にはlibという語を付ける必要があります。

2. ベンダーの指示に従ってハードウェア・キーストアを設定します。

ハードウェア・キーストア管理インタフェース、およびHSMベンダーが提供する指示に従って、ハードウェア・キーストアを設定します。ハードウェア・キーストアと相互作用するためにデータベースが使用する必要があるユーザー・アカウントおよびパスワードを作成します。このプロセスは、Oracle Databaseと通信するハードウェア・キーストアを作成および構成します。

親トピック: ハードウェア・キーストアの構成

ステップ3: ハードウェア・キーストアを開くハードウェア・セキュリティ・モジュールを構成したら、使用する前にハードウェア・キーストアを開く必要があります。

ハードウェア・キーストアを開くことについて暗号化または復号化を実行する前に、ハードウェア・キーストアがデータベースにアクセスできるようにするために、ハードウェア・キーストアを開く必要があります。

ハードウェア・キーストアを開くハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEYMANAGEMENT文を使用します。

親トピック: ハードウェア・キーストアの構成

ハードウェア・キーストアを開くことについて

暗号化または復号化を実行する前に、ハードウェア・キーストアがデータベースにアクセスできるようにするために、ハードウェア・キーストアを開く必要があります。

データベースにリカバリ操作が必要な場合(データベースが正常に停止しておらず、リカバリが必

コピー

68

Page 69: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

要な暗号化された表領域がある場合など)、データベース自体をオープンする前にハードウェア・キーストアをオープンする必要があります。

ハードウェア・キーストアを開くことができる方法には、次の2つがあります。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN文を発行して、キーストアを手動で開きます。その後、操作を実行できます。ADMINISTER KEY MANAGEMENT文にFORCE KEYSTORE句を含めます。FORCEKEYSTOREは操作中にキーストアを一時的に開き、操作が完了すると、キーストアは再度閉じられます。FORCE KEYSTOREは、データベースの負荷が高い場合に役に立ちます。このシナリオでは、データベース内の暗号化されたオブジェクトへの同時アクセスにより、自動ログイン・キーストアは、閉じられた直後でユーザーがパスワードベースのキーストアを開く機会を持つ前に開かれ続けます。

キーストアのステータスを確認するには、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せます。キーストアには、CLOSED、NOT_AVAILABLE(つまりWALLET_ROOTの場所にない)、OPEN、OPEN_NO_MASTER_KEY、OPEN_UNKNOWN_MASTER_KEY_STATUSというステータスがあります。

ハードウェア・キーストアで、データベースがマウント状態の場合、データ・ディクショナリが使用できないため、マスター・キーが設定されているかどうかを確認できないことに注意してください。この場合、ステータスはOPEN_UNKNOWN_MASTER_KEY_STATUSになります。

関連項目

統一モードでのキーストアの開閉操作の機能

親トピック: ステップ3: ハードウェア・キーストアを開く

ハードウェア・キーストアを開くハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEYMANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

コピー

69

Page 70: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. 次の構文を使用して、ハードウェア・キーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_password";

ここでは次のように指定します。FORCE KEYSTOREは、キーストアが閉じている場合に、キーストア操作を有効にします。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:password";

keystore altered.

3. データベース・インスタンスを再起動するたびにこの手順を繰り返します。

親トピック: ステップ3: ハードウェア・キーストアを開く

ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定ハードウェア・キーストアを開いた後で、ハードウェア・キーストアのTDEマスター暗号化キーを設定できます。

コピー

コピー

70

Page 71: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアのTDEマスター暗号化キーの設定についてハードウェア・キーストア内に格納されたTDEマスター暗号化キーを作成する必要があります。

新しいTDEマスター暗号化キーの設定透過的データ暗号化用にハードウェア・キーストアをまだ構成していない場合は、この手順を完了する必要があります。

前に構成したTDEマスター暗号化キーの移行ソフトウェア・キーストアを以前に構成した場合は、前に構成したTDEマスター暗号化キーを移行する必要があります。

親トピック: ハードウェア・キーストアの構成

ハードウェア・キーストアのTDEマスター暗号化キーの設定について

ハードウェア・キーストア内に格納されたTDEマスター暗号化キーを作成する必要があります。

Oracle Databaseは、マスター暗号化キーを使用して、ハードウェア・セキュリティ・モジュール内部のTDE表キーまたは表領域暗号化キーの暗号化または復号化を行います。

TDE用にソフトウェア・キーストアをまだ構成していない場合は、マスター暗号化キーを設定する必要があります。TDEのソフトウェア・キーストアをすでに構成した場合は、ハードウェア・セキュリティ・モジュールに移行する必要があります。

現在のマスター暗号化キーとともに、Oracleウォレットでは、マスター暗号化キーを更新するキーの更新操作のたびに生成される履歴マスター暗号化キーを保持します。これらの履歴マスター・キーにより、履歴マスター暗号化キーのいずれかを使用して、以前に作成されたOracleデータベースのバックアップをリストアできます。

関連項目

新しいTDEマスター暗号化キーの設定

前に構成したTDEマスター暗号化キーの移行

親トピック: ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定

新しいTDEマスター暗号化キーの設定

透過的データ暗号化用にハードウェア・キーストアをまだ構成していない場合は、この手順を完了する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

71

Page 72: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. データベースがREAD WRITEモードでオープンしていることを確認します。

OPEN_MODEがREAD WRITEに設定されている場合、マスター暗号化キーを設定できます。マルチテナント環境以外の環境に関するステータスを検索するには、V$DATABASE動的ビューのOPEN_MODE列を問い合せます。マルチテナント環境の場合は、show_pdbsコマンドを実行します。

3. 次の構文を使用して、新しいマスター暗号化キーを設定します。

ADMINISTER KEY MANAGEMENT SET KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

"hardware_keystore_credentials"];

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

例:

コピー

コピー

72

Page 73: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY "psmith:password";

keystore altered.

関連項目

後で使用するためのTDEマスター暗号化キーの作成

Oracle Database管理者ガイド

親トピック: ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定

前に構成したTDEマスター暗号化キーの移行

ソフトウェア・キーストアを以前に構成した場合は、前に構成したTDEマスター暗号化キーを移行する必要があります。

Oracle Data PumpやOracle Recovery Managerなどのツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータに対して復号化と暗号化の操作を実行するために、古いソフトウェア・キーストアにアクセスする必要があります。ソフトウェア・キーストアからハードウェア・キーストアに移行できます。

現在のマスター暗号化キーともに、Oracleキーストアでは、マスター暗号化キーをローテーションするキーの更新操作のたびに生成される履歴マスター暗号化キーを保持します。これらの履歴マスター暗号化キーにより、履歴マスター暗号化キーのいずれかを使用して、以前に作成されたOracleデータベースのバックアップをリストアできます。

関連項目

ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

親トピック: ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定

ステップ5: データの暗号化ハードウェア・キーストアまたはOracle Key Vaultキーストアの構成が完了したので、データの暗号化を開始できます。

Oracle Key Vaultキーストアの構成方法については、Oracle Key Vault管理者ガイドを参照してください。

表の個別の列または表領域全体を暗号化できます。

コピー

73

Page 74: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: ハードウェア・キーストアの構成

表の列の暗号化透過的データ暗号化を使用すると、データベース表の個々の列を暗号化できます。

表の列の暗号化について表の個々の列を暗号化できます。

TDE列暗号化で暗号化できるデータ型Oracle Databaseでは、TDE列暗号化で使用できる特定のセットのデータ型をサポートしています。

TDE列暗号化の使用に関する制限TDE列暗号化は、SQLレイヤーで実行されます。SQLレイヤーをバイパスするOracleDatabaseユーティリティは、TDEの列暗号化サービスを使用できません。

暗号化列を含む表の作成Oracle Databaseには、暗号化列に使用される暗号化を定義するために使用できる様々なアルゴリズムが用意されています。

既存の表にある列の暗号化既存の表にある列を暗号化できます。新しい表の場合、暗号化の定義に使用する様々なアルゴリズムを選択できます。

暗号化列に対する索引の作成暗号化された列に対して索引を作成できます。

暗号化列へのSaltの追加Saltは、暗号化される前のデータに追加されるランダムな文字列で、暗号化されたデータのセキュリティを強化する方法です。

暗号化列からのSaltの削除ALTER TABLE SQL文を使用して、暗号化列からsaltを削除できます。

暗号化列を含む表に対する暗号化キーまたはアルゴリズムの変更ALTER TABLE SQL文を使用して、暗号化列で使用される暗号化キーまたはアルゴリズムを変更できます。

74

Page 75: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 透過的データ暗号化の構成

表の列の暗号化について表の個々の列を暗号化できます。

個々の列または表領域全体のどちらを暗号化するかは、表のデータ型によって決まります。また、TDE列暗号化をサポートしていない機能もいくつかあります。

関連項目

TDE列暗号化で暗号化できるデータ型

TDE列暗号化の使用に関する制限

親トピック: 表の列の暗号化

TDE列暗号化で暗号化できるデータ型Oracle Databaseでは、TDE列暗号化で使用できる特定のセットのデータ型をサポートしています。

様々なデータ型が使用されるデータ列を暗号化することができます。

サポートされるデータ型は次のとおりです。

BINARY_DOUBLE

BINARY_FLOAT

CHAR

DATE

INTERVALDAYTOSECOND

INTERVALYEARTOMONTH

NCHAR

NUMBER

NVARCHAR2

RAW (レガシーまたは拡張)

TIMESTAMP (TIMESTAMP WITH TIME ZONEおよびTIMESTAMP WITH LOCAL TIMEZONEを含む)

VARCHAR2 (レガシーまたは拡張)

ラージ・バイナリ・オブジェクト(LOB)を暗号化する必要がある場合は、Oracle SecureFilesを使用できます。Oracle SecureFilesを使用すると、LOBデータを安全に格納できます。SecureFilesを使用

75

Page 76: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

してLOBを暗号化するには、CREATE TABLE文またはALTER TABLE文を使用します。

暗号化列のサイズが列のデータ型で許容されるサイズより大きい場合は、列を暗号化できません。

表3-1に、各種データ型の最大許容サイズを示します。

表3-1 各データ型の最大許容サイズ

データ型 最大サイズ

CHAR 1932バイト

VARCHAR2 (レガシー) 3932バイト

VARCHAR2 (拡張) 32,699バイト

NVARCHAR2 (レガシー) 1966バイト

NVARCHAR2 (拡張) 16,315バイト

NCHAR 966バイト

RAW (拡張) 32,699バイト

ノート: TDE表領域暗号化には、これらのデータ型制限はありません。

関連項目

透過的データ暗号化表領域暗号化の使用に関する制限

Oracle Database SecureFiles and Large Objects開発者ガイド

親トピック: 表の列の暗号化

TDE列暗号化の使用に関する制限TDE列暗号化は、SQLレイヤーで実行されます。SQLレイヤーをバイパスするOracle Databaseユーティリティは、TDEの列暗号化サービスを使用できません。

TDE列暗号化は、次のデータベース機能と併用しないでください。

Bツリー以外の索引タイプ

索引内のレンジ・スキャン検索

同期チェンジ・データ・キャプチャ

76

Page 77: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

トランスポータブル表領域

ID列として作成された列

また、TDE列暗号化では、外部キー制約で使用される列は暗号化できません。

サポートされていないこれらの機能を使用する必要があるアプリケーションは、DBMS_CRYPTOPL/SQLパッケージを使用して暗号化を実行できます。

透過的データ暗号化は、ディスクまたは他のメディアに格納されているデータを保護します。転送中のデータは保護対象外です。ネットワーク上のデータを暗号化するには、Oracle Databaseセキュリティ・ガイドに記載されているネットワーク暗号化ソリューションを使用します。

関連項目

透過的データ暗号化とエクスポートおよびインポート操作の連携

TDE列暗号化で暗号化できるデータ型

親トピック: 表の列の暗号化

暗号化列を含む表の作成Oracle Databaseには、暗号化列に使用される暗号化を定義するために使用できる様々なアルゴリズムが用意されています。

暗号化列を含む表の作成についてCREATE TABLE SQL文を使用して、暗号化列を持つ表を作成できます。

デフォルト・アルゴリズムを使用する暗号化列を含む表の作成TDEでは、192ビットのキーの長さを使用するAES暗号化アルゴリズム(AES192)がデフォルトで使用されます。

アルゴリズムを使用しないまたは非デフォルト・アルゴリズムを使用する暗号化列を含む表の作成CREATE TABLE SQL文を使用して、暗号化列を持つ表を作成します。

NOMACパラメータを使用したディスク領域の節約およびパフォーマンスの向上TDEで実行するチェックはバイパスできます。この場合、暗号化された値ごとに20バイトのディスク領域を節約できます。

例: CREATE TABLE文でのNOMACパラメータの使用CREATE TABLE SQL文を使用し、NOMACパラメータを使用して表の列を暗号化できます。

例: 表の整合性アルゴリズムの変更異なるオフライン表領域を並列で変換するには、異なるフォアグラウンドでALTER TABLE

77

Page 78: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SQL文を使用できます。

外部表への暗号化列の作成外部表の機能を使用すると、データベース表内のデータであるかのように、外部ソースのデ ータにアクセスできます。

親トピック: 表の列の暗号化

暗号化列を含む表の作成についてCREATE TABLE SQL文を使用して、暗号化列を持つ表を作成できます。

暗号化列を含むリレーショナル表を作成するには、CREATE TABLE SQL文でデータベース列を定義するときにSQL ENCRYPT句を指定します。

親トピック: 暗号化列を含む表の作成

デフォルト・アルゴリズムを使用する暗号化列を含む表の作成TDEでは、192ビット長のキーを使用するAES暗号化アルゴリズム(AES192)がデフォルトで使用されます。

アルゴリズムを指定しないで表の列を暗号化すると、その列はAES192アルゴリズムを使用して暗号化されます。

暗号化の前にTDEは、saltを平文に追加します。saltを追加すると、攻撃者が総当たり攻撃によってデータを盗むことがより困難になります。また、TDEにより整合性をチェックするために、データにメッセージ認証コード(MAC)が追加されます。デフォルトでは、SHA-1整合性アルゴリズムが使用されます。

列を暗号化する表を作成するには、ENCRYPT句を含むCREATE TABLE SQL文を使用します。

たとえば、デフォルト・アルゴリズムを使用して表の列を暗号化するには、次のようにします。

CREATE TABLE employee (

first_name VARCHAR2(128),

last_name VARCHAR2(128),

empID NUMBER,

salary NUMBER(6) ENCRYPT);

この例では、暗号化列を含む新しい表を作成しています(salary)。この列は、デフォルトの暗号化アルゴリズム(AES192)を使用して暗号化されます。saltおよびMACはデフォルトで追

コピー

78

Page 79: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

加されます。この例は、キーストアが開かれていて、マスター暗号化キーが設定されていることを前提としています。

ノート: 1つの表に複数の暗号化列がある場合、これらのすべての列で暗号化アルゴリズムと整合性アルゴリズムの同じペアが使用される必要があります。saltは列レベルで指定されます。つまり、表の暗号化列には、saltが使用される暗号化列とsaltが使用されない暗号化列が混在していてもかまいません。

親トピック: 暗号化列を含む表の作成

アルゴリズムを使用しないまたは非デフォルト・アルゴリズムを使用する暗号化列を含む表の作成CREATE TABLE SQL文を使用して、暗号化列を持つ表を作成します。

暗号化の前に、デフォルトでTDEは、saltを平文に追加します。saltを追加すると、攻撃者が総当たり攻撃によってデータを盗むことがより困難になります。ただし、暗号化列を索引付けする場合、NO SALTパラメータを使用する必要があります。

デフォルト以外のアルゴリズムの暗号化列、またはアルゴリズムなしの暗号化列を使用する表を作成するには、次のようにCREATE TABLE SQL文を実行します。

アルゴリズムを使用しない場合は、ENCRYPT NO SALT句を含めます。

デフォルト以外のアルゴリズムを使用する場合は、ENCRYPT USING句を使用し、その後に一重引用符で囲んだ次のいずれかのアルゴリズムを続けます。

3DES168

AES128

AES192 (デフォルト)

AES256

次の例では、empID列およびsalary列の暗号化設定の指定方法を示します。

CREATE TABLE employee (

first_name VARCHAR2(128),

last_name VARCHAR2(128),

empID NUMBER ENCRYPT NO SALT, salary NUMBER(6) ENCRYPT USING '3DES168');

この例では、次のようになります。

コピー

79

Page 80: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

empID列は暗号化されますが、saltを使用しません。表のすべての暗号化列は、同じ暗号化アルゴリズムを使用する必要があるため、empID列とsalary列の両方は、3DES168暗号化アルゴリズムを使用します。salary列は、3DES168暗号化アルゴリズムを使用して暗号化されます。アルゴリズムを指定する文字列は、一重引用符(' ')で囲む必要があることに注意してください。salary列では、デフォルトでsaltが使用されます。

親トピック: 暗号化列を含む表の作成

NOMACパラメータを使用したディスク領域の節約およびパフォーマンスの向上TDEで実行するチェックはバイパスできます。この場合、暗号化された値ごとに20バイトのディスク領域を節約できます。

表の行および暗号化列の数が多い場合、TDEチェックをバイパスすることで、かなりの量のディスク領域になることがあります。さらに、処理サイクルが節約され、TDEに関連するパフォーマンス・オーバーヘッドが減少します。

TDEでは、デフォルトでSHA-1整合性アルゴリズムが使用されます。表のすべての暗号化列で同じ整合性アルゴリズムが使用される必要があります。表の列ですでにSHA-1アルゴリズムを使用している場合は、NOMACパラメータによって同じ表の別の列を暗号化することはできません。

暗号化および復号化操作での整合性チェックをバイパスするには、CREATE TABLE文およびALTER TABLE文でNOMACパラメータを使用します。

関連項目

透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド

親トピック: 暗号化列を含む表の作成

例: CREATE TABLE文でのNOMACパラメータの使用CREATE TABLE SQL文を使用し、NOMACパラメータを使用して表の列を暗号化できます。

例3-1では、暗号化列を含む表を作成しています。empID列は、NOMACパラメータを使用して暗号化されます。

例3-1 CREATE TABLE文でのNOMACパラメータの使用

CREATE TABLE employee (

first_name VARCHAR2(128),

last_name VARCHAR2(128),

empID NUMBER ENCRYPT 'NOMAC' , salary NUMBER(6));

コピー

80

Page 81: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 暗号化列を含む表の作成

例: 表の整合性アルゴリズムの変更異なるオフライン表領域を並列で変換するには、異なるフォアグラウンドでALTER TABLESQL文を使用できます。

例3-2に、表内の暗号化列の整合性アルゴリズムを変更する方法を示します。暗号化アルゴリズムを3DES168に、整合性アルゴリズムをSHA-1に設定しています。2番目のALTER TABLE文では、整合性アルゴリズムをNOMACに設定しています。

例3-2 表の整合性アルゴリズムの変更

ALTER TABLE EMPLOYEE REKEY USING '3DES168' 'SHA-1';

ALTER TABLE EMPLOYEE REKEY USING '3DES168' 'NOMAC';

親トピック: 暗号化列を含む表の作成

外部表への暗号化列の作成

外部表の機能を使用すると、データベース表内のデータであるかのように、外部ソースのデータにアクセスできます。

外部表は、ORACLE_DATAPUMPアクセス・ドライバを使用して更新できます。

外部表の特定の列を暗号化するには、列を定義するときにENCRYPT句を使用します。

列は、システム生成キーによって暗号化されます。たとえば、次のCREATE TABLE SQL文は、3DES168アルゴリズムを使用してssn列を暗号化します。

CREATE TABLE emp_ext (

first_name,

....

ssn ENCRYPT USING '3DES168', ....

コピー

コピー

81

Page 82: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

外部表を新しい場所に移動することを予定している場合、列の暗号化にランダム生成のキーは使用できません。これは、新しい場所ではランダム生成のキーが使用できないためです。

このような場合は、列を暗号化する際にパスワードを指定する必要があります。データを移動した後で、同じパスワードを使用して、新しい場所の暗号化列データへのアクセスに必要なキーを再生成できます。

表パーティション交換でもパスワード保護されたTDE表キーが必要になります。

例3-3では、TDE表キーを作成するためのパスワードを使用して外部表を作成しています。

例3-3 パスワード生成TDE表キーを使用した新しい外部表の作成

CREATE TABLE emp_ext (

first_name,

last_name,

empID,

salary,

ssn ENCRYPT IDENTIFIED BY password) ORGANIZATION EXTERNAL

(

TYPE ORACLE_DATAPUMP

DEFAULT DIRECTORY "D_DIR"

LOCATION('emp_ext.dat')

)

REJECT LIMIT UNLIMITED

AS SELECT * FROM EMPLOYEE;

親トピック: 暗号化列を含む表の作成

既存の表にある列の暗号化既存の表にある列を暗号化できます。新しい表の場合、暗号化の定義に使用する様々なアルゴリズムを選択できます。

既存の表にある列の暗号化についてALTER TABLE SQL文では、既存の表にある列を暗号化できます。

既存の表への暗号化列の追加既存の表の列を暗号化したり、異なるアルゴリズムを使用したり、NO SALTを使用して列を索引付けすることができます。

暗号化されていない列の暗号化

コピー

82

Page 83: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ALTER TABLE MODIFY文を使用して、既存の暗号化されていない列を暗号化できます。

列の暗号化の無効化互換性やパフォーマンスの理由から、暗号化を無効にすることが必要になる場合があります。

親トピック: 表の列の暗号化

既存の表にある列の暗号化についてALTER TABLE SQL文では、既存の表にある列を暗号化できます。

既存の表に暗号化列を追加したり、既存の列を暗号化または復号化するには、ADD句またはMODIFY句を含むALTER TABLE SQL文を使用します。

親トピック: 既存の表にある列の暗号化

既存の表への暗号化列の追加既存の表の列を暗号化したり、異なるアルゴリズムを使用したり、NO SALTを使用して列を索引付けすることができます。

既存の表に暗号化列を追加するには、ALTER TABLE ADD文を使用して、ENCRYPT句で新しい列を指定します。

例3-4では、employeeという既存の表に暗号化列ssnを追加しています。ssn列は、デフォルトのAES192アルゴリズムを使用して暗号化されます。saltおよびMACはデフォルトで追加されます。

例3-4 既存の表への暗号化列の追加

ALTER TABLE employee ADD (ssn VARCHAR2(11) ENCRYPT);

親トピック: 既存の表にある列の暗号化

暗号化されていない列の暗号化ALTER TABLE MODIFY文を使用して、既存の暗号化されていない列を暗号化できます。

暗号化されていない既存の列を暗号化するには、ALTER TABLE MODIFY文を使用して、ENCRYPT句で、暗号化されてない列を指定します。

次の例では、employee表のfirst_name列を暗号化しています。first_name列は、デフォルトのAES192アルゴリズムを使用して暗号化されます。saltはデフォルトでデータに追加されます。

コピー

83

Page 84: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

別のアルゴリズムを使用して列を暗号化できます。列を索引付けする場合、NO SALTを指定する必要があります。NOMACパラメータを使用して、整合性チェックをバイパスすることもできます。

ALTER TABLE employee MODIFY (first_name ENCRYPT);

次の例では、NOMACパラメータを使用してemployee表のfirst_name列を暗号化しています。

ALTER TABLE employee MODIFY (first_name ENCRYPT 'NOMAC');

親トピック: 既存の表にある列の暗号化

列の暗号化の無効化

互換性やパフォーマンスの理由から、暗号化を無効にすることが必要になる場合があります。

列の暗号化を無効にするには、ALTER TABLE MODIFYコマンドを使用し、DECRYPT句を指定します。

例3-5では、employee表のfirst_name列を復号化しています。

例3-5 列の暗号化の無効化

ALTER TABLE employee MODIFY (first_name DECRYPT);

親トピック: 既存の表にある列の暗号化

暗号化列に対する索引の作成暗号化された列に対して索引を作成できます。

索引付け対象の列は、saltなしで暗号化されている必要があります。saltを使用して列が暗号化されている場合、ORA-28338: 索引付けされた列は、saltを使用して暗号化できませんエラーが発生します。

暗号化列に索引を作成する場合は、ENCRYPT NO SALT句を含むCREATE INDEX文を使用します。

例3-6に、saltなしで暗号化された列に対して索引を作成する方法を示します。

コピー

コピー

コピー

84

Page 85: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例3-6 saltなしで暗号化された列に対する索引の作成

CREATE TABLE employee (

first_name VARCHAR2(128),

last_name VARCHAR2(128),

empID NUMBER ENCRYPT NO SALT, salary NUMBER(6) ENCRYPT USING '3DES168');

CREATE INDEX employee_idx on employee (empID);

親トピック: 表の列の暗号化

暗号化列へのSaltの追加ソルトは、暗号化される前のデータに追加されるランダムな文字列で、暗号化されたデータのセキュリティを強化する方法です。

Saltにより、同じ平文データが常に同じ暗号化テキストに変換されることがなくなります。saltを追加すると、侵入者がデータを盗むために使用する一般的な方法の1つである暗号化テキストのパターン一致を排除できます。saltを追加するには、暗号化されたデータ値ごとに16バイトの追加記憶域が必要です。

暗号化列に対してsaltを追加または削除するには、ALTER TABLE MODIFY SQL文を使用します。

たとえば、saltを使用してfirst_name列を暗号化するとします。first_name列が以前にsaltなしで暗号化されていた場合は、ALTER TABLE MODIFY文によって、saltを使用して列が再暗号化されます。

ALTER TABLE employee MODIFY (first_name ENCRYPT SALT);

親トピック: 表の列の暗号化

暗号化列からのSaltの削除ALTER TABLE SQL文を使用して、暗号化列からsaltを削除できます。

暗号化列からsaltを削除するには、ALTER TABLE SQL文でENCRYPT NO SALT句を使用します。

コピー

コピー

85

Page 86: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

たとえば、first_name列からsaltを削除するとします。saltを使用して暗号化された列に索引を付ける必要がある場合は、索引を付ける前に、この文を使用してsaltを削除します。

ALTER TABLE employee MODIFY (first_name ENCRYPT NO SALT);

親トピック: 表の列の暗号化

暗号化列を含む表に対する暗号化キーまたはアルゴリズムの変更ALTER TABLE SQL文を使用して、暗号化列で使用される暗号化キーまたはアルゴリズムを変更できます。

各表では、その列に1つのTDE表キーのみ指定できます。TDE表キーはALTER TABLE文を使用して再生成できます。このプロセスでは、新しいキーを生成し、以前のキーを使用して表のデータを復号化し、新しいキーを使用してデータを再暗号化し、表のメタデータを新しいキー情報で更新します。新しいTDE表キーに対して別の暗号化アルゴリズムを使用することもできます。

暗号化列を含む表の暗号化キーまたはアルゴリズムを変更するには、ALTER TABLE SQL文でREKEYまたはREKEY USING句を使用します。

例:

ALTER TABLE employee REKEY;

例3-7では、3DES168アルゴリズムを使用してemployee表に対するTDE表キーを再生成しています。

例3-7 暗号化された表の列の暗号化キーおよびアルゴリズムの変更

ALTER TABLE employee REKEY USING '3DES168';

親トピック: 表の列の暗号化

表領域およびデータベースの暗号化変換オンラインとオフラインの両方の表領域およびデータベースで暗号化操作を実行できます。

表領域およびデータベースの暗号化変換について

コピー

コピー

コピー

86

Page 87: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE TABLESPACE SQL文を使用して、新しい表領域を暗号化できます。ALTERTABLESPACEによって、既存の表領域を暗号化できます。

暗号化された表領域に対する閉じられたTDEキーストアの影響Oracle管理の表領域が暗号化されている場合は、TDEキーストアを閉じたり、移行したりできますが、Oracle管理の表領域に対する操作を禁止するにはデータベース・システム自体を停止する必要があります。

透過的データ暗号化表領域暗号化の使用に関する制限表領域を暗号化する際は、透過的データ暗号化の使用に関する制限事項に注意する必要があります。

暗号化された新しい表領域の作成新しい表領域を作成する際、作成のプロセス中に暗号化設定を構成できます。

将来の表領域の暗号化将来作成する表領域を自動的に暗号化するようOracle Databaseを構成できます。

データ・ディクショナリ内の機密資格証明データの暗号化SYS.LINK$システム表内およびSYS.SCHEDULER$_CREDENTIALシステム表内の機密資格証明データを暗号化できます。

既存のオフライン表領域の暗号化変換ALTER TABLESPACE SQL文のOFFLINE、ENCRYPTおよびDECRYPT句を使用して、オフライン暗号化変換を実行できます。

既存のオンライン表領域の暗号化変換ALTER TABLESPACE SQL文をONLINEおよびENCRYPTまたはDECRYPT句とともに使用することによって、オンラインの既存の表領域を暗号化および復号化できます。

既存のデータベースの暗号化変換オフラインおよびオンライン両方のデータベースを暗号化できます。

親トピック: 透過的データ暗号化の構成

表領域およびデータベースの暗号化変換についてCREATE TABLESPACE SQL文を使用して、新しい表領域を暗号化できます。ALTERTABLESPACEによって、既存の表領域を暗号化できます。

新規または既存の表領域の暗号化に加えて、全データベースを暗号化できます。その場合、Oracle管理の表領域(このリリースではSYSTEM、SYSAUX、TEMPおよびUNDO表領域)も暗号化されます。全データベースを暗号化するには、ALTER DATABASEではなく、ALTERTABLESPACEを使用してOracle管理の表領域を暗号化します。

87

Page 88: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次の表で、表領域およびデータベースのオフラインとオンラインの暗号化変換の違いを比較します。

表3-2 オフラインとオンラインの表領域およびデータベースの暗号化変換

機能 オフライン変換 オンライン変換

最小の変換機能があるリリース Oracleデータベース11gリリース2(11.2)

Oracle Database 12cリリース2(12.2)以降

バックポートできるものAES128アルゴリズムでのデータ・ファイルの暗号化および復号化の機能(次を使用

ALTER DATABASE

DATAFILE

data_file ENCRYPT

またはDECRYPT)をOracleDatabaseリリース12.1.0.2および11.2.0.4で使用できます。

なし

サポートされるアルゴリズム TDEがサポートするすべての対称型暗号化アルゴリズム。サポートされる暗号化と整合性のアルゴリズムを参照してください。既存のオフライン表領域の暗号化変換についてを参照してください。

TDEがサポートするすべての対称型暗号化アルゴリズム。サポートされる暗号化と整合性のアルゴリズムを参照してください。既存のオンライン表領域の暗号化変換についてを参照してください。

変換をいつ実行できるか 表領域がオフラインであるか、データベースがマウント段階にあるとき。

表領域がオンラインで、データベースが読取り/書込みモードで開いているとき。

変換に補助領域が必要か いいえ はい。ガイドラインは、オンライン変換での既存の表領域の暗号化を参照してください。

Oracle Data Guardの変換ガイドライン

プライマリおよびスタンバイの両方を手動で変換します。スタンバイを最初に変換し、最小停止時間に切り替えます

プライマリを変換した後、スタンバイ変換が自動的に行われます。スタンバイでは、オンライン変換を直接実行することはできません。

表領域SYSTEM、SYSAUXおよびUNDOの暗号化(データベース変換)

Oracle Database 12cリリース2(12.2)以降のみ。COMPATIBILITYを12.2.0.0に設定する必要があります。

Oracle Database 12cリリース2(12.2)以降のみ。COMPATIBILITYを12.2.0.0に設定する必要があります。

88

Page 89: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

既存のTEMP表領域を変換できるか

いいえ、ただし、Oracle Database12cリリース2 (12.2)以降でTEMP表領域を作成して暗号化し、それをデフォルトの一時表領域とし、元のTEMP表領域を削除できます。

いいえ、ただし、Oracle Database12cリリース2 (12.2)以降でTEMP表領域を作成して暗号化し、それをデフォルトの一時表領域とし、元のTEMP表領域を削除できます。

既存の表領域を復号化できるか 以前にオフライン暗号化操作によって暗号化された表領域またはデータ・ファイルのみ復号化できます。一度暗号化されたUNDO表領域を復号化することはお薦めしません。

はい、ただし、一度暗号化されたUNDO表領域を復号化することはお薦めしません。

暗号化キーをキー更新できるか いいえ、ただし、表領域が暗号化された後、オンライン変換を使用してOracle Database 12cリリース2(12.2)の互換性でキー変更できます。

はい

暗号化操作を並列して実行できるか

複数のユーザー・セッションを実行しているデータ・ファイル・レベルで、並列した暗号化変換を実行できます。

複数のユーザー・セッションが実行している表領域レベルで、並列した暗号化変換を実行できます。

暗号化変換SQL文が完了できなかった場合どうするか

暗号化または復号化SQL文を再発行して、表領域内のすべてのデータ・ファイルが確実に一貫して暗号化または復号化されるようにします。

FINISH句を使用してSQL文を再度実行します。

親トピック: 表領域およびデータベースの暗号化変換

暗号化された表領域に対する閉じられたTDEキーストアの影響Oracle管理の表領域が暗号化されている場合は、TDEキーストアを閉じたり、移行したりできますが、Oracle管理の表領域に対する操作を禁止するにはデータベース・システム自体を停止する必要があります。

閉じられたTDEキーストアは、暗号化されたOracle管理の表領域(このリリースでは、SYSTEM、SYSAUX、TEMPおよびUNDO表領域)に関係する操作に影響しません。これにより、TDEキーストアが閉じられているときにも、バックグラウンド・プロセス(ログ・ライターなど)によって実行される操作をこれらの表領域に対して引き続き実行できます。暗号化されたOracle管理の表領域に対する操作を禁止する場合は、データベースを停止する必要があります。

ユーザー作成の表領域に関しては、TDEキーストアが閉じられていることによって、キーのローテーション、表領域の復号化などの操作が、以前のリリースと同様にORA-28365 ウォレットがオープンしていませんというエラーで失敗します。ユーザー作成の表領域に対する操作を禁止する場合は、TDEキーストアを閉じます(または、データベースを停止します)。

89

Page 90: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ユーザー作成のデータは、TDEキーストアが開いている間にユーザー作成の表領域から暗号化されたOracle管理の表領域にコピーできます(たとえば、DBMS_STATS統計収集などの内部プロセスによって)。キーストアを閉じた場合、ユーザーがV$ENCRYPTION_WALLETビューを問い合せたときにTDEキーストアがCLOSED状態であっても、後でこのデータを表示することは妨げられません。暗号化されたユーザー作成の表領域を問い合せることによって元のデータにアクセスしようとすると失敗し、ORA-28365 ウォレットがオープンしていませんというエラーが返されます。

表3-3に、ユーザー作成の表領域およびOracle管理の表領域の暗号化されたデータに対する操作を禁止または許可するために必要な操作を示します。たとえば、最初のシナリオでは、ユーザー作成の表領域とOracle管理の表領域の両方が暗号化されています。この場合、暗号化されたユーザー作成の表領域の暗号化データに関しては、管理者はキーストアを開閉し、暗号化されたユーザー作成の表領域を持つデータベースを停止およびオープンできます。暗号化されたOracle管理の表領域が構成されている場合、管理者はデータベースを停止することで操作を禁止できます。また、マウント・モードで起動してTDEキーストアを開き、データベースをオープンすることで操作を許可できます。(暗号化されたOracle管理の表領域にあるブートストラップ・ディクショナリ表を復号化するためにTDEマスター暗号化キーが必要になる可能性があるため、データベースをオープンする前にTDEキーストアを開く必要があります。)この表の該当なしフラグは暗号化されていないデータを示しており、インスタンスが停止されないかぎり、常に操作できます。

表3-3 暗号化データの操作を禁止または許可するために必要なコマンド

表領域の暗号化のシナリオ

暗号化されたユーザー作成の表領域のデータの操作を禁止するコマンド

暗号化されたOracle管理の表領域のデータの操作を禁止するコマンド

暗号化されたユーザー作成の表領域のデータの操作を許可するコマンド

暗号化されたOracle管理の表領域のデータの操作を許可するコマンド

ユーザー作成の表領域およびOracle管理の表領域の両方が暗号化されている

ADMINISTER KEYMANAGEMENT SETKEYSTORECLOSEIDENTIFIED BYpassword;

SHUTDOWN

SHUTDOWN STARTUPMOUNT;

ADMINISTER KEYMANAGEMENT SETKEYSTOREOPENIDENTIFIED BYpassword;

ALTERDATABASEOPEN

STARTUPMOUNT;

ADMINISTER KEYMANAGEMENT SETKEYSTOREOPENIDENTIFIED BYpassword;

ALTERDATABASEOPEN

ユーザー表領域は暗号化されていて、Oracle管理の表領域は暗号化さ

ADMINISTER KEYMANAGEMENT SET

該当なし STARTUPMOUNT;

ADMINISTE

該当なし

90

Page 91: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

れていないKEYSTORECLOSEIDENTIFIED BYpassword;

SHUTDOWN

R KEYMANAGEMENT SETKEYSTOREOPENIDENTIFIED BYpassword;

ALTERDATABASEOPEN

ユーザー表領域は暗号化されておらず、Oracle管理の表領域は暗号化されている

該当なし SHUTDOWN 該当なし STARTUPMOUNT;

ADMINISTER KEYMANAGEMENT SETKEYSTOREOPENIDENTIFIED BYpassword;

ALTERDATABASEOPEN

ユーザー表領域もOracle管理の表領域も暗号化されていない

該当なし 該当なし 該当なし 該当なし

親トピック: 表領域およびデータベースの暗号化変換

透過的データ暗号化表領域暗号化の使用に関する制限表領域を暗号化する際は、透過的データ暗号化の使用に関する制限事項に注意する必要があります。

次の制約に注意してください:

透過的データ暗号化(TDE)表領域暗号化では、SQLレイヤーでデータを暗号化および復号化するTDE列暗号化とは対照的に、読取りおよび書込み操作時にデータを暗号化または復号化します。このことは、データ型制限や索引タイプ制限など、TDE列暗号化に適用される制限のほとんどが、TDE表領域暗号化には適用されないことを意味します。インポートおよびエクスポート操作を実行するには、Oracle Data Pumpを使用します。

関連項目

91

Page 92: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化されていない列の暗号化

TDE列暗号化で暗号化できるデータ型

Oracle Databaseユーティリティ

親トピック: 表領域およびデータベースの暗号化変換

暗号化された新しい表領域の作成新しい表領域を作成する際、作成のプロセス中に暗号化設定を構成できます。

ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定暗号化された表領域を作成する前に、COMPATIBLE初期化パラメータを設定する必要があります。

ステップ2: 表領域TDEマスター暗号化キーの設定TDEマスター暗号化キーが構成されていることを確認する必要があります。

ステップ3: 暗号化された表領域の作成COMPATIBLE初期化パラメータを設定したら、暗号化された表領域の作成の準備は完了です。

親トピック: 表領域およびデータベースの暗号化変換

ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定暗号化された表領域を作成する前に、COMPATIBLE初期化パラメータを設定する必要があります。

表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について最小のCOMPATIBLE初期化パラメータ設定である11.2.0.0では、表領域暗号化機能の完全なセットが有効になります。

表領域暗号化のためのCOMPATIBLE初期化パラメータの設定についてCOMPATIBLE初期化パラメータを設定するには、データベース・インスタンスの初期化パラメータを編集する必要があります。

親トピック: 暗号化された新しい表領域の作成

表領域暗号化のためのCOMPATIBLE初期化パラメータの設定について

最小のCOMPATIBLE初期化パラメータ設定である11.2.0.0では、表領域暗号化機能の完全なセットが有効になります。

互換性を11.2.0.0に設定すると、次の機能を使用できます。

92

Page 93: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

11.2.0.0に設定することにより、データベースでは、データの暗号化にサポートしている4つのアルゴリズム(3DES168、AES128、AES192およびAES256)の任意のものを使用できます。11.2.0.0に設定することにより、ソフトウェア・キーストアからハードウェア・キーストアにキーを移行できます(TDEマスター暗号化キーがハードウェア・キーストア用に構成されていることを確認します)。11.2.0.0に設定することにより、TDEマスター暗号化キーをキー更新できます。

COMPATIBLEパラメータを11.2.0.0に設定すると、変更を元に戻せないことに注意してください。表領域暗号化を使用するには、互換性設定が最低でも11.2.0.0であることを確認します。

関連項目:

COMPATIBLEパラメータの詳細は、Oracle Database SQL言語リファレンスを参照してください。初期化パラメータ・ファイルの詳細は、Oracle Database管理者ガイドを参照してください。

親トピック: ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定

表領域暗号化のためのCOMPATIBLE初期化パラメータの設定

COMPATIBLE初期化パラメータを設定するには、データベース・インスタンスの初期化パラメータを編集する必要があります。

1. データベース・インスタンスにログインします。

マルチテナント環境の場合、PDBにログインします。例:

sqlplus sec_admin@hrpdb

Enter password: password

Connected.

使用可能なPDBを検索するには、show pdbsコマンドを実行します。現在のPDBを確認するには、show con_nameコマンドを実行します。

2. COMPATIBLEパラメータの現在の設定を確認します。

例:

SHOW PARAMETER COMPATIBLE

コピー

コピー

93

Page 94: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

NAME TYPE VALUE

------------------------------------ ----------- ---------------

---------------

compatible string 11.2.0.0

noncdbcompatible BOOLEAN FALSE

3. COMPATIBLEパラメータを変更する必要がある場合、この手順の残りのステップを実行します。

値は、11.2.0.0以上である必要があります。4. コマンドラインから、データベース・インスタンスの初期化パラメータ・ファイルを特定します。

UNIXシステム: このファイルは、ORACLE_HOME/dbsディレクトリにあり、initORACLE_SID.ora (initmydb.oraなど)という名前です。

Windowsシステム: このファイルは、ORACLE_HOME\databaseディレクトリにあり、initORACLE_SID.ora (initmydb.oraなど)という名前です。

5. 初期化パラメータ・ファイルを新しいCOMPATIBLE設定を使用するよう編集します。

例:

compatible=12.2.0.0.0

6. SQL*Plusで、SYSDBA管理権限を持つユーザーとして接続し、データベースを再起動します。

例:

CONNECT /AS SYSDBA

SHUTDOWN

STARTUP

表領域の暗号化を使用している場合は、データベース・マウントでキーストアを開きます。キーストアは、暗号化された表領域のデータにアクセスする前に開いている必要があります。

例:

コピー

コピー

94

Page 95: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

STARTUP MOUNT;

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY

keystore_password;

ALTER DATABASE OPEN;

親トピック: ステップ1: 表領域暗号化のCOMPATIBLE初期化パラメータの設定

ステップ2: 表領域TDEマスター暗号化キーの設定TDEマスター暗号化キーが構成されていることを確認する必要があります。

次のようにTDEマスター暗号化キーを設定します。

ソフトウェアTDEマスター暗号化キーの場合は、「ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定」を参照してください。

ハードウェアTDEマスター暗号化キーの場合は、ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定を参照してください。

親トピック: 暗号化された新しい表領域の作成

ステップ3: 暗号化された表領域の作成COMPATIBLE初期化パラメータを設定したら、暗号化された表領域の作成は完了です。

暗号化された表領域の作成について暗号化された表領域を作成するには、CREATE TABLESPACE SQL文を使用します。

暗号化された表領域の作成暗号化された表領域を作成するには、ENCRYPTION USING句を含むCREATETABLESPACE文を使用する必要があります。

例: AES192を使用する暗号化された表領域の作成CREATE TABLESPACE SQL文を使用して、暗号化された表領域を作成できます。

例: デフォルト・アルゴリズムを使用する暗号化された表領域の作成CREATE TABLESPACE SQL文を使用して、デフォルト・アルゴリズムを使用する暗号化された表領域を作成できます。

親トピック: 暗号化された新しい表領域の作成

暗号化された表領域の作成について

暗号化された表領域を作成するには、CREATE TABLESPACE SQL文を使用します。

コピー

95

Page 96: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化された表領域を作成するには、CREATE TABLESPACEシステム権限が必要です。

Oracle Data Pumpを使用して、暗号化された表領域にデータをインポートできます。CREATETABLE...AS SELECT... やALTER TABLE...MOVE...などのSQL文を使用して、暗号化された表領域にデータを移動することもできます。CREATE TABLE...AS SELECT...文は、既存の表から表を作成します。ALTER TABLE...MOVE...文は、暗号化された表領域に表を移動します。

セキュリティ上の理由から、NO SALTオプションを使用して表領域を暗号化することはできません。

表領域が暗号化されたかどうかを確認するために、DBA_TABLESPACESデータ・ディクショナリ・ビューおよびUSER_TABLESPACESデータ・ディクショナリ・ビューのENCRYPTED列を問い合せることができます。

関連項目:

DBA_TABLESPACESおよびUSER_TABLESPACESデータ・ディクショナリ・ビューの詳細は、Oracle Databaseリファレンスを参照してください。

親トピック: ステップ3: 暗号化された表領域の作成

暗号化された表領域の作成

暗号化された表領域を作成するには、ENCRYPTION USING句を含むCREATE TABLESPACE文を使用する必要があります。

1. CREATE TABLESPACEシステム権限が付与されたユーザーとして、データベース・インスタンスにログインします。

マルチテナント環境の場合、PDBにログインします。例:

sqlplus sec_admin@hrpdb as syskm

Enter password: password

Connected.

使用可能なPDBを検索するには、show pdbsコマンドを実行します。現在のPDBを確認するには、show con_nameコマンドを実行します。

2. 暗号化句を使用してCREATE TABLESPACE文を実行します。

例:

コピー

96

Page 97: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE TABLESPACE encrypt_ts

DATAFILE '$ORACLE_HOME/dbs/encrypt_df.dbf' SIZE 1M

ENCRYPTION USING 'AES256' ENCRYPT;

ここでは次のように指定します。ENCRYPTION USING 'AES256' ENCRYPTは、暗号化アルゴリズムおよび暗号化キーの長さを指定します。ENCRYPT句は、表領域を暗号化します。この設定は一重引用符('')で囲みます。キー長は、アルゴリズムの名前に含まれています。暗号化アルゴリズムを指定しない場合は、デフォルトの暗号化アルゴリズムAES128が使用されます。

関連項目:

サポートされる暗号化と整合性のアルゴリズム

Oracle Database SQL言語リファレンス

親トピック: ステップ3: 暗号化された表領域の作成

例: AES192を使用する暗号化された表領域の作成

CREATE TABLESPACE SQL文を使用して、暗号化された表領域を作成できます。

例3-8では、AES192アルゴリズムを使用して暗号化された、securespace_1という表領域を作成します。キー長は192ビットです。

例3-8 AES192を使用する暗号化された表領域の作成

CREATE TABLESPACE securespace_1

DATAFILE '/home/user/oradata/secure01.dbf'

SIZE 150M

ENCRYPTION USING 'AES192' ENCRYPT;

親トピック: ステップ3: 暗号化された表領域の作成

例: デフォルト・アルゴリズムを使用する暗号化された表領域の作成

CREATE TABLESPACE SQL文を使用して、デフォルト・アルゴリズムを使用する暗号化された表領域を作成できます。

例3-9では、securespace_2という表領域を作成します。暗号化アルゴリズムが指定されていないため、デフォルトの暗号化アルゴリズム(AES128)が使用されます。キー長は128ビットです。

コピー

コピー

97

Page 98: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

既存の表領域は暗号化できません。

例3-9 デフォルト・アルゴリズムを使用する暗号化された表領域の作成

CREATE TABLESPACE securespace_2

DATAFILE '/home/user/oradata/secure01.dbf'

SIZE 150M

ENCRYPTION ENCRYPT;

親トピック: ステップ3: 暗号化された表領域の作成

将来の表領域の暗号化将来作成する表領域を自動的に暗号化するようOracle Databaseを構成できます。

将来の表領域の暗号化について将来の表領域を暗号化する機能は、Oracle Cloud環境でのデータ侵害の防止に役立ちます。

将来の表領域の暗号化設定ENCRYPT_NEW_TABLESPACESデータベース初期化パラメータを設定して、将来作成する表領域を自動的に暗号化できます。

親トピック: 表領域およびデータベースの暗号化変換

将来の表領域の暗号化について

将来の表領域を暗号化する機能は、Oracle Cloud環境でのデータ侵害の防止に役立ちます。

ENCRYPT_NEW_TABLESPACESデータベース初期化パラメータは、将来のデータベースの暗号化方法を制御します。

Oracle Databaseを完全にOracle Cloudで作成および実行できます。この構成はクラウド内の顧客のデータをホストするため、可能なかぎり暗号化を有効にすることをお薦めします。長期的な目標は、Oracle Cloud内のすべてのデータを暗号化することです。あるいは、データベースをクラウドとオンプレミスの両方で持つこともできます。

Oracle Cloud環境では、Oracle Cloud環境およびオンプレミスの環境に暗号化された表領域を作成するときに、次のシナリオが発生する場合があります。

Oracle Cloudにテスト・データベースを作成し、ENCRYPT_NEW_TABLESPACEパラメータが、暗号化の際にクラウド・データベースを自動的に作成するよう設定されているときに表領域が暗号化されました。ところが、そういった意図がないか、暗号化されたデータベースをオンプレミスに戻すAdvanced Security Optionライセンスさえも持っていない場合がありま

コピー

98

Page 99: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。プライマリ・データベースがオンプレミスで、スタンバイ・データベースがOracle Cloudにある、ハイブリッドの定義者権限環境を作成します。切り替え操作が行われた場合、新しいプライマリはOracle Cloud上になります。新しい表領域が透過的に暗号化された場合、このリストの最初の項目に対して同様のシナリオが発生することがあります。たとえば、Advanced Security Option (ASO)ライセンスを持っておらず、自動的に暗号化された表領域がOracle Cloudにあるとします。オンプレミスのスタンバイ・データベースも自動的に暗号化されます。この場合、ASOライセンスを持っていないため、スタンバイ・データベースを使用できません。この問題を修正するには、ENCRYPT_NEW_TABLESPACESをDDLに設定して、Oracle Cloudの表領域の暗号化を防ぎます。

親トピック: 将来の表領域の暗号化

将来の表領域の暗号化設定ENCRYPT_NEW_TABLESPACESデータベース初期化パラメータを設定して、将来作成する表領域を自動的に暗号化できます。

SQL*Plusで、次のALTER SYSTEM文を入力します。

ALTER SYSTEM SET ENCRYPT_NEW_TABLESPACES = value;

この仕様では、valueは次のようになります。

CLOUD_ONLYでは、CREATE TABLESPACE SQL文のENCRYPTION句を指定しない場合、AES128アルゴリズムを使用してクラウドの表領域を透過的に暗号化します。これはOracle Cloud環境にのみ適用されます。表領域をオンプレミスで作成する場合、作成は入力したCREATE TABLESPACE文の指定に従います。たとえば、ENCRYPTION句を省略した場合、表領域は暗号化されずに作成されます。この句を含めて別のアルゴリズムを使用した場合、表領域はそのアルゴリズムを使用します。CLOUD_ONLYがデフォルトです。ALWAYSでは、クラウドおよびプレミスの両方のシナリオにおいて、CREATETABLESPACEのENCRYPTION句を省略した場合、AES128アルゴリズムを使用して表領域を自動的に暗号化します。ただし、ENCRYPTION句を指定した場合、指定したアルゴリズムがAES128よりも優先されます。DDLでは、Oracle Cloudおよびオンプレミスの両方の環境において、CREATETABLESPACEのENCRYPTION句の指定された設定を使用して表領域を暗号化します。

関連項目

コピー

99

Page 100: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ENCRYPT_NEW_TABLESPACES

親トピック: 将来の表領域の暗号化

データ・ディクショナリ内の機密資格証明データの暗号化SYS.LINK$システム表およびSYS.SCHEDULER$_CREDENTIALシステム表内の機密資格証明データを暗号化できます。

デフォルトでは、SYS.LINK$システム表内およびSYS.SCHEDULER$_CREDENTIALシステム表内の資格証明データは、不明瞭化されています。ただし、多くのタイプの不明瞭化解除アルゴリズムが使用可能であるため、Oracleでは、この機密資格証明データを暗号化することをお薦めします。データ・ディクショナリ資格証明のステータスを確認するために、DICTIONARY_CREDENTIALS_ENCRYPTデータ・ディクショナリ・ビューを問い合せることができます。

これらの2つのシステム表内の機密資格証明データの暗号化には、透過的データ暗号化を使用します。資格証明データの暗号化には、AES256アルゴリズムを使用します。資格証明データを暗号化するには、Oracle Advanced Security Optionライセンスを所有している必要はありませんが、SYSKM管理権限が付与されている必要があります。また、データベースには、開いているキーストアがある必要があります。

関連項目

『Oracle Databaseセキュリティ・ガイド』

親トピック: 表領域およびデータベースの暗号化変換

既存のオフライン表領域の暗号化変換ALTER TABLESPACE SQL文のOFFLINE、ENCRYPTおよびDECRYPT句を使用して、オフライン暗号化変換を実行できます。

既存のオフライン表領域の暗号化変換について表領域がオフラインのとき、またはデータベースが開いていないときに、ユーザー表領域の既存のデータ・ファイルを暗号化または復号化できます。

オフライン変換での既存のユーザー定義表領域の暗号化既存の表領域をオフライン変換で暗号化するには、ALTER TABLESPACE SQL文をOFFLINE句およびENCRYPT句とともに使用できます。

オフライン変換での既存の表領域の復号化既存の表領域をオフライン変換で復号化するには、ALTER TABLESPACE SQL文をOFFLINE句およびDECRYPT句とともに使用できます。

100

Page 101: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 表領域およびデータベースの暗号化変換

既存のオフライン表領域の暗号化変換について

表領域がオフラインのとき、またはデータベースが開いていないときに、ユーザー表領域の既存のデータ・ファイルを暗号化または復号化できます。

このオフラインの暗号化方法は、データベースの互換性をOracle Database 11cリリース2 (11.2)またはOracle Database 12cリリース1 (12.1)からリリース18cに変更する(元に戻すことはできません)ことを計画していない場合に使用します。オフラインの暗号化方法は、このデータベースをリリース18cにアップグレードする前に、透過的データ暗号化を簡単に利用する場合にも便利です。オフライン表領域は、暗号化と復号化の両方を行うことができます。

次の点に注意してください。

Oracle Database提供の表領域(SYSTEM、SYSAUXおよびUNDO)をオフライン変換方法を使用して暗号化する場合には、オフライン変換での既存のデータベースの暗号化に記載された方法を使用する必要があります。オンラインの方法を使用して、以前にオフラインの方法で暗号化された表領域をキー更新できます。Oracle Data Guardを構成している場合には、先にスタンバイの表領域を暗号化し、プライマリに切り替えてから、プライマリの表領域を暗号化することによって、停止時間を最小限に抑えることができます。USING ... ENCRYPT句を使用して、暗号化アルゴリズムを指定できます。サポートされているアルゴリズムは、AES128、AES192、AES256およびその他(ARIA、GOSTなど)です。暗号化キーを確認するには、V$DATABASE_KEY_INFOビューのENCRYPTIONALG列を問い合せます。ALTER TABLESPACE文を使用すると、各種のデータ・ファイルを暗号化するために、オフライン表領域を複数のフォアグラウンド・セッションを使用して並列で変換できます。Oracle Data Guardを使用する場合には、先にスタンバイの表領域を暗号化し、切り替えてから、次に元のプライマリの表領域を暗号化することによって、停止時間を最小限に抑えることができます。Oracle Database 11gリリース2 (11.2.0.4)およびOracle Database 12cリリース1 (12.1.0.2)では、表領域SYSTEMおよびSYSAUXのオフライン暗号化は実行できません。また、これらのリリースでUNDO表領域をオフラインで暗号化することはお薦めしません。これを行うとキーストアを閉じられなくなり、データベースが機能しなくなります。また、暗号化された表領域に関連付けられたすべてのUNDOレコードは、すでに自動的にUNDO表領域に暗号化されているため、データベースがオフラインの間にUNDO表領域を暗号化する必要はありません。TEMP表領域を暗号化するには、削除してから、暗号化済として再作成する必要があります。

関連項目

101

Page 102: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

サポートされる暗号化と整合性のアルゴリズム

親トピック: 既存のオフライン表領域の暗号化変換

オフライン変換での既存のユーザー定義表領域の暗号化既存の表領域をオフライン変換で暗号化するには、ALTER TABLESPACE SQL文をOFFLINE句およびENCRYPT句とともに使用できます。

この項で説明する手順は、データベース内の個々のユーザーが作成した表領域を暗号化する場合に適用されます。これらの表領域はオフラインで暗号化できます。ただし、Oracle Database提供の表領域SYSTEMおよびUNDOは、オフラインにできません。表領域をオフラインで暗号化する場合には、オフライン変換での既存のデータベースの暗号化に記載された方法を使用する必要があります。

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXを暗号化することを計画している場合、SYSDBA管理権限を持っている必要があります。それ以外の場合、SYSKM管理権限で接続します。

2. 表領域をオフラインにします。

ALTER TABLESPACE users OFFLINE NORMAL;

3. 表領域をバックアップします。

オフライン変換の方法では、補助ディスク領域またはファイルを使用せず、データ・ファイルへ直接インプレースで処理されます。そのため、ユーザー表領域をオフラインで変換する前に、この表領域の全体バックアップを実行する必要があります。

4. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、ソフトウェア・キーストアを開きます。例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY

コピー

コピー

コピー

102

Page 103: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

software_keystore_password;

5. 表領域を暗号化します。たとえば、表領域全体を暗号化するには、そのデータ・ファイルを含めます。

ALTER TABLESPACE users1 ENCRYPTION OFFLINE ENCRYPT;

この例では、デフォルトの暗号化アルゴリズムAES128を使用して表領域を暗号化します。別の暗号化アルゴリズムを使用するには、次のような文を入力します。

ALTER TABLESPACE users2 ENCRYPTION OFFLINE USING 'AES256'

ENCRYPT;

表領域内の個々のデータ・ファイルを暗号化するには、ALTER DATABASE DATAFILESQL文を使用します。たとえば、データ・ファイルuser_01.dbfおよびuser_02.dbfを暗号化するには次のようにします。

ALTER DATABASE DATAFILE 'user_01.dbf' ENCRYPT;

ALTER DATABASE DATAFILE 'user_02.dbf' ENCRYPT;

同じデータベース・セッションにおいて、これらの文は各データ・ファイルを順に次々と暗号化します。各文を独自のデータベース・セッションで実行した場合、それらは並列で実行されます。

暗号化プロセスが中断された場合、ALTER TABLESPACE文を再度実行します。中断で予想できるエラーの種類は、ファイル・システムまたは記憶域のファイル・システムのエラーなどの一般的なエラーです。表領域内のデータ・ファイルが一貫して暗号化される必要があります。たとえば、10ファイルある表領域をオフラインにしますが、なんらかの理由で、そのうちの9ファイルのみ暗号化が完了し、1ファイルが復号化されたままになっているとします。このような一貫性のない暗号化の状態で表領域をオンラインに戻すことはできますが、COMPATIBLEパラメータが12.2.0.0以上に設定されている場合は、表領域をこの状態のままにしておかないでください。COMPATIBLEが12.2.0.0より小さい場合は、暗号化プロパティがデータ・ファイル間で一致していないと、表領域をオンラインにすることはできません。

6. 表領域をオンラインに戻すか、データベースを開きます。

コピー

コピー

コピー

103

Page 104: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表領域をオンラインに戻すには、次のようにします。

ALTER TABLESPACE users ONLINE;

非マルチテナント環境でデータベースを開くには、次のようにします。

ALTER DATABASE OPEN

マルチテナント環境では、ルートが開いていて、PDBが開いていない場合、オフラインの方法でデータ・ファイルまたは表領域を暗号化できます。たとえば、hr_pdbという名前のPDBの場合は、次のようになります。

ALTER PLUGGABLE DATABASE hr_pdb OPEN

7. 変換された表領域の全体バックアップを実行します。

関連項目

ソフトウェア・キーストアを開く

サポートされる暗号化と整合性のアルゴリズム

親トピック: 既存のオフライン表領域の暗号化変換

オフライン変換での既存の表領域の復号化既存の表領域をオフライン変換で復号化するには、ALTER TABLESPACE SQL文をOFFLINE句およびDECRYPT句とともに使用できます。

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXを復号化することを計画している場合、SYSDBA管理権限を持っている必要があります。それ以外の場合、SYSKM管理権限で接続します。

2. 表領域をオフラインにします。

コピー

コピー

コピー

コピー

104

Page 105: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ALTER TABLESPACE users OFFLINE NORMAL;

3. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、キーストアを開きます。例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY

software_keystore_password;

4. ALTER TABLESPACE SQL文を実行して復号化を実行します。たとえば、usersという表領域では次のようにします。

ALTER TABLESPACE users ENCRYPTION OFFLINE DECRYPT;

復号化プロセスが中断された場合、ALTER TABLESPACE文を再度実行します。中断で予想できるエラーの種類は、ファイル・システムまたは記憶域のファイル・システムのエラーなどの一般的なエラーです。表領域内のデータ・ファイルが一貫して復号化される必要があります。たとえば、10ファイルある表領域をオフラインにしますが、なんらかの理由で、そのうちの9ファイルのみ復号化が完了し、1ファイルが暗号化されたままになっているとします。このような一貫性のない復号化の状態で表領域をオンラインに戻すことはできますが、COMPATIBLEパラメータが12.2.0.0以上に設定されている場合は、表領域をこの状態のままにしておかないでください。COMPATIBLEが12.2.0.0より小さい場合は、暗号化プロパティがデータ・ファイル間で一致していないと、表領域をオンラインにすることはできません。

5. 表領域をオンラインにします。

ALTER TABLESPACE users ONLINE;

関連項目

ソフトウェア・キーストアを開く

親トピック: 既存のオフライン表領域の暗号化変換

コピー

コピー

コピー

コピー

105

Page 106: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

既存のオンライン表領域の暗号化変換ALTER TABLESPACE SQL文をONLINEおよびENCRYPTまたはDECRYPT句とともに使用することによって、オンラインの既存の表領域を暗号化および復号化できます。

既存のオンライン表領域の暗号化変換について既存のユーザー表領域、SYSTEM、SYSAUXおよびUNDO表領域がオンラインのとき、これらを暗号化、復号化またはキー更新できます。

オンライン変換での既存の表領域の暗号化オンライン変換で既存の表領域を暗号化するには、ALTER TABLESPACEをONLINEおよびENCRYPT句とともに使用します。

オンライン変換での既存の表領域のキー更新オンラインの既存の表領域をキー更新するには、ALTER TABLESPACE SQL文のREKEY句を使用できます。

オンライン変換での既存の表領域の復号化既存の表領域をオンライン変換で復号化するには、ALTER TABLESPACE SQL文をDECRYPT句とともに使用できます。

中断されたオンライン暗号化変換の終了オンライン暗号化プロセスが中断された場合は、FINISH句を使用してALTERTABLESPACE文を再実行することで、変換を完了できます。

親トピック: 表領域およびデータベースの暗号化変換

既存のオンライン表領域の暗号化変換について既存のユーザー表領域、SYSTEM、SYSAUXおよびUNDO表領域がオンラインのとき、これらを暗号化、復号化またはキー更新できます。

ただし、一時表領域をオンラインで暗号化、復号化またはキー更新することはできません。

オンラインの表領域は、CREATE TABLESPACE SQL文のONLINE句を使用して作成できます。表領域をオンラインで暗号化またはキー更新すると、表領域は固有の暗号化キーおよびアルゴリズムを持つことになります。

次の点に注意してください。

オフライン表領域が暗号化されている場合、オンラインでキー更新して別のアルゴリズムを使用できます。異なる表領域を暗号化するために、複数のフォアグラウンド・セッションを使用して、複数の表領域をオンラインで並列して暗号化できます。各表領域内では、データ・ファイルは順

106

Page 107: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

に暗号化されます。変換が中断された場合、ALTER TABLESPACE SQL文のFINISH句を発行してプロセスを再開できます。各オンライン表領域変換に対してREDOログが生成されます。

表領域SYSTEMおよびUNDOは、他の表領域と同時に暗号化しないでください。

表領域を暗号化している間は、Oracle Data Pumpでトランスポータブル表領域機能を使用できません。

ALTER TABLESPACE文は、次の機能と同時に実行することはできません。

ADMINSTER KEY MANAGEMENT SET KEY SQL文

FLASHBACK DATABASE SQL文

データ・ファイルにOracle Managed Filesを使用する場合、暗号化プロセスは表領域に関連付けられたデータ・ファイルをキー更新し、それらをデフォルトのOracle Managed Filesの場所にコピーまたは移動します。新しいファイルは、暗号化した後に表領域に追加できます。Oracle Databaseは新しいファイルを新しい暗号化キーで再フォーマットします。新しいキーを使用してブロックが暗号化されます。ルートまたはPDBで行われた以前の操作は、オンライン変換プロセスを開始する前に、制御ファイルをデータ・ディクショナリに対してクロスチェックする必要がある場合があります。ORA-241 operation disallowed: control file is not yet checkedagainst data dictionaryエラーが発生する場合があります。この問題を解決するには、ルートまたはPDBを再起動し、再度オンライン変換コマンドの発行を試行します。セキュリティ上の理由から、オンライン変換によってデータ・ファイルが処理されると、元のデータ・ファイルが削除前にゼロアウトされます。これにより、データベースがディスク・セクターにゴースト・データを残さなくなります。ただし、Oracle Recovery Manager(Oracle RMAN)のファイルの検証と同時にオンライン表領域変換を実行した場合に発生する可能性がある既知の制限があります。オンライン表領域変換では、各ファイルが一度に1つずつ処理されます。オンライン表領域変換によってファイルが処理されているときにOracleRMANがファイルを検証した場合、Oracle RMANが破損の問題を報告することがあります(ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号%s、ブロック番号%s))。このようになるのは、ファイルを構成するブロックがゼロと見なされるためです。これは間違ったアラームであり、このエラーは無視できます。これが発生した場合は、Oracle RMAN検証プロセスを再度実行してください。

関連項目

サポートされる暗号化と整合性のアルゴリズム

107

Page 108: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 既存のオンライン表領域の暗号化変換

オンライン変換での既存の表領域の暗号化オンライン変換で既存の表領域を暗号化するには、ALTER TABLESPACEをONLINEおよびENCRYPT句とともに使用します。

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXを暗号化することを計画している場合、SYSDBA管理権限を持っている必要があります。それ以外の場合、SYSKM管理権限で接続します。

2. COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。

パラメータの現在の設定を確認するには、SHOW PARAMETERコマンドを使用できます。

3. データベースが読取り-書込みモードで開いていることを確認します。

V$INSTANCE動的ビューのSTATUS列を問い合せてデータベースが開いているかどうか、V$DATABASEビューのOPEN_MODE列を問い合せて読取り-書込みモードであるかどうかを確認できます。

4. 必要に応じて、読取り-書込みモードでデータベースを開きます。

ALTER DATABASE OPEN READ WRITE;

5. 補助領域がこの表領域で最も大きいデータ・ファイルと同じかそれ以上のサイズであることを確認します。

このサイズ要件は、Oracle Databaseが一度に1ファイルずつ変換を実行するためです。たとえば、表領域の大規模なデータ・ファイルが32 GBの場合は、32 GBの補助領域があることを確認します。データ・ファイルが使用する領域を確認するには、V$DATAFILE動的パフォーマンス・ビューのBYTESまたはBLOCKS列を問い合せます。

6. マスター暗号化キーを作成して開きます。

例:

コピー

コピー

108

Page 109: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'keystore_location'

IDENTIFIED BY software_keystore_password;

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY

software_keystore_password;

ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY

software_keystore_password WITH BACKUP;

7. ALTER TABLESPACE文をENCRYPTION句およびENCRYPT句を使用して実行し、暗号化します。

たとえば、Oracle Managed Files以外のusersという表領域では、次のようにします。

ALTER TABLESPACE users ENCRYPTION ONLINE USING 'AES192' ENCRYPT

FILE_NAME_CONVERT = ('users.dbf', 'users_enc.dbf');

この例では、次のようになります。

ENCRYPTION ONLINE USING ‘AES192’ ENCRYPTは、表領域usersがオンラインの間にこの表領域を暗号化するように文を設定し、表領域にAES192暗号化アルゴリズムを割り当てます。USING algorithm句を省略した場合、デフォルトのアルゴリズムAES128が使用されます。表領域SYSTEMおよびUNDOでは、ENCRYPT句を使用して表領域を暗号化できますが、暗号化アルゴリズムは最初に既存のデータベース・キーで暗号化する必要があるため、指定できません。表領域の暗号化を行った後、REKEY句を使用してアルゴリズムを指定します。FILE_NAME_CONVERTは、表領域に関連付けられたデータ・ファイルの1つ以上のペアを指定します。ペアの1つ目の名前は既存のデータ・ファイルで、2つ目の名前はこのデータ・ファイルの暗号化されたバージョン(ALTER TABLESPACE文が正常に実行された後に作成される)です。表領域に2つ以上のデータ・ファイルがある場合、この文でそれらすべてを処理する必要があります。次の点に注意してください。

各ファイル名はカンマで区切って、複数のファイルのペアを含めます。例:

FILE_NAME_CONVERT = ('users1.dbf', 'users1_enc.dbf',

'users2.dbf', 'users2_enc.dbf')

ディレクトリ・パスは、FILE_NAME_CONVERT句で指定できます。たとえば、次の句は表領域の一致しているファイルを変換し、dbsディレクトリか

コピー

コピー

コピー

109

Page 110: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

らdbs/encディレクトリに移動します。

FILE_NAME_CONVERT = ('dbs', 'dbs/enc')

FILE_NAME_CONVERT句はパターンを認識します。次の例では、データ・ファイルusers_1.dbfおよびusers_2.dbfをusers_enc1.dbfおよびusers_enc2.dbfに変換します。

FILE_NAME_CONVERT = ('users', 'users_enc')

Oracle Data Guard環境では、FILE_NAME_CONVERT設定にスタンバイ・データベース・データ・ファイルの名前を含めます。Oracle Managed Filesモードを使用している場合、新しいファイル名が内部的に割り当てられるため、このファイル名はサイトのファイル命名標準に影響を与えません。Oracle Managed Files以外のモードを使用している場合にFILE_NAME_CONVERT句を省略すると、Oracle Databaseは内部的に補助ファイル名を割り当て、後で元の名前に戻します。これにより、暗号化プロセスは暗号化するファイルに元々付けられている名前を使用できます。名前変更操作では、ファイルの別のコピーが実質的に作成されるため、FILE_NAME_CONVERT句を明示的に含めた場合よりも時間がかかります。パフォーマンスを向上させるには、FILE_NAME_CONVERT句を含めてください。

動的ビューV$DATAFILEまたはV$DATAFILE_HEADERを問い合せると、表領域のデータ・ファイルを検索できます。

デフォルトでは、データ・ファイルは$ORACLE_HOME/dbsディレクトリ内にあります。データ・ファイルがここにある場合には、パスを指定する必要はありません。

変換の完了後、V$ENCRYPTED_TABLESPACES動的ビューのSTATUS列を問い合せて、暗号化ステータスを確認できます。このビューのENCRYPTIONALG列には、使用されている暗号化アルゴリズムが示されます。変換プロセスが中断された場合、ALTER TABLESPACEをFINISH句とともに実行してプロセスを再開できます。たとえば、プライマリ・データ・ファイルが変換され、スタンバイ・データ・ファイルは変換されなかった場合、スタンバイ・データ・ファイルのスタンバイ・データベースでALTER TABLESPACE ... FINISHを実行できます。

関連項目

表領域暗号化のためのCOMPATIBLE初期化パラメータの設定

中断されたオンライン暗号化変換の終了

コピー

コピー

110

Page 111: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 既存のオンライン表領域の暗号化変換

オンライン変換での既存の表領域のキー更新オンラインの既存の表領域をキー更新するには、ALTER TABLESPACE SQL文のREKEY句を使用できます。

キー更新操作を実行する前に、次の点に注意してください。TEMP表領域をキー更新することはできません。TEMP表領域に異なる暗号化アルゴリズムを割り当てる場合には、TEMPを削除して、正しい暗号化アルゴリズムで再作成します。

オンライン表領域のキー更新操作とマスター・キーの操作を同時に実行しないでください。いずれかの表領域が現在キー更新中かどうかを確認するには、次の問合せを発行して、暗号化された表領域のキー更新ステータスを確認します。

SELECT TS#,ENCRYPTIONALG,STATUS FROM V$ENCRYPTED_TABLESPACES;

REKEYINGというステータスは、対応する表領域がまだキー更新中であることを意味します。このステータスが適用される間は、マスター・キーをキー更新しないでください。

オンライン変換を使用して既存の表領域をキー更新するには:

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXをキー更新することを計画している場合、SYSDBA管理権限を持っている必要があります。それ以外の場合、SYSKM管理権限で接続します。

2. 次の要件が満たされていることを確認してください。

COMPATIBLE初期化パラメータが12.2.0.0に設定されている。

データベースが開かれ、読取り-書込みモードになっている。

マスター暗号化キーが作成され開いている。

3. V$ENCRYPTED_TABLESPACES動的ビューの列KEY_VERSIONおよびSTATUSを問い合せて、マスター暗号化キーで使用される暗号化アルゴリズムの現在のステータスを確認します。

コピー

コピー

111

Page 112: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

4. V$ENCRYPTED_TABLESPACES動的ビューに返されたステータスに基づいて、キー更新操作を実行します。

表領域のキー・バージョン・ステータスがNORMALの場合、オンライン表領域のキー更新の新しいアルゴリズムを指定します。

例:

ALTER TABLESPACE users ENCRYPTION USING 'AES192' REKEY

FILE_NAME_CONVERT = ('users.dbf', 'users_enc.dbf');

キー・バージョン・ステータスが、ENCRYPTING、DECRYPTINGまたはREKEYINGの場合、FINISH句を使用します。

例:

ALTER TABLESPACE users ENCRYPTION ONLINE FINISH REKEY

FILE_NAME_CONVERT = ('users.dbf', 'users_enc.dbf');

5. ORA-00241 operation disallowed: control file inconsistent with datadictionaryエラーが表示された場合、データベースを再起動します。マルチテナント環境では、CDBルート・データベースを再起動し、ステップ4を再度試行します。

変換プロセスが中断された場合、ALTER TABLESPACEをFINISH句とともに実行してプロセスを再開できます。

関連項目

オンライン変換での既存の表領域の暗号化

既存のオンライン表領域の暗号化変換について

中断されたオンライン暗号化変換の終了

親トピック: 既存のオンライン表領域の暗号化変換

オンライン変換での既存の表領域の復号化既存の表領域をオンライン変換で復号化するには、ALTER TABLESPACE SQL文をDECRYPT句とともに使用できます。

コピー

コピー

112

Page 113: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXを復号化することを計画している場合、SYSDBA管理権限を持っている必要があります。それ以外の場合、SYSKM管理権限で接続します。

2. 次の要件が満たされていることを確認してください。

COMPATIBLE初期化パラメータが12.2.0.0に設定されている。

データベースが開かれ、読取り-書込みモードになっている。

マスター暗号化キーが作成され開いている。

復号化を完了させるための十分な補助領域があること。

3. ALTER TABLESPACE SQL文をDECRYPT句とともに実行します。

例:

ALTER TABLESPACE users ENCRYPTION ONLINE DECRYPT

FILE_NAME_CONVERT = ('users_enc.dbf', 'users.dbf');

ここでは次のように指定します。

復号化するファイルを指定するときには、それらが最初に暗号化された順と逆の順で入力します。つまり、先に暗号化されたファイルの名前(users_enc.dbf)、次にデータ・ファイル(users.dbf)を続けて入力します。

復号化にアルゴリズム・キーを指定しないでください。

変換プロセスが中断された場合、ALTER TABLESPACEをFINISH句とともに実行してプロセスを再開できます。

関連項目

オンライン変換での既存の表領域の暗号化

中断されたオンライン暗号化変換の終了

コピー

コピー

113

Page 114: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック 既存のオンライン表領域の暗号化変換

中断されたオンライン暗号化変換の終了オンライン暗号化プロセスが中断された場合は、FINISH句を使用してALTER TABLESPACE文を再実行することで、変換を完了できます。

暗号化プロセス(暗号化、キー更新または復号化)の中断は、たとえば、ALTER TABLESPACESQL文のFILE_NAME_CONVERT句でのORA-28425: missing a valid FILE_NAME_CONVERTclauseエラーなどの可能性があります。中断されたプロセスの他の例としては、変換でデータ・ファイルをスキップした場合(Oracleデータベース・ライター(DBWR)プロセスがデータ・ファイルをオフラインにしたときにエラーがあった場合に発生する可能性がある)や、補助ファイルのための十分な領域がない場合などがあります。ALTER TABLESPACE文をFINISH句を指定して再実行しない場合であっても、表領域は操作可能である必要があります。

1. V$ENCRYPTED_TABLESPACESを問い合せて、表領域のSTATUS列を確認します。

STATUS列が、ENCRYPTING、DECRYPTINGまたはREKEYINGを報告する場合、この手順に記載されているようにALTER TABLESPACE文をFINISH句を指定して再実行します。STATUSがNORMALを報告する場合、ALTER TABLESPACEをFINISH句を指定しないで再実行できます。

V$DATAFILE_HEADERビューを問い合せると、列TS#およびTABLESPACE_NAMEに一致する表領域名を検索できます。

2. 必要に応じて、次の追加のビューに問い合せて、オンライン変換が中断された表領域についての情報を検索します。

DBA_TABLESPACES表領域のSTATUSがオンラインであるかオフラインであるかを示しているかどうかを検索します。V$ENCRYPTED_TABLESPACES表領域のSTATUSが、暗号化されているかどうか、および暗号化キーのKEY_VERSIONが何であるかを示しているかどうかを検索します。

V$DATAFILEおよびV$DATAFILE_HEADER表領域に関連付けられたデータ・ファイルを検索します。

3. ALTER TABLESPACE文をFINISH句を使用して実行します。次に例を示します。

暗号化操作の場合:

ALTER TABLESPACE users ENCRYPTION ONLINE FINISH ENCRYPT

FILE_NAME_CONVERT = ('users.dbf', 'users_enc.dbf');

コピー

:

114

Page 115: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

復号化操作の場合:

ALTER TABLESPACE users ENCRYPTION ONLINE FINISH DECRYPT

FILE_NAME_CONVERT = ('users_enc.dbf', 'users.dbf');

ファイルが指定される順序に注意します。1つ目は暗号化されたファイルの名前で、次がデータ・ファイルの名前です。(暗号化操作では、データ・ファイルの名前が先に指定され、次に暗号化されたファイルの名前が続きます。)

キー更新操作の場合:

ALTER TABLESPACE users ENCRYPTION ONLINE FINISH REKEY

FILE_NAME_CONVERT = ('users.dbf', 'users_enc.dbf');

ALTER TABLESPACE文でFINISH句を使用するときには、アルゴリズムを指定できません。

4. 変換を確認するには、V$ENCRYPTED_TABLESPACESビューのSTATUS列を問い合せます。ステータスはNORMALである必要があります。Oracle Data Guard環境では、データベースのSTATUSがNORMALではない場合、正常に変換しなかったプライマリまたはスタンバイ・データ・ファイルでALTER TABLESPACE ... FINISH文を実行します。

親トピック: 既存のオンライン表領域の暗号化変換

既存のデータベースの暗号化変換オフラインおよびオンライン両方のデータベースを暗号化できます。

既存のデータベースの暗号化変換についてデータベース全体の暗号化変換では、Oracle提供のSYSTEM、SYSAUX、UNDOおよびTEMP表領域を含むすべての表領域が暗号化されます。

オフライン変換での既存のデータベースの暗号化既存のデータベースをオフライン変換で暗号化する場合、Oracle管理の表領域には暗号化アルゴリズムを指定しません。

オンライン変換での既存のデータベースの暗号化既存のデータベースをオンライン変換で暗号化するときには、暗号化アルゴリズムを指定し

コピー

コピー

115

Page 116: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ません。

親トピック: 表領域およびデータベースの暗号化変換

既存のデータベースの暗号化変換についてデータベース全体の暗号化変換では、Oracle提供のSYSTEM、SYSAUX、UNDOおよびTEMP表領域を含むすべての表領域が暗号化されます。

次の点に注意してください。

暗号化を実行するには、表領域暗号化変換のオフラインおよびオンライン機能を使用できます。Oracle提供の表領域のどれかまたはすべてを、任意の順に暗号化できます。Oracle提供の表領域の暗号化は、ユーザー作成の表領域の暗号化に影響が及ぶことはありません。Oracle提供の表領域を暗号化する際、Oracle Databaseはキーストアが閉じないようにします。

既存の一時表領域は暗号化できませんが、既存の一時表領域を削除してから、暗号化済として再作成することはできます。暗号化された表領域の機密データから生成されたメタデータUNDOおよびTEMPは、すでに自動的に暗号化されています。そのため、UNDOおよびTEMPの暗号化はオプションです。

Oracle提供の表領域は、デフォルトの表領域暗号化アルゴリズムAES128を使用して暗号化することをお薦めします。ただし、必要であれば、これらの表領域を後で異なる暗号化アルゴリズムを使用するようにキー更新できます。(現在のデータベースの暗号化キーを検出するには、V$DATABASE_KEY_INFO動的ビューを問い合せることができます。)

データベース内のすべての表領域を暗号化するパフォーマンスの影響は、ワークロードおよびプラットフォームにより異なります。近年のCPUの多くには、内蔵のハードウェア・アクセラレーションが搭載されているため、パフォーマンスへの影響は最小限になります。マルチテナント環境では、Oracle提供の表領域を含めた、プラガブル・データベース(PDB)内の表領域を暗号化できます。ただし、CDBルート内のキーストアは、PDBがキーストアを開けるように、常に開いている必要があります。キーストアが開いているかどうかのステータスは、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せて、確認できます。

親トピック: 既存のデータベースの暗号化変換

オフライン変換での既存のデータベースの暗号化

既存のデータベースをオフライン変換で暗号化する場合、Oracle管理の表領域には暗号化アルゴリズムを指定しません。

1. SYSDBA管理権限を持つユーザーとして接続します。

例:

116

Page 117: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin as sysdba

Enter password: password

表領域SYSTEMおよびSYSAUXを暗号化するには、SYSDBA管理権限を持っている必要があります。

2. データベースをマウントします。

STARTUP MOUNT

3. キーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY

keystore_password;

4. ALTER TABLESPACE SQL文を実行して、表領域SYSTEM、SYSAUXおよびUNDOを暗号化します。他の表領域の暗号化と同時にSYSTEM表領域を暗号化しないでください。

たとえば、表領域SYSTEMを暗号化するには、次のようにします。

ALTER TABLESPACE SYSTEM ENCRYPTION OFFLINE ENCRYPT;

5. データベースを開きます。たとえば、データベースを読取り/書込みモードで開くには、次のようにします。

ALTER DATABASE OPEN READ WRITE;

6. ALTER TABLESPACE SQL文を実行して他のユーザー表領域を暗号化します。あるいは、次のステップに進んでデータベースを先に開いて、オフライン変換での既存のユーザー定義表領域の暗号化に記載されたステップを実行できます。

7. データベースを開きます。

ALTER DATABASE OPEN;

コピー

コピー

コピー

コピー

コピー

コピー

117

Page 118: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表領域の暗号化後、SYSTEM、SYSAUXおよびUNDO表領域に異なる暗号化アルゴリズムを使用(TDEマスター暗号化キーを変更)する場合は、オンライン変換を使用する必要があります。サポートされている暗号化アルゴリズムは、AES128に加えて、AES192とAES256、およびARIA、GOSTなどのその他のアルゴリズムです。

関連項目

表領域のTDEマスター暗号化キーの変更

サポートされる暗号化と整合性のアルゴリズム

親トピック: 既存のデータベースの暗号化変換

オンライン変換での既存のデータベースの暗号化

既存のデータベースをオンライン変換で暗号化するときには、暗号化アルゴリズムを指定しません。

最初に暗号化を実行するときに暗号化アルゴリズムを指定する必要がない理由は、データベースの暗号化に使用する必要のある表領域がデータベース・キーで自動的に暗号化されるためです。アルゴリズムを変更する場合、最初の暗号化の後にALTER TABLESPACE ENCRYPTION REKEYSQL文を発行できます。

1. オンライン変換での既存の表領域の暗号化に記載されている次のタスクを実行します。

a. SYSDBA管理権限が付与されたユーザーとして接続します。

b. COMPATIBLEパラメータが12.2.0.0に設定されていることを確認します。

c. データベースが読取り-書込みモードで開いていることを確認します。

d. 暗号化を完了させるための十分な補助領域があることを確認します。

e. 暗号化する必要のある表領域をバックアップします。

f. キーストアを開きます。

2. ALTER TABLESPACE SQL文を実行して、表領域SYSTEM、SYSAUXおよびUNDOを暗号化します。アルゴリズムは指定せず、表領域SYSTEMを他の表領域の暗号化と同時に暗号化しないでください。

たとえば、表領域SYSTEMを暗号化するには、次のようにします。

ALTER TABLESPACE SYSTEM ENCRYPTION ONLINE ENCRYPT

FILE_NAME_CONVERT=('system01.dbf','system01_enc.dbf');

コピー

118

Page 119: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. 一時表領域では、削除してから暗号化済として再作成します。アルゴリズムを指定しないでください。

たとえば、ユーザー作成の表領域では、次のようにします。

DROP TABLESPACE temp_01;

CREATE TEMPORARY TABLESPACE temp_01

TEMPFILE 'temp01.dbf' SIZE 5M AUTOEXTEND ON

ENCRYPTION ENCRYPT;

デフォルトのTEMP表領域を削除することはできません。TEMPを削除する前に、先に新しい表領域を作成してこれをデフォルトにする必要があります。

例:

CREATE TEMPORARY TABLESPACE temp_01

TEMPFILE 'temp01.dbf' SIZE 5M AUTOEXTEND ON

ENCRYPTION ENCRYPT;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_01;

DROP TABLESPACE TEMP;

関連項目

表領域のTDEマスター暗号化キーの変更

親トピック: 既存のデータベースの暗号化変換

透過的データ暗号化のデータの動的ビューおよびデータ・ディクショナリ・ビュー透過的データ暗号化(TDE)データに関する詳細情報を検索するために、一連の動的ビューおよびデータ・ディクショナリ・ビューを問い合せることができます。

表3-4に、これらの動的ビューおよびデータ・ディクショナリ・ビューを示します。

表3-4 透過的データ暗号化の関連ビュー

ビュー 説明

コピー

コピー

119

Page 120: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ALL_ENCRYPTED_COLUMNS 現在のユーザーがアクセスできる表内の暗号化列に関する暗号化情報が表示されます。

DBA_ENCRYPTED_COLUMNS データベースにあるすべての暗号化列の暗号化情報が表示されます。

USER_ENCRYPTED_COLUMNS 現在のユーザーのスキーマにある暗号化された表の列の暗号化情報が表示されます。

DBA_TABLESPACE_USAGE_METRICS

永続、一時、およびUNDO表領域を含むすべてのタイプの表領域についての表領域使用状況メトリックを示します

V$CLIENT_SECRETS 様々な機能(クライアント)用のキーストアに格納された文字列(シークレット)のプロパティが一覧表示されます。

マルチテナント環境では、PDB内のこのビューを問い合せると、現在のPDB用に作成またはアクティブ化されたキーに関する情報が表示されます。rootでこのビューを問い合せると、すべてのPDBのキーに関するこの情報が表示されます。

V$DATABASE_KEY_INFO 現在のデータベースに使用されているデフォルトの暗号化キーについての情報を表示します。デフォルトはAES128です。

V$ENCRYPTED_TABLESPACES 暗号化された表領域に関する情報が表示されます。

V$ENCRYPTION_KEYS ADMINISTER KEY MANAGEMENT文でキー更新されたキーとともに使用されたときには、TDEマスター暗号化キーについての情報を表示します。

マルチテナント環境では、PDB内のこのビューを問い合せると、現在のPDB用に作成またはアクティブ化されたキーに関する情報が表示されます。rootでこのビューを問い合せると、すべてのPDBのキーに関するこの情報が表示されます。

V$ENCRYPTION_WALLET TDEのキーストアのステータスおよびキーストアの場所に関する情報が表示されます。

V$WALLET TDEのマスター暗号化キーとして使用できるPKI証明書のメタデータ情報が表示されます。

関連項目:

これらのビューの詳細は、Oracle Databaseリファレンスを参照してください。

親トピック: 透過的データ暗号化の構成

120

Page 122: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

4 キーストアおよびマスター暗号化キーの管理キーストアおよびTDEマスター暗号化キーの設定を変更して、OracleDatabaseを格納し、Oracle GoldenGateのシークレットをキーストアに格納できます。

キーストアの管理キーストアでは、パスワードの変更、キーストアのバックアップ、キーストアのマージ、キーストアの移動などのメンテナンス作業を実行できます。

TDEマスター暗号化キーの管理TDEマスター暗号化キーは、いくつかの方法で管理できます。

Oracle Databaseのシークレットの格納シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。

キーストアへのOracle GoldenGateのシークレットの格納Oracle GoldenGateのシークレットを透過的データ暗号化キーストアに格納できます。

親トピック: 透過的データ暗号化の使用

キーストアの管理キーストアでは、パスワードの変更、キーストアのバックアップ、キーストアのマージ、キーストアの移動などのメンテナンス作業を実行できます。

キーストア・パスワードを必要とする操作の実行多くのADMINISTER KEY MANAGEMENT操作では、ソフトウェア・キーストアおよびハードウェア・キーストアの両方において、キーストア・パスワードへのアクセスが必要になります。

122

Page 123: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ソフトウェア・キーストアのパスワードの変更Oracle Databaseでは、パスワード保護されたソフトウェア・キーストアのパスワードを簡単に変更できます。

ハードウェア・キーストアのパスワードの変更ハードウェア・キーストアのパスワードを変更するには、ADMINISTER KEYMANAGEMENT文を使用する必要があります。

キーストア・パスワードのための外部ストアの構成キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。

パスワード保護されたソフトウェア・キーストアのバックアップパスワード保護されたソフトウェア・キーストアをバックアップする際、バックアップのタイプを説明するバックアップの識別子文字列を作成できます。

V$ENCRYPTION_WALLETビューによるバックアップ操作の解釈方法V$ENCRYPTION_WALLETビューのBACKUP列では、キーストアのコピーがどのように作成されたかが示されます。

ハードウェア・キーストアのバックアップOracle Databaseを使用してハードウェア・キーストアをバックアップすることはできません。

ソフトウェア・キーストアのマージソフトウェア・キーストアは、様々な方法でマージできます。

新しい場所へのソフトウェア・キーストアの移動WALLET_ROOTパラメータを更新した後で、新しい場所にソフトウェア・キーストアを移動します。

自動ストレージ管理からのソフトウェア・キーストアの移動ADMINISTER KEY MANAGEMENT文を使用して、自動ストレージ管理からソフトウェア・キーストアを移動できます。

ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行パスワード保護されたソフトウェア・キーストアとハードウェア・キーストアとの間で移行できます。

キーストアとOracle Key Vault間の移行Oracle Key Vaultを使用して、ソフトウェアおよびハードウェアの両方のキーストアをOracleKey Vault間で移行できます。

自動ストレージ管理のためのキーストアの構成

123

Page 124: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ストレージ管理(ASM)ディスク・グループにソフトウェア・キーストアを格納できます。

キーストアを閉じるソフトウェアおよびハードウェア・キーストアは手動で閉じることができます。

暗号化されたデータのバックアップおよびリカバリソフトウェア・キーストアの場合、TDEマスター暗号化キーがないと暗号化されたデータにアクセスできません。

キーストアを削除することの危険性キーストアを削除しないようにすることをお薦めします。

キーストアの削除によって影響を受ける機能一部の機能は、キーストアの削除後にそのキーストアに存在するTDEマスター暗号化キーが必要になった場合には、問題が発生する可能性があります。

親トピック: キーストアおよびマスター 暗号化キーの管理

キーストア・パスワードを必要とする操作の実行多くのADMINISTER KEY MANAGEMENT操作では、ソフトウェア・キーストアおよびハードウェア・キーストアの両方において、キーストア・パスワードへのアクセスが必要です。

一部のケースでは、操作が成功するまで、ソフトウェア・キーストアは自動ログイン・キーストアに依存しています。自動ログイン・キーストアは、構成されキーが必要とされるときに、自動的に開きます。これらは一般的に、キーストアが閉じている可能性があるのに、データベース操作でキーが必要な場合(たとえば、データベースの起動後など)の操作に必要になります。自動ログイン・キーストアは自動的に開くため、手動操作なしでキーを取得してデータベース操作を実行できます。ただし、キーストア・パスワードを必要とする一部のキーストア操作は、自動ログイン・キーストアが開いているときに実行できません。パスワードを必要とするキーストア操作では、自動ログイン・キーストアは閉じ、パスワード保護されたキーストアは開いている必要があります。

マルチテナント環境では、キーストアを再度開くと他のPDBに影響が及びます。たとえば、ルートにある自動ログイン・キーストアは、このルートのCDBのPDBによってアクセス可能である必要があります。

キーストア・パスワードのローテーション、暗号化キーの作成、使用、キー更新、タグ付け、インポート、エクスポート、移行または逆移行、キーストアのオープンまたはバックアップ、シークレット・キーストアの追加、更新または削除の操作を実行する際に、ADMINISTER KEYMANAGEMENT文にFORCE KEYSTORE句を含めて、一時的にキーストアを開くことができます。マルチテナント環境において、ルートに開いているキーストアがない場合、FORCE KEYSTOREによりルートのパスワード保護されたキーストアが開きます。

124

Page 125: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: キーストアの管理

ソフトウェア・キーストアのパスワードの変更Oracle Databaseでは、パスワード保護されたソフトウェア・キーストアのパスワードを簡単に変更できます。

パスワード保護されたソフトウェア・キーストアのパスワードの変更についてパスワード保護されたソフトウェア・キーストアのパスワードのみを変更できます。

パスワード保護されたソフトウェア・キーストアのパスワードの変更パスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

親トピック: キーストアの管理

パスワード保護されたソフトウェア・キーストアのパスワードの変更について

パスワード保護されたソフトウェア・キーストアのパスワードのみを変更できます。

このパスワードは、サイトのセキュリティ・ポリシーやコンプライアンス・ガイドライン、およびその他のセキュリティ要件に従って、いつでも変更できます。パスワードを変更するコマンドの一部として、WITH BACKUP句を指定する必要があるため、常に現在のキーストアのバックアップが作成されます。パスワードの変更操作中、暗号化や復号化などの透過的データ暗号化操作は正常に動作し続けます。

このパスワードはいつでも変更できます。このパスワードは、安全性が損なわれた可能性があると思われる場合には変更することをお薦めします。

親トピック: ソフトウェア・キーストアのパスワードの変更

パスワード保護されたソフトウェア・キーストアのパスワードの変更パスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTERKEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

コピー

125

Page 126: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. 次の構文を使用して、パスワード保護されたソフトウェア・キーストアのパスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

[FORCE KEYSTORE]

IDENTIFIED BY

old_password SET new_password

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。old_passwordは、変更する現在のキーストア・パスワードです。

new_passwordは、キーストア用に設定する新しいパスワードです。

WITH BACKUPは、パスワードを変更する前に、現在のキーストアのバックアップを作成します。この句を含める必要があります。backup_identifierは、作成されるバックアップのオプション識別子文字列を指定します。backup_identifierは、バックアップ・ファイルの名前に追加されます。backup_identifierは、一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_time_stamp_emp_key_pwd_change.p12など)。

次の例は、現在のキーストアをバックアップしてから、キーストアのパスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

FORCE KEYSTORE

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

keystore altered.

親トピック: ソフトウェア・キーストアのパスワードの変更

コピー

コピー

126

Page 127: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアのパスワードの変更ハードウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. ハードウェア・キーストアを閉じます。

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password";

パスワードが外部に格納されているキーストアでは次のようになります。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY EXTERNAL STORE;

3. ハードウェア・セキュリティ・モジュール管理インタフェースから、新しいハードウェア・セキュリティ・モジュール・パスワードを作成します。

4. SQL*Plusでハードウェア・キーストアを開きます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:new_password";

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY EXTERNAL STORE;

コピー

コピー

コピー

コピー

127

Page 128: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目

ハードウェア・キーストアを閉じる

ハードウェア・キーストアを開く

親トピック: キーストアの管理

キーストア・パスワードのための外部ストアの構成キーストア・パスワードの外部ストアでは、集中的にアクセスおよび管理できる場所にキーストア・パスワードが格納されます。

キーストア・パスワードのための外部ストアの構成について

WALLET_ROOTの設定によるキーストア・パスワードの外部ストアの構成キーストア・パスワードの外部ストアを構成するために推奨される方法は、WALLET_ROOTパラメータの設定です。

sqlnet.oraの編集によるキーストア・パスワードの外部ストアの構成WALLET_ROOTパラメータを設定するかわりに、sqlnet.oraファイルを編集して、キーストア・パスワードの外部パスワード・ストアを構成できます。

構成後のEXTERNAL STORE句を使用する状況キーストア・パスワードの外部ストアを構成した後、ADMINISTER KEY MANAGEMENT文でEXTERNAL_STORE句を使用できます。

親トピック: キーストアの管理

キーストア・パスワードのための外部ストアの構成についてキーストア・パスワードの外部ストアを使用すると、ADMINISTER KEY MANAGEMENTコマンドラインからキーストア・パスワードを簡単に削除し、データベース管理者とキー管理者の間の義務の分離を実現できます。これはまた、パスワードを必要とする透過的データ暗号化操作を実行するために自動化ツールを使用する状況において、自動化ツールを実行するスクリプトにハードコード化されたパスワードが含まれているときにも役立ちます。スクリプト内でのパスワードのハードコード化を回避するために、データベース・サーバーの外部ストアにこのパスワードを格納できます。マルチテナント環境では、様々なPDBで外部ストアを使用できます。

関連項目

Oracle Databaseのシークレットの格納

親トピック: キーストア・パスワードのための外部ストアの構成

128

Page 129: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

WALLET_ROOTの設定によるキーストア・パスワードの外部ストアの構成キーストア・パスワードの外部ストアを構成するために推奨される方法は、WALLET_ROOTパラメータの設定です。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されていてALTER SYSTEMシステム権限を持つユーザーとして、統一モードのCDBルートまたは分離モードのPDBに接続します。

例:

CONNECT c##sec_admin AS SYSKM (or CONNECT sec_admin@pdb_name AS

SYSKM)

Enter password: password

2. EXTERNAL_KEYSTORE_CREDENTIAL_LOCATIONパラメータに対してALTER SYSTEM文を実行して、外部キーストア資格証明の場所を設定します。WALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータを設定した場合、外部キーストア資格証明の場所はWALLET_ROOT/tde_sepsになります。その場合、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATIONパラメータを設定する必要はありません。

例:

ALTER SYSTEM SET EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION =

"/etc/ORACLE/WALLETS/orcl/external_store" SCOPE = SPFILE;

3. ADMINISTER KEY MANAGEMENT文にADD SECRET句を含めることによって、キーストア・パスワードを含む自動ログイン・キーストアを作成します。

例:

ADMINISTER KEY MANAGEMENT ADD SECRET 'password'

FOR CLIENT 'TDE_WALLET'

TO LOCAL AUTO_LOGIN KEYSTORE

'/etc/ORACLE/WALLETS/orcl/external_store';

この例では、次のようになります。

コピー

コピー

コピー

129

Page 130: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FOR CLIENT句に設定するclient_identifierの値として、一重引用符で囲んだ大文字の'TDE_WALLET'を入力します。TDE_WALLETは、FILEとして構成されたキーストア用です。あるいは、Oracle Key Vault HSMの場合はOKV_PASSWORD、またはサード・パーティのパスワードの場合はHSM_PASSWORDを入力できます。これは固定値であり、このようにADD SECRET句を適用する場合は、ここに示したとおりに入力する必要があります。この値を入力しない場合、TDEでこのシークレットを検索できなくなり、IDENTIFIED BY EXTERNAL STORE設定を使用しようとすると、ORA-00988:

パスワードが指定されていないか、または無効です。というエラー・メッセージが生成されます。TO LOCAL AUTO_LOGIN KEYSTORE句のLOCALはオプションですが、ウォレットがOracle RACインスタンス間で共有されている場合は使用できません。

この例では、

4. データベースを再起動するか(CDBルートの場合)、PDBをクローズして再オープンします。

CDBルートから再起動するには:

SHUTDOWN IMMEDIATE

STARTUP

PDBを閉じてから再度オープンするには:

ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;

ALTER PLUGGABLE DATABASE pdb_name OPEN;

関連項目

構成後のEXTERNAL STORE句を使用する状況

親トピック: キーストア・パスワードのための外部ストアの構成

sqlnet.oraの編集によるキーストア・パスワードの外部ストアの構成WALLET_ROOTパラメータを設定するかわりに、sqlnet.oraファイルを編集して、キーストア・パスワードの外部パスワード・ストアを構成することもできます。

外部キーストア資格証明の場所を設定するには、データベース・インスタンスのinit.oraファイルを編集します。例:

コピー

コピー

130

Page 131: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION =

"/etc/ORACLE/WALLETS/orcl/external_store"

デフォルトでは、init.oraファイルは、ORACLE_HOME/dbsディレクトリ、またはTNS_ADMIN環境変数によって設定されている場所にあります。

関連項目

構成後のEXTERNAL STORE句を使用する状況

親トピック: キーストア・パスワードのための外部ストアの構成

構成後のEXTERNAL STORE句を使用する状況キーストア・のパスワードに外部ストアを構成した後、ADMINISTER KEY MANAGEMENT文でEXTERNAL_STORE句を使用できます。

キーストアのオープン、クローズ、バックアップ、シークレット・キーストアの追加、更新または削除、暗号化キーの作成、使用、キー更新、タグ付け、インポート、エクスポートに対してADMINISTER KEY MANAGEMENT文でEXTERNAL STORE句を使用する必要があります。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY EXTERNAL STORE;

ADMINISTER KEY MANAGEMENT UPDATE CLIENT SECRET文またはADMINISTER KEYMANAGEMENT DELETE CLIENT SECRET文を使用して、外部キーストア・パスワードを変更または削除できます。

親トピック: キーストア・パスワードのための外部ストアの構成

パスワード保護されたソフトウェア・キーストアのバックアップパスワード保護されたソフトウェア・キーストアをバックアップする際、バックアップのタイプを説明するバックアップの識別子文字列を作成できます。

パスワード保護されたソフトウェア・キーストアのバックアップについてサイトのセキュリティ・ポリシーや要件に従って、パスワード保護されたソフトウェア・キーストアをバックアップする必要があります。

コピー

コピー

131

Page 132: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

バックアップ・キーストアのバックアップ識別子文字列の作成ソフトウェア・パスワード・キーストアのバックアップ・ファイル名は、パスワード保護されたソフトウェア・キーストアの名前から導出されます。

パスワード保護されたソフトウェア・キーストアのバックアップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句により、パスワード保護されたソフトウェア・キーストアをバックアップします。

親トピック: キーストアの管理

パスワード保護されたソフトウェア・キーストアのバックアップについて

サイトのセキュリティ・ポリシーや要件に従って、パスワード保護されたソフトウェア・キーストアをバックアップする必要があります。

キーストアのバックアップには、元のキーストアに格納されているすべてのキーが含まれます。Oracle Databaseでは、バックアップ・キーストアに作成時のタイムスタンプ(UTC)の接頭辞が付けられます。識別子文字列を指定すると、その文字列がタイムスタンプとキーストア名の間に挿入されます。

バックアップ操作が完了すると、元のキーストアのキーは「backed up」とマークされます。キーのステータスは、V$ENCRYPTION_WALLETデータ・ディクショナリ・ビューを問い合せて確認できます。

自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアはバックアップできません。ADMINISTER KEY MANAGEMENT文での操作を使用して、新しいキーを直接それらに追加することはできません。これらのキーストア内の情報は読み取られるのみのため、バックアップは不要です。

ウォレットを変更する(ウォレット・パスワードの変更やマスター暗号化キーの設定など)ADMINISTER KEY MANAGEMENT文には、WITH BACKUP句を含める必要があります。

親トピック: パスワード保護されたソフトウェア・キーストアのバックアップ

バックアップ・キーストアのバックアップ識別子文字列の作成

ソフトウェア・パスワード・キーストアのバックアップ・ファイル名は、パスワード保護されたソフトウェア・キーストアの名前から導出されます。

バックアップ・キーストアのバックアップ識別子文字列を作成するには、BACKUPKEYSTORE句を含む次の構文のADMINISTER KEY MANAGEMENT SQL文を使用します。

ewallet_creation-time-stamp-in-UTC_user-defined-string.p12コピー

132

Page 133: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

バックアップ識別子(user_defined_string)を作成する場合は、オペレーティング・システムのファイル命名規則に従います。たとえば、UNIXシステムでは、この設定にスペースが入らないようにします。

次の例に、ユーザーが指定した文字列を使用するバックアップ・キーストアの作成方法と、そのキーストアがファイル・システムにどのように表示されるかを示します。この例には、自動ログイン・キーストアが使用されているか、キーストアが閉じている場合にはFORCEKEYSTORE句が含まれます。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'Monthly-backup-

2013-04'

FORCE KEYSTORE

IDENTIFIED BY keystore_password;

このバージョンは、パスワードが外部ストアに格納されているシナリオ用です。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'Monthly-backup-

2013-04'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

結果のキーストア・ファイル:

ewallet_2013041513244657_Monthly-backup-2013-04.p12

親トピック: パスワード保護されたソフトウェア・キーストアのバックアップ

パスワード保護されたソフトウェア・キーストアのバックアップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句により、パスワード保護されたソフトウェア・キーストアをバックアップします。

次の構文を使用して、キーストアをバックアップします。:

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

[USING 'backup_identifier']

コピー

コピー

コピー

コピー

133

Page 134: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | software_keystore_password]

[TO 'keystore_location'];

ここでは次のように指定します。

USING backup_identifierは、バックアップを識別するために指定できるオプション文字列です。この識別子は、一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_time-stamp_emp_key_backup.p12など)。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。software_keystore_passwordは、キーストアのパスワードです。

keystore_locationは、バックアップ・キーストアが格納されるパスです。keystore_locationを指定しない場合、バックアップは元のキーストアと同じディレクトリに作成されます。この場所は、一重引用符(' ')で囲みます。

次の例では、ソフトウェア・キーストアを別の場所にバックアップします。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY software_keystore_password

TO '/etc/ORACLE/KEYSTORE/DB1/';

keystore altered.

次のバージョンでは、キーストアのパスワードが外部にあるため、EXTERNAL STORE句が使用されます。キーストアは、現在のキーストアと同じディレクトリにバックアップされます。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

コピー

コピー

134

Page 135: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

この文を実行すると、ewallet_identifier.p12ファイル(ewallet_time-stamp_hr.emp_keystore.p12など)がキーストア・ロケーションに作成されます。

親トピック: パスワード保護されたソフトウェア・キーストアのバックアップ

V$ENCRYPTION_WALLETビューによるバックアップ操作の解釈方法V$ENCRYPTION_WALLETビューのBACKUP列では、キーストアのコピーがどのように作成されたかが示されます。

この列では、ADMINISTER KEY MANAGEMENT文またはADMINISTER KEY MANAGEMENTBACKUP KEYSTORE文のWITH BACKUP句でキーストアのコピーが作成されているかどうかが示されます。

キーまたはシークレットを変更した場合、コピーが作成されてからキー自体が変更されるため、行う変更は前にバックアップされたコピーには反映されません。前のキーストアには変更のコピーが存在しないため、以前にBACKUPがYESに設定されていた場合でも、BACKUP列はNOに設定されます。したがって、BACKUP列がYESの場合、カスタム属性タグの追加といったバックアップを必要とする操作を実行すると、BACKUP列の値はNOに変更されます。

親トピック: キーストアの管理

ハードウェア・キーストアのバックアップOracle Databaseを使用してハードウェア・キーストアをバックアップすることはできません。

ハードウェア・キーストアのキーをバックアップする方法の詳細は、HSMベンダーの指示を参照してください。

親トピック: キーストアの管理

ソフトウェア・キーストアのマージソフトウェア・キーストアは、様々な方法でマージできます。

ソフトウェア・キーストアのマージについてソフトウェア・キーストアの任意の組合せをマージできますが、マージ後のキーストアはパスワード保護される必要があります。構成キーストアとは異なるパスワードを指定できます。

1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ

135

Page 136: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

MERGE KEYSTORE句を含むADMINISTER KEY MANAGEMENT文を使用して、1つのソフトウェア・キーストアを他の既存のソフトウェア・キーストアにマージできます。

2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ2つの既存のキーストアが変更されないように2つのソフトウェア・キーストアを3つ目の新しいキーストアにマージできます。

自動ログイン・ソフトウェア・キーストアの既存のパスワード保護されたソフトウェア・キーストアへのマージ自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたフトウェア・キーストアにマージできます。

ソフトウェア・キーストア・マージ操作の取消しキーストア・マージ操作を直接取り消すことはできません。

親トピック: キーストアの管理

ソフトウェア・キーストアのマージについて

ソフトウェア・キーストアの任意の組合せをマージできますが、マージ後のキーストアはパスワード保護される必要があります。構成キーストアとは異なるパスワードを指定できます。

マージしたキーストアを使用するには、マージ前にいずれかの構成キーストアがすでに開いていた場合でも、マージしたキーストアを作成後に明示的に開く必要があります。

2つのソース・キーストアの共通キーが、マージしたキーストアに追加されるか上書きされるかは、ADMINISTER KEY MANAGEMENTマージ文の記述方法に応じて異なります。たとえば、キーストア1とキーストア2をマージしてキーストア3を作成する場合、キーストア1のキーはキーストア3に追加されます。キーストア1をキーストア2にマージする場合、キーストア2の共通キーは上書きされません。

ADMINISTER KEY MANAGEMENTマージ文は、使用中の構成済キーストアには影響しません。ただし、必要に応じて、マージしたキーストアを新しい構成済データベース・キーストアとして使用できます。WALLET_ROOTパラメータによって構成された場所にあるデータベースのキーストアとして新しく作成したキーストアを使用する場合、キーストアを再度開く必要があることに注意してください。

関連項目

ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

ステップ3: ソフトウェア・キーストアを開く

親トピック: ソフトウェア・キーストアのマージ

1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ

136

Page 137: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

MERGE KEYSTORE句を含むADMINISTER KEY MANAGEMENT文を使用して、1つのソフトウェア・キーストアを他の既存のソフトウェア・キーストアにマージできます。

このタイプのマージを実行するには、2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージのステップに従いますが、次のSQL文を使用してください。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore1_location'

[IDENTIFIED BY software_keystore1_password]

INTO EXISTING KEYSTORE 'keystore2_location'

IDENTIFIED BY software_keystore2_password

[WITH BACKUP [USING 'backup_identifier]];

ここでは次のように指定します。keystore1_locationは、マージ後も変更されないまま残される1つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。IDENTIFIED BY句は、1つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore1_passwordは、1つ目のキーストアのパスワードです。keystore2_locationは、1つ目のキーストアがマージされる2つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。software_keystore2_passwordは、2つ目のキーストアのパスワードです。

WITH BACKUPを使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' ')で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backupがバックアップ識別子になっているewallet_time-stamp_emp_key_backup.p12)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

マージ操作で生成されるキーストアは、常にパスワード保護されたキーストアです。

親トピック: ソフトウェア・キーストアのマージ

2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ2つの既存のキーストアが変更されないように2つのソフトウェア・キーストアを3つ目の新しいキーストアにマージできます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベ

コピー

137

Page 138: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、ソフトウェア・キーストアをマージします。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore1_location'

[IDENTIFIED BY software_keystore1_password]

AND KEYSTORE 'keystore2_location'

[IDENTIFIED BY software_keystore2_password]

INTO NEW KEYSTORE 'keystore3_location'

IDENTIFIED BY software_keystore3_password;

ここでは次のように指定します。

keystore1_locationは、マージ後も変更されないまま残される1つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

IDENTIFIED BY句は、1つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore1_passwordは、1つ目のキーストアの現在のパスワードです。keystore2_locationは、2つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

IDENTIFIED BY句は、2つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore2_passwordは、2つ目のキーストアの現在のパスワードです。keystore3_locationは、マージされた新しいキーストアのディレクトリの場所を指定します。このパスは、一重引用符(' ')で囲みます。その場所に既存のキーストアがすでに存在する場合は、コマンドが終了してエラーが発生します。software_keystore3_passwordは、マージ後のキーストアの新しいパスワードです。

コピー

コピー

138

Page 139: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次の例は、自動ログイン・ソフトウェア・キーストアをパスワード保護されたキーストアとマージして、マージしたパスワード保護されたキーストアを新しいロケーションに作成します。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE

'/etc/ORACLE/KEYSTORE/DB1'

AND KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'

IDENTIFIED BY existing_password_for_keystore_2

INTO NEW KEYSTORE '/etc/ORACLE/KEYSTORE/DB3'

IDENTIFIED BY new_password_for_keystore_3;

keystore altered.

親トピック: ソフトウェア・キーストアのマージ

自動ログイン・ソフトウェア・キーストアの既存のパスワード保護されたソフトウェア・キーストアへのマージ

自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたソフトウェア・キーストアにマージできます。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE SQL文を使用して、自動ログイン・ソフトウェア・キーストアを既存のパスワード保護されたソフトウェア・キーストアにマージします。

例4-1に、自動ログイン・ソフトウェア・キーストアをパスワード保護されたソフトウェア・キーストアにマージする方法を示します。また、マージするキーストアを作成する前に、2つ目のキーストアのバックアップを作成します。

例4-1 自動ログイン・ソフトウェア・キーストアからパスワード・キーストアへのマージ

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1'

INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'

IDENTIFIED BY keystore_password WITH BACKUP;

ここでは次のように指定します。

MERGE KEYSTOREは、自動ログイン・キーストアを指定する必要があります。

EXISTING KEYSTOREは、パスワードのキーストアを表します。

コピー

コピー

139

Page 140: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: ソフトウェア・キーストアのマージ

ソフトウェア・キーストア・マージ操作の取消し

キーストア・マージ操作を直接取り消すことはできません。

キーストアを(新規作成するのではなく)既存のキーストアにマージする場合、ADMINISTER KEYMANAGEMENT文にWITH BACKUP句を指定して、その既存のキーストアのバックアップを作成する必要があります。後でマージを取り消す必要があると判断した場合、マージしたソフトウェア・キーストアを、バックアップしたものと置き換えることができます。

たとえば、キーストアAをキーストアBにマージするとします。WITH BACKUP句を使用することで、マージ操作の開始前にキーストアBのバックアップを作成します。(元のキーストアAは変更されません。)マージ操作を取り消すには、キーストアBから作成したバックアップに戻ります。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE SQL文を使用して、マージ操作を実行します。

たとえば、既存のキーストアへのマージ操作を実行する場合、次のようにします。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE

'/etc/ORACLE/KEYSTORE/DB1'

INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'

IDENTIFIED BY password WITH BACKUP USING "merge1";

新しいキーストアをバックアップ・キーストア(この場合、ewallet_time-stamp_merge1.p12という名前)に置き換えます。

自動ログイン・キーストアをパスワードベースのキーストアにマージするには、ADMINISTER KEY MANAGEMENT MERGE KEYSTORE SQL文を使用します。

親トピック: ソフトウェア・キーストアのマージ

新しいロケーションへのソフトウェア・キーストアの移動WALLET_ROOTパラメータを更新した後で、新しい場所にソフトウェア・キーストアを移動します。

Oracle Key Vaultを使用している場合は、Key Vaultがマスター暗号化キーを直接管理するTDE直接接続を構成できます。この場合、キーストアを新しいロケーションに手動で移動する必要はありません。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベ

コピー

140

Page 141: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ース・インスタンスにログインします。2. ソフトウェア・キーストアをバックアップします。

例:

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY

software_keystore_password TO '/etc/ORACLE/KEYSTORE/DB1/';

3. ソフトウェア・キーストアを閉じます。

キーストアを閉じる方法の例は次のとおりです。

自動ログイン・ソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;

パスワード保護されたソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY software_keystore_password;

パスワードが外部に格納されているキーストアの場合:

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY EXTERNAL STORE;

4. データベース・セッションを終了します。

たとえば、SQL*Plusにログインしている場合は、次のようにします。

EXIT

コピー

コピー

コピー

コピー

コピー

141

Page 142: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

5. データベース・インスタンスのinit.oraファイルで、キーストアの移動先の新しい場所を指すようにWALLET_ROOTパラメータを更新します。

6. オペレーティング・システムの移動コマンド(mvなど)を使用して、キーストアとそのすべてのキーを、新しいディレクトリの場所に移動します。

関連項目

Oracle Key Vault管理者ガイド

親トピック: キーストアの管理

自動ストレージ管理からのソフトウェア・キーストアの移動ADMINISTER KEY MANAGEMENT文を使用して、自動ストレージ管理からソフトウェア・キーストアを移動できます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、ファイル・システム上のターゲット・キーストアを初期化します。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE targetKeystorePath

IDENTIFIED BY targetKeystorePassword;

ここでは次のように指定します。

targetKeystorePathは、ファイル・システム上のターゲット・キーストアへのディレクトリ・パスです。targetKeystorePasswordは、キーストアに対して作成するパスワードです。

例:

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

コピー

コピー

コピー

142

Page 143: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

'/etc/ORACLE/KEYSTORE/DB1/' IDENTIFIED BY

"targetKeystorePassword";

3. キーストアをASMから、先ほど作成したターゲット・キーストアにコピーします。

このステップでは、キーストアをASMからファイル・システムに次のようにマージする必要があります。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE srcKeystorePath

IDENTIFIED BY srcKeystorePassword

INTO EXISTING KEYSTORE targetKeystorePath

IDENTIFIED BY targetKeystorePassword

WITH BACKUP USING backupIdentifier;

ここでは次のように指定します。

srcKeystorePathは、ソース・キーストアへのディレクトリ・パスです。

srcKeystorePasswordは、ソース・キーストアのパスワードです。

targetKeystorePathは、ターゲット・キーストアへのパスです。

targetKeystorePasswordは、ターゲット・キーストアのパスワードです。

backupIdentifierは、バックアップ・ファイル名に追加されるバックアップ識別子です。

例:

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '+DATAFILE'

IDENTIFIED BY "srcPassword"

INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB1/'

IDENTIFIED BY "targetKeystorePassword"

WITH BACKUP USING "bkup";

親トピック: キーストアの管理

ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行パスワード保護されたソフトウェア・キーストアとハードウェア・キーストアとの間で移行できます。

コピー

コピー

143

Page 144: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへ移行できます。

ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行ハードウェア・キーストアは、ソフトウェア・キーストアに移行できます。

移行後のキーストアの順序移行の実行後、キーストアの順序はプライマリまたはセカンダリのいずれかになります。

親トピック: キーストアの管理

パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへ移行できます。

ステップ1: ハードウェア・キーストアとともに開くためにソフトウェア・キーストアを変換する一部のOracleツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータを暗号化または復号化するために、古いソフトウェア・キーストアにアクセスする必要があります。

ステップ2: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成するALTER SYSTEM文を使用して、HSMキーストア・タイプを構成できます。

ステップ3: ハードウェア・キーストアの移行を実行するADMINISTER KEY MANAGEMENT SQL文を使用して、ハードウェア・キーストアの移行を実行できます。

親トピック: ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

ステップ1: ハードウェア・キーストアとともに開くためにソフトウェア・キーストアを変換する

一部のOracleツールでは、ソフトウェア・キーストアを使用してエクスポートまたはバックアップされたデータを暗号化または復号化するために、古いソフトウェア・キーストアにアクセスする必要があります。

これらのツールの例として、Oracle Data PumpやOracle Recovery Managerなどがあります。

ADMINISTER KEY MANAGEMENT SQL文を使用して、ハードウェア・キーストアとともに開くためにソフトウェア・キーストアを変換します。

ソフトウェア・キーストアのパスワードをハードウェア・キーストアのパスワードとして設定するには、次の構文を使用します。

144

Page 145: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

FORCE KEYSTORE

IDENTIFIED BY software_keystore_password

SET "hardware_keystore_credentials" WITH BACKUP

[USING 'backup_identifier'];

ここでは次のように指定します。software_keystore_passwordは、ソフトウェア・キーストアの作成時に使用したものと同じパスワードです。hardware_keystore_credentialsは、ハードウェア・キーストアのパスワードと同じ新しいソフトウェア・キーストアのパスワードです。WITH BACKUPを使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' ')で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backupがバックアップ識別子になっているewallet_time-stamp_emp_key_backup.p12)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

ソフトウェア・キーストアの自動ログイン・キーストアを作成するには、次の構文を使用します。

ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE

FROM KEYSTORE 'keystore_location'

IDENTIFIED BY software_keystore_password;

ここでは次のように指定します。LOCALでは、ローカル自動ログイン・ソフトウェア・キーストアを作成できます。そうでない場合、キーストアに他のコンピュータからアクセスできるようにするときは、この句を省略します。keystore_locationは、sqlnet.oraファイルに構成されているキーストアのキーストア・ディレクトリの場所へのパスです。software_keystore_passwordは、構成されているソフトウェア・キーストアの既存のパスワードです。

コピー

コピー

145

Page 146: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

ステップ2: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成する

ALTER SYSTEM文を使用して、HSMキーストア・タイプを構成できます。

ソフトウェア・キーストアをハードウェア・キーストアと一緒に開くには、ソフトウェア・キーストアのパスワードがハードウェア・キーストアと同じであることが必要です。あるいは、ソフトウェア・キーストア用に自動ログイン・キーストアを作成できます。

1. SYSDBA管理権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

sqlplus sec_admin as sysdba

Enter password: password

2. TDE_CONFIGURATION動的初期化パラメータを設定します。

次の例は、TDEキーストアからハードウェア・キーストアに移行します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=HSM|FILE";

次の例は、TDEキーストアからOracle Key Vaultキーストアに移行します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=OKV|FILE";

3. データベースを再起動します。

SHUTDOWN IMMEDIATE

STARTUP

親トピック: パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの

コピー

コピー

コピー

コピー

146

Page 147: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

移行

ステップ3: ハードウェア・キーストアの移行を実行する

ADMINISTER KEY MANAGEMENT SQL文を使用して、ハードウェア・キーストアの移行を実行できます。

ソフトウェア・キーストアからハードウェア・キーストアに移行するには、ADMINISTER KEYMANAGEMENT SET KEY SQL文でMIGRATE USING keystore_password句を使用して、ソフトウェア・キーストアのTDEマスター暗号化キーで既存のTDE表キーおよび表領域暗号化キーを復号化してから、ハードウェア・キーストアの新しく作成したTDEマスター暗号化キーでそれらを再暗号化する必要があります。

移行の完了後、データベースを再起動したり、ハードウェア・キーストアを手動で再度開く必要はありません。移行プロセスにより、キーストアのキーがメモリーに自動的にリロードされます。

次の構文を使用して、ハードウェア・キーストアを移行します。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY "user_name:password"

MIGRATE USING software_keystore_password

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。user_name:passwordは、「ステップ2: ハードウェア・セキュリティ・モジュールの構成」(「透過的データ暗号化の構成」内)のステップ2で作成されたユーザーIDおよびパスワードです。この設定は二重引用符(" ")で囲み、user_nameとpasswordをコロン(:)で区切ります。

software_keystore_passwordは、ソフトウェア・キーストアの作成時に使用したものか、ステップ1: ハードウェア・キーストアとともに開くためにソフトウェア・キーストアを変換するで変更したものと同じパスワードです。

USINGでは、バックアップの簡単な説明を追加できます。この説明は一重引用符('')で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backupがバックアップ識別子になっているewallet_time-stamp_emp_key_backup.p12)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

ノート: 公開キーによって暗号化された列がデータベースに含まれている場合は、その

コピー

147

Page 148: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

列が復号化されてから、HSMベースの透過的データ暗号化によって生成されたAES対称キーを使用して再暗号化されます。

親トピック: パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

ハードウェア・キーストアは、ソフトウェア・キーストアに移行できます。

ハードウェア・キーストアからの再移行についてハードウェア・キーストア・ソリューションの使用からソフトウェア・キーストアの使用に切り換えるには、キーストアの逆移行を使用できます。

ステップ1: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成するALTER SYSTEM文を使用して、ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成できます。

ステップ2: 逆移行用にキーストアを構成するSET ENCRYPTION KEY句とREVERSE MIGRATE句を含むADMINISTER KEYMANAGEMENT文を使用して、キーストアの移行を取り消すことができます。

ステップ3: ソフトウェア・キーストアとともに開くようにハードウェア・キーストアを構成する移行が完了すると、移行プロセスによってキーストアのキーがメモリーに自動的にリロードされます。

親トピック: ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

ハードウェア・キーストアからの再移行について

ハードウェア・キーストア・ソリューションの使用からソフトウェア・キーストアの使用に切り換えるには、キーストアの逆移行を使用できます。

以前のバックアップ・ファイルがハードウェア・セキュリティ・モジュールのTDEマスター暗号化キーに依存している場合は、切換え完了後に、ハードウェア・セキュリティ・モジュールを保持しておく必要があります。

初めにソフトウェア・キーストアからハードウェア・セキュリティ・モジュールに移行し、前に構成したTDEマスター暗号化キーの移行の説明に従ってソフトウェア・キーストアを再構成済の場合は、HSMパスワードと同じパスワードの既存のキーストアがすでに存在します。逆移行では、このキーストアを、新しいパスワードで新しいソフトウェア・キーストアとして動作するように構成します。既存のキーストアが自動ログイン・ソフトウェア・キーストアで、その自動ログイン・キーストアのパスワードベースのソフトウェア・キーストアがある場合、パスワードベ

148

Page 149: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ースのキーストアを使用してください。パスワードベースのキーストアを使用できない場合、自動ログイン・キーストアを新しく作成した空のパスワードベースのキーストアにマージし、その新しく作成したパスワードベースのキーストアを使用します。

既存のキーストアがない場合、init.oraファイルのWALLET_ROOTパラメータを使用して、キーストア・ロケーションを指定する必要があります。逆移行を実行する場合、キーが失われないように前のキーストアに移行する必要があります。

関連項目

ソフトウェア・キーストアのマージ

親トピック: ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

ステップ1: ハードウェア・セキュリティ・モジュール・キーストア・タイプを構成する

ALTER SYSTEM文を使用して、ハードウェア・セキュリティ・モジュールのキーストア・タイプを構成できます。

1. SYSDBA管理権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

sqlplus sec_admin as sysdba

Enter password: password

2. TDE_CONFIGURATION動的初期化パラメータを設定して、TDEキーストア・タイプを指定します。例:

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=HSM";

KEYSTORE_CONFIGURATIONをHSMに設定すると、自動ログインHSM構成を使用できなくなります。自動ログインHSM構成を使用するには、KEYSTORE_CONFIGURATIONをHSM:FILEに設定します。

3. データベースを再起動します。

SHUTDOWN IMMEDIATE

コピー

コピー

コピー

149

Page 150: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

STARTUP

親トピック: ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

ステップ2: 逆移行用にキーストアを構成する

SET ENCRYPTION KEY句とREVERSE MIGRATE句を含むADMINISTER KEY MANAGEMENT文を使用して、キーストアの移行を取り消すことができます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、キーストアを逆移行します。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY software_keystore_password

REVERSE MIGRATE USING "user_name:password"

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。software_keystore_passwordは、既存のキーストアまたは新しいキーストアのパスワードです。user_name:passwordは、「ステップ2: ハードウェア・セキュリティ・モジュールの構成」(「透過的データ暗号化の構成」内)のステップ2で作成されたユーザーIDおよびパスワードです。前のハードウェア・セキュリティ・モジュール・ソフトウェア・キーストアが新しいキーストアの場合、逆移行コマンドを発行する前に、user_name:passwordと同じパスワードであることを確認する必要があります。この設定は二重引用符(" ")で囲みます。

WITH BACKUPを使用すると、ソフトウェア・キーストアのバックアップが作成されます。オプションでUSING句を含めることで、バックアップの簡単な説明を追加できま

コピー

コピー

150

Page 151: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。この説明は一重引用符(' ')で囲みます。この識別子は、名前付きキーストア・ファイルに付加されます(たとえば、emp_key_backupがバックアップ識別子になっているewallet_time-stamp_emp_key_backup.p12)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

例:

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY password

REVERSE MIGRATE USING "psmith:password" WITH BACKUP;

keystore altered.

3. オプションで、キーストア・パスワードを変更します。

例:

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

IDENTIFIED BY old_password

SET new_password

WITH BACKUP USING 'pwd_change';

関連項目

ソフトウェア・キーストアのパスワードの変更

親トピック: ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

ステップ3: ソフトウェア・キーストアとともに開くようにハードウェア・キーストアを構成する

移行が完了すると、移行プロセスによってキーストアのキーがメモリーに自動的にリロードされます。

データベースを再起動したり、ソフトウェア・キーストアを手動で再度開く必要はありません。

以前のキーは、暗号化されたバックアップで使用されているか、Oracle Data PumpやOracleRecovery Managerなどのツールによって使用されている可能性が高いため、逆移行の後でもハードウェア・キーストアが必要な場合があります。HSMをソフトウェア・キーストアとともに開くことができるように、ハードウェア・キーストア資格証明をキーストアにキャッシュする必要があります。

コピー

コピー

151

Page 152: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目

自動ログイン・ハードウェア・セキュリティ・モジュールの構成

親トピック: ハードウェア・キーストアからパスワードベースのソフトウェア・キーストアへの移行

移行後のキーストアの順序

移行の実行後、キーストアの順序はプライマリまたはセカンダリのいずれかになります。

V$ENCRYPTION_WALLET動的ビューのWALLET_ORDER列は、キーストアがプライマリ(現在のTDEマスター暗号化キーを保持)またはセカンダリ(前のTDEマスター暗号化キーを保持)のいずれであるかを示します。WRL_TYPE列は、キーストアのロケータのタイプを示します(sqlnet.oraファイルの場合のFILEなど)。2つのキーストアがまとめて構成されておらず、以前に移行を一度も実行したことがない場合、WALLET_ORDER列にはSINGLEが表示されます。

表4-1では、移行後のキーストアの順序の仕組みについて説明します。

表4-1 移行後のキーストア順序

実行された移行のタイプ WRL_TYPE WALLET_ORDER 説明

ソフトウェア・キーストアからHSMへの移行

HSM

FILE

PRIMARY

SECONDARY

HSMとソフトウェア・キーストアの両方が構成されます。TDEマスター暗号化キーは、HSMまたはソフトウェア・キーストアのいずれかに格納できます。

TDEマスター暗号化キーは、まずHSMで検索されます。

TDEマスター暗号化キーがプライマリ・キーストア(HSM)にない場合、ソフトウェア・キーストアで検索されます。

すべての新しいTDEマスター暗号化キーは、プライマリ・キーストア(この場合はHSM)に作成されます。

HSMからソフトウェア・キーストアへの逆移行

FILE

HSM

PRIMARY

SECONDARY

HSMとソフトウェア・キーストアの両方が構成されます。TDEマスター暗号化キーは、HSMまたはソフトウェア・キーストアのいずれかに格納できます。

TDEマスター暗号化キーは、まずソフトウェア・キーストアで検索されます。

TDEマスター暗号化キーがプライマリ(ソフトウェア)キーストアに存在しない場合、HSMで検索されます。

152

Page 153: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

すべての新しいTDEマスター暗号化キーは、プライマリ・キーストア(この場合はソフトウェア・キーストア)に作成されます。

親トピック: ソフトウェア・パスワード・キーストアとハードウェア・キーストア間の移行

キーストアとOracle Key Vault間の移行Oracle Key Vaultを使用して、ソフトウェアおよびハードウェアの両方のキーストアをOracle KeyVault間で移行できます。

これにより、キーストアを集中管理し、必要に応じて、企業内の他のTDE対応データベースとキーストアを共有できます。

Oracle Key Vaultでは、仮想ウォレットと呼ばれるコンテナにキーストアをアップロードし、前にアップロードしたOracleキーストアの内容から新しい仮想ウォレットを作成できます。たとえば、5つのキーを格納するキーストアを前にアップロードしたとします。これらのキーの3つのみで構成される新しい仮想ウォレットを作成できます。次に、このキーストアを別のTDE対応データベースにダウンロードできます。このプロセスでは、元のキーストアは変更されません。

Oracle Key Vaultでは、Oracleキーストアに加えて、資格証明ファイルやJavaキーストアなどの他のセキュリティ・オブジェクトを企業全体で安全に共有できます。これにより、パスワードを忘れたり、キーストアを間違って削除したことによるキーおよびキーストアの紛失を防ぐことができます。Oracle Key Vaultは、TDE以外の製品、Oracle Real Application Security、Oracle Active DataGuardおよびOracle GoldenGateとともに使用できます。Oracle Key Vaultでは、暗号化されたデータをOracle Data PumpおよびOracle Transportable Tablespacesを使用して簡単に移動できます。

関連項目

Oracle Key Vault管理者ガイド

親トピック: キーストアの管理

自動ストレージ管理のためのキーストアの構成自動ストレージ管理(ASM)ディスク・グループにソフトウェア・キーストアを格納できます。

自動ストレージ管理のためのキーストアの構成についてスタンドアロン・データベースまたはマルチテナント環境の自動ストレージ管理(ASM)用のキーストアを構成できます。WALLET_ROOTの場所は、Oracle Managed File (OMF)システムに準拠させることも、準拠させないこともできます。

スタンドアロン・データベースのキーストアがASMの場所を指すように構成するスタンドアロン・データベース・システムでは、ASMの場所を指すようにWALLET_ROOTパラメータを設定できます。

153

Page 154: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

マルチテナント環境のキーストアがASMの場所を指すように構成するCDBルートのTDEキーストア(統一モードのすべてのPDBが共有)および分離モードのすべてのPDBのTDEキーストアが配置されているASMディレクトリを指すようにWALLET_ROOTを設定できます。

WALLET_ROOTの場所がOMFガイドラインに準拠していない場合に、キーストアがASMの場所を指すように構成する選択したWALLET_ROOTの場所がOracle Managed File (OMF)のガイドラインに準拠していない場合、Oracleデータベースはディレクトリ作成の自動化を実行できません。

親トピック: キーストアの管理

自動ストレージ管理のためのキーストアの構成について

スタンドアロン・データベースまたはマルチテナント環境の自動ストレージ管理(ASM)用のキーストアを構成できます。WALLET_ROOTの場所は、Oracle Managed File (OMF)システムに準拠させることも、準拠させないこともできます。

WALLET_ROOTおよびTDE_CONFIGURATION初期化パラメータを使用して、ASMシステムにキーストアの場所を構成する必要があります。WALLET_ROOTパラメータを有効にするには、TDE_CONFIGURATIONパラメータに属性KEYSTORE_CONFIGURATION=FILEを設定する必要があります。Oracle Databaseリリース19c以上では、WALLET_ROOTおよびTDE_CONFIGURATIONが優先されるため、sqlnet.oraファイルに設定されているENCRYPTION_WALLET_LOCATIONは非推奨になりました。

構成を実行するには、+記号、およびその後ろにASMディスク・グループ、キーストアを配置するパスを続けた文字列を指定する必要があります。例:

WALLET_ROOT=+disk_group/path

次の点に注意してください。

スタンドアロン環境、マルチテナント環境、あるいはWALLET_ROOTの場所がOracle ManagedFile (OMF)のディレクトリ命名規則に準拠する環境または準拠しない環境のデータベースのWALLET_ROOTのパスを指定する場合、TDEキーストアの場所のディレクトリ・コンポーネントの作成をデータベースが自動化できるように、このパスが特定の規則に従っている必要があります。それ以外の場合は、WALLET_ROOTの場所にディレクトリを手動で作成する必要があります。通常のファイル・システムとASMファイル・システムの間でソフトウェア・キーストアを移動またはマージする必要がある場合は、ソフトウェア・キーストアのマージに使用するものと同じキーストア・マージ文を使用できます。

コピー

154

Page 155: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ASM環境でキーストアを管理するコマンドを実行するには、ASMCMDユーティリティを使用できます。

関連項目

ソフトウェア・キーストアのマージ

ステップ1: ソフトウェア・キーストアの場所とタイプの構成

Oracle Automatic Storage Management管理者ガイド

親トピック: 自動ストレージ管理のためのキーストアの構成

スタンドアロン・データベースのキーストアがASMの場所を指すように構成するスタンドアロン・データベース・システムでは、WALLET_ROOTパラメータがASMの場所を指すように設定できます。

1. TDE_CONFIGURATION動的初期化パラメータのKEYSTORE_CONFIGURATION属性がFILEに設定されていることを確認します。たとえば、SQL*Plusでは次のようにします。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";

2. init.oraファイルで、WALLET_ROOT静的初期化パラメータにASMディスク・グループの場所を設定します。オプションで、OMF (大文字)を含めてOracle Managed File (OMF)準拠とし、ディレクトリ作成を自動化できるようにします。例:

WALLET_ROOT=+disk_group_name/OMF

この設定は、スタンドアロン・データベース・システムのTDEキーストアをWALLET_ROOT/tdeディレクトリ(つまり、+disk_group_name/OMF/tde。このパスのtdeコンポーネントはデータベース・サーバーによって自動的に作成されます)に配置します。

親トピック: 自動ストレージ管理のためのキーストアの構成

マルチテナント環境のキーストアがASMの場所を指すように構成するWALLET_ROOTを設定して、CDBルートのTDEキーストア(統一モードのすべてのPDBが共有)およ

コピー

コピー

155

Page 156: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

び分離モードのすべてのPDBのTDEキーストアが配置されているASMディレクトリを指すようにできます。

1. TDE_CONFIGURATION動的初期化パラメータのKEYSTORE_CONFIGURATION属性がFILEに設定されていることを確認します。CDBの場合はCDBルートでTDE_CONFIGURATIONを設定し、PDBの場合はPDBで設定します。たとえば、SQL*Plusでは次のようにします。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";

2. WALLET_ROOT静的初期化パラメータにASMディスク・グループの場所、およびその後ろにDB_UNIQUE_NAME初期化パラメータの値を続けた文字列を指定します。データベース・サーバーがこの場所に必要なディレクトリの作成を自動化できるようにするために、DB_UNIQUE_NAMEの値を含める必要があります。OMFをWALLET_ROOTの場所のディレクトリ・コンポーネントとして使用しないでください(スタンドアロン・データベースの構成セクションとは異なります)。例:

WALLET_ROOT=+disk_group_name/db_unique_name

この設定は、ルートおよび統一モードのすべてのPDBで使用されるTDEウォレットをWALLET_ROOT/db_unique_name/tdeディレクトリ(つまり、+disk_group_name/db_unique_name/tde)に配置します。

この設定は、分離モードの各PDBで使用されるTDEウォレットをWALLET_ROOT/db_unique_name/PDB_GUID/tdeディレクトリ(つまり、+disk_group_name/db_unique_name/PDB_GUID/tde)に配置します。

親トピック: 自動ストレージ管理のためのキーストアの構成

WALLET_ROOTの場所がOMFガイドラインに準拠していない場合に、キーストアがASMの場所を指すように構成する選択したWALLET_ROOTの場所がOracle Managed File (OMF)のガイドラインに準拠していない場合、Oracleデータベースはディレクトリ作成の自動化を実行できません。

この場合、ALTER DISKGROUPコマンドを使用して、WALLET_ROOTの場所に必要なディレクトリを手動で作成する必要があります。WALLET_ROOTパラメータがOMF準拠の値を使用していない場合、ディレクトリ作成を自動化できないため、ALTER DISKGROUP ... ADD DIRECTORY 文を使

コピー

コピー

156

Page 157: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

用して必要なディレクトリを手動で作成する必要があります。

1. TDE_CONFIGURATION動的初期化パラメータのKEYSTORE_CONFIGURATION属性がFILEに設定されていることを確認します。たとえば、SQL*Plusでは次のようにします。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";

2. init.oraファイルで、WALLET_ROOT静的初期化パラメータにASMディスク・グループの場所を設定します。たとえば、disk_group_nameの後の次のパスには、大文字のOMFディレクトリ要素が含まれていません。

WALLET_ROOT="+disk_group_name/mydir/wallets"

3. SYSASM管理権限を使用して、データベース・インスタンスに接続します。

connect / as sysasm

4. ALTER DISKGROUP文を実行して必要なディレクトリを作成します。WALLET_ROOTに選択した場所がOracle Managed Filesのガイドラインに準拠していないため(つまり、OMFコンポーネントが大文字で含まれていないため)、データベース・サーバーがこれらのディレクトリの作成を自動化できないので、このステップを実行する必要があります。

例:

ALTER DISKGROUP "disk_group_name" ADD DIRECTORY

'+disk_group_name/mydir/wallets/tde';

マルチテナント環境の場合は、キーストアを格納するPDBのPDB GUIDを次のように検索します。

SELECT GUID FROM DBA_PDBS WHERE PDB_NAME = 'pdb name';

コピー

コピー

コピー

コピー

コピー

157

Page 158: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次に、次のALTER DISKGROUP文にPDB GUIDを含めて、分離モードのPDBに必要なディレクトリをWALLET_ROOTの場所に作成します。たとえば、GUIDが4756C705E52A8768E053F82DC40A5329であるとします。

ALTER DISKGROUP "disk_group_name" ADD DIRECTORY

'+disk_group_name/mydir/wallets/4756C705E52A8768E053F82DC40A5329'

ALTER DISKGROUP "disk_group_name" ADD DIRECTORY

'+disk_group_name/mydir/wallets/4756C705E52A8768E053F82DC40A5329/

tde';

親トピック: 自動ストレージ管理のためのキーストアの構成

キーストアを閉じるソフトウェアおよびハードウェア・キーストアは手動で閉じることができます。

キーストアを閉じることについてキーストアを開いた後は、データベース・インスタンスを終了するまで開いたままになります。

ソフトウェア・キーストアを閉じるパスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを手動で閉じることができます。

ハードウェア・キーストアを閉じるハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を含むADMINISTERKEY MANAGEMENT文を使用する必要があります。

親トピック: キーストアの管理

キーストアを閉じることについて

キーストアを開いた後は、データベース・インスタンスを終了するまで開いたままになります。

コピー

158

Page 159: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データベース・インスタンスを再起動すると、必要に応じて(TDEマスター暗号化キーにアクセスする必要がある場合)自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアが自動的に開きます。ただし、パスワードベースのソフトウェア・キーストアおよびハードウェア・キーストアは、自動的に開きません。使用する前には手動で再度開く必要があります。

ソフトウェア・キーストアまたはハードウェア・キーストアを閉じると、データベースのすべての暗号化操作と復号化操作が無効になります。したがって、データベース・ユーザーやアプリケーションは、キーストアが再度開くまで、暗号化データに関係する操作を実行できません。

キーストアを閉じた後に再度開くと、キーストアの内容がデータベースにリロードされます。したがって、内容が変更されると(移行中など)、データベースには最新のキーストアの内容が格納されます。

キーストアが閉じているかどうかは、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せることによって確認できます。

キーストアにアクセスできない場合、次のデータ操作は失敗します。

暗号化列からのデータの選択(SELECT)

暗号化列に対するデータの挿入(INSERT)

暗号化列による表の作成(CREATE)

暗号化された表領域の作成(CREATE)

親トピック: キーストアを閉じる

ソフトウェア・キーストアを閉じる

パスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを手動で閉じることができます。

アクセス時に自動的に開かれる自動ログイン・キーストアの場合、それを新しいロケーションに移動した場合に手動で閉じる必要があります。構成を自動ログイン・キーストアからパスワードベースのキーストアに変更する場合、これを行います(自動ログイン・キーストアは移動してから閉じます)。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

コピー

159

Page 160: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. ADMINISTER KEY MANAGEMENT SQL文を実行します。

パスワードベースのソフトウェア・キーストアの場合、次の構文を使用します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

[IDENTIFIED BY [EXTERNAL STORE |

software_keystore_password]];

ここでは次のように指定します。IDENTIFIED BYは次のいずれかにできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。software_keystore_passwordは、キーストアを作成したユーザーのパスワードです。

自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの場合、次のSQL文を使用します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;

この文ではパスワードを指定する必要はありません。

キーストアを閉じると、暗号化および復号化のすべての操作が無効化されます。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。

親トピック: キーストアを閉じる

ハードウェア・キーストアを閉じるハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を含むADMINISTER KEYMANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

コピー

コピー

160

Page 161: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. この構文を使用して、ハードウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY [EXTERNAL STORE |

"hardware_keystore_credentials"];

ここでは次のように指定します。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password";

親トピック: キーストアを閉じる

暗号化されたデータのバックアップおよびリカバリソフトウェア・キーストアの場合、TDEマスター暗号化キーがないと暗号化されたデータにアクセスできません。

TDEマスター暗号化キーはキーストアに格納されるため、ソフトウェア・キーストアを安全な場

コピー

コピー

コピー

161

Page 162: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

所に定期的にバックアップすることをお薦めします。新しい マスター暗号化キーを設定するか、キーストアへの書込みを行う操作を実行するたびに、キーストアのバックアップ・コピーを作成する必要があります。

ソフトウェア・キーストアを暗号化データと同じ場所にバックアップしないでください。ソフトウェア・キーストアは別にバックアップします。自動ログイン・キーストアを使用している場合は、開くときにパスワードが要求されないため、特に注意してください。バックアップ・テープの紛失に備えて、悪意のあるユーザーが暗号化データとキーストアの両方を取得できないようにすることが大切です。

Oracle Recovery Manager (Oracle RMAN)によるデータベース・バックアップでは、ソフトウェア・キーストアはバックアップされません。Oracle Secure Backupなどのメディア・マネージャをOracleRMANと併用している場合は、Oracle Secure Backupによって、自動オープン・キーストア(cwallet.ssoファイル)がバックアップ対象から自動的に除外されます。ただし、暗号化キーストア(ewallet.p12ファイル)が自動的に除外されることはありません。次のexcludeデータ・セット文をOracle Secure Backup構成に追加することをお薦めします。

exclude name *.p12

この設定は、暗号化キーストアをバックアップ・セットから除外するようにOracle SecureBackupに指定します。

TDEマスター暗号化キーを格納しているソフトウェア・キーストアを喪失した場合は、キーストアのバックアップを適切な場所にコピーすることで、暗号化データへのアクセスをリストアできます。TDEマスター暗号化キーを最後に再設定した後に、リストアしたキーストアをアーカイブした場合、追加アクションは必要はありません。

リストアしたソフトウェア・キーストアに最新のTDEマスター暗号化キーが含まれていない場合、データベースの状態をTDEマスター暗号化キーが再設定された時点までロールバックすることで、その時点までの古いデータをリカバリできます。TDEマスター暗号化キーの再設定後に暗号化列に対して行われた変更はすべて失われます。

関連項目

『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

親トピック: キーストアの管理

キーストアを削除することの危険性キーストアを削除しないようにすることをお薦めします。

コピー

TDE

162

Page 163: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストアが一杯になりすぎた場合は、現在アクティブなTDEマスター暗号化キー以外のTDEマスター暗号化キーを新しいキーストアに移動してそのキーストア全体のサイズを小さくできますが、この新しいキーストアのバックアップを保持することが重要です。これは、現在アクティブなキーストアからキーが移動されたにもかかわらず他のOracle機能(Oracle Recovery Managerバックアップの操作など)で引き続きそれらが必要となる可能性があるためです。(キーストアの削除によって影響を受ける機能のリストについては、このトピックの最後にある「関連項目」を参照)。

透過的データ暗号化を構成してある場合に、使用中の、まだキーが含まれているキーストアを削除することは特に危険です。キーストアが使用中かどうかは、キーストアを開いた後にV$ENCRYPTION_WALLETビューのSTATUS列を問い合せることで確認できます。以降に行う必要がある手順は、統一モードと分離モードのどちらを使用しているかで異なります。

分離モードでは、V$ENCRYPTION_WALLETのSTATUS列がOPEN_NO_MASTER_KEYの場合は、このキーストアは、キーを含んでいないため、アーカイブしておき後で削除したほうが安全です。統一モードでは、PDBではなくCDB$ROOTからV$ENCRYPTION_WALLETの問合せを実行する必要があります。まだキーが設定されていないPDBでその問合せを実行すると、STATUSがOPEN_NO_MASTER_KEYになります。ただし、キーがCDB$ROOTで設定されている場合があり、その場合は誤解を招く可能性があります。ルートでその問合せを実行した後にSTATUSがOPEN_NO_MASTER_KEYである場合は、キーストアをアーカイブし後で安全に削除できます。

現在アクティブなTDEキーストアからキーを移動する場合に注意する必要があるというのは、このキーストアに、データベースによって引き続き必要となるキーが含まれている可能性があるためです(そのTDEマスター暗号化キーが更新されたにもかかわらず)。キーストアを削除するとそれらのキーが削除され、暗号化データが失われてしまう可能性があります。データベース内のすべてのデータを復号化した後でも、キーストアを削除しないでください。削除すると、Oracleデータベースが正常に機能しなくなる可能性があります。これは、キーストア内のTDEマスター暗号化キーが他のOracle Database機能にも必要になる可能性があるためです。(キーストアの削除によって影響を受ける機能のリストについては、このトピックの最後にある「関連項目」を参照)。

TDEキーストアの移行(それにより、現在アクティブなTDEマスター暗号化キーの場所をソフトウェア・キーストアとハードウェア・キーストアとの間で変更するなどの方法でキーが更新される)を実行した後でも、元のキーストアは削除しないでください。元のキーストアにあるキーは、後で必要になることがあります(たとえば、オフラインの暗号化された表領域をリカバリする必要がある場合)。すべてのオンライン表領域が暗号化されていない場合でも、キーが使用されている可能性があります。

ソフトウェア自動ログイン(またはローカル自動ログイン)・キーストアの場合は例外です。このタイプのキーストアを使用しない場合は、安全なディレクトリに移動するのが理想です。自動ログイン・キーストアは、必ず通常のソフトウェア・キーストアに基づいているため、それがパスワードベースの特定のキーストアから作成されたことが確かな場合にのみ削除するようにしてくだ

163

Page 164: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

さい。キーストアは、利用可能で既知である必要があります。

キーストアを削除する必要がある場合は、十分に注意してください。最初に、ADMINISTER KEYMANAGEMENT MOVE KEYS TO NEW KEYSTORE文を使用して、新しいキーストアにキーストア内のキーを移動する必要があります。

関連項目

キーストアの削除によって影響を受ける機能

新しいキーストアへのTDEマスター暗号化キーの移動

統一モードでの新しいキーストアへのTDEマスター暗号化キーの移動

分離モードでの新しいキーストアへのTDEマスター暗号化キーの移動

親トピック: キーストアの管理

キーストアの削除によって影響を受ける機能一部の機能は、キーストアの削除後にそのキーストアに存在するTDEマスター暗号化キーが必要になった場合には、問題が発生する可能性があります。

キーストアを削除する前に、それによって、後でそのTDEキーストア内のTDEマスター暗号化キーが必要になった場合にどのような影響があるかを考えてください。次の機能およびアクティビティが影響を受けます。

オフラインになっている表領域の操作

Oracle Secure Backupの操作

メディア・リカバリおよびブロック・メディア・リカバリの操作

Point-in-Timeリカバリの操作

Oracle Data Guardのフィジカルおよびロジカル・スタンバイの操作

Golden Gateの操作

Oracle Streamsの操作

Oracle Recovery Managerの操作(Oracle Recovery Managerバックアップのリストアなど)

データベース・クラッシュ・リカバリ操作中のデータベースへのアーカイブREDOログの適用データベースのオンライン・ブロック・リカバリ。(オンライン・ブロック・リカバリを実行するということは、データベースがまだオープン状態であるということです。暗号化された表領域があるオープン状態のデータベース内のウォレットを削除すると、オンライン・ブロック・リカバリに関連する問題の他にさらに問題が発生します)。このような問題としては、次のことが考えられます。

164

Page 165: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化された表領域内の暗号化されたオンライン・データが復号化されなくなります。SYSTEM、UNDOおよびTEMP表領域内の暗号化されたメタデータが復号化されなくなります。暗号化するメタデータ、またはそのメタデータを格納できる場所を制御できなくなります。バッファ済のデータまたはメタデータは、ディスクに書き込む前に暗号化する必要がありますが、ウォレットが削除されると暗号化されなくなります。これによって、REDO生成が失敗する可能性があり、DBWRバックグラウンド・プロセスでデータの書込みができなくなることで、データベース・インスタンスがハングまたはクラッシュする可能性があります。データベース・インスタンスがクラッシュすると、データベース・インスタンス・リカバリおよびデータベース・クラッシュ・リカバリが失敗し、データベースを再起動できなくなります。

関連項目

キーストアを削除することの危険性

親トピック: キーストアの管理

TDEマスター暗号化キーの管理TDEマスター暗号化キーは、いくつかの方法で管理できます。

ユーザー定義のTDEマスター暗号化キーの作成TDEマスター暗号化キーIDを生成して、データベースの外部でユーザー定義のTDEマスター暗号化キーを作成できます。

後で使用するためのTDEマスター暗号化キーの作成後でアクティブ化するTDEマスター暗号化キーを作成することができます。

TDEマスター暗号化キーのアクティブ化TDEマスター暗号化キーは、アクティブ化すると使用できます。

TDEマスター暗号化キーの属性管理TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての情報が保存されます。

レポート用のTDEマスター暗号化キーのカスタム属性の作成TDEマスター暗号化キーのカスタム属性では、ニーズに適した属性を定義できます。

キーストアのTDEマスター暗号化キーの設定またはキー更新ソフトウェア・キーストアとハードウェア・キーストアの両方で、TDEマスター暗号化キーを設定またはキー更新できます。

165

Page 166: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TDEマスター暗号化キーのエクスポートおよびインポートTDEマスター暗号化キーを様々な方法でエクスポートおよびインポートできます。

新しいキーストアへのTDEマスター暗号化キーの移動既存のTDEマスター暗号化キーを、パスワードで保護された既存のキーストアから新しいキーストアに移動できます。

Oracle Key Vaultを使用したTDEマスター暗号化キーの管理Oracle Key Vaultを使用して、企業全体でTDEマスター暗号化キーを管理および共有できます。

親トピック: キーストアおよびマスター 暗号化キーの管理

ユーザー定義のTDEマスター暗号化キーの作成TDEマスター暗号化キーIDを生成して、データベースの外部でユーザー定義のTDEマスター暗号化キーを作成できます。

ユーザー定義のTDEマスター暗号化キーについてデータベースの外部にあるTDEマスター暗号化キーには、TDEマスター暗号化キーの使用を追跡するための固有のユーザー生成IDがあります。

ユーザー定義のTDEマスター暗号化キーの作成ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

親トピック: TDEマスター暗号化キーの管理

ユーザー定義のTDEマスター暗号化キーについて

データベースの外部にあるTDEマスター暗号化キーには、TDEマスター暗号化キーの使用を追跡するための固有のユーザー生成IDがあります。

ADMINISTER KEY MANAGEMENTを使用して、ユーザー定義のTDEマスター暗号化キーIDを作成および設定できます。TDEマスター暗号化キーを生成した後で、このキーをデータベースに格納できます。オプションで、様々なADMINISTER KEY MANAGEMENT文でTDEマスター暗号化キーIDを指定できます。

このタイプの構成を使用すると、サイトの要件に準拠するTDEマスター暗号化キーを生成できるため、Oracle Fusion SaaS Cloud環境で役立ちます。生成されるこのキーは、最新の暗号化アルゴリズムをサポートしており、ソフトウェア・キーストアのために使用できます。

TDEマスター暗号化キーIDを生成した後で、通常の方法でデータを暗号化できます。

TDEマスター暗号化キーとそれに対応するIDは、監査ログによって取得されません。

166

Page 167: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: ユーザー定義のTDEマスター暗号化キーの作成

ユーザー定義のTDEマスター暗号化キーの作成ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、ユーザー定義のTDEマスター暗号化キーを作成します。

ADMINISTER KEY MANAGEMENT SET | CREATE [ENCRYPTION] KEY

'[mkid:mk | mk]'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。

SET | CREATE: マスターを作成し、TDEマスター暗号化キーを今すぐアクティブ化する場合は、SETを入力します。後で使用するためにキーを作成し、まだアクティブ化しない場合は、CREATEを選択します。

mkidおよびmk:

mkidは、TDEマスター暗号化キーIDであり、16バイトの16進数エンコード値です。ユーザーが指定するか、Oracle Databaseに生成させることができます。mkは、TDEマスター暗号化キーであり、32バイト(AES256、ARIA256およびGOST256アルゴリズムの場合)または16バイト(SEED128アルゴリズムの場合)のいずれかの16進数エンコード値です。ユーザーが指定するか、OracleDatabaseに生成させることができます。

mkid:mk|mkid句を省略したが、mk値を含めた場合、Oracle Databaseはmkのmkidを生

コピー

コピー

167

Page 168: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

成します。mkid:mk|mkid句全体を省略した場合、Oracle Databaseはこれらの値を生成します。

USING ALGORITHM: サポートされている次のアルゴリズムのいずれかを指定します。

AES256

ARIA256

SEED128

GOST256

アルゴリズムを省略した場合は、デフォルトのAES256が使用されます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。

次の例では、データベース管理者がその操作を実行したときに、キーIDなしでTDEマスター暗号化キーが作成されます。

まず、OpenSSLを使用してTDEマスター暗号化キーを生成します。

$ openssl rand 32 -hex

f24ce8cdae39742b5da7293da206fbd05a28b1e44c4781f801768cfdc3dbb6e2

このキーは次のADMINISTER KEY MANAGEMENT文で使用されます。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

'f24ce8cdae39742b5da7293da206fbd05a28b1e44c4781f801768cfdc3dbb6e2'

USING ALGORITHM 'GOST256'

FORCE KEYSTORE

IDENTIFIED BY keystore_password;

次の例では、マスター暗号化IDおよびTDEマスター暗号化キーの両方のためにユーザー定義のキーが作成されます。アルゴリズムの指定が省略されているため、デフォルトのアルゴリズムAES256が使用されます。

ADMINISTER KEY MANAGEMENT CREATE ENCRYPTION KEY

'10203040506070801112131415161718:3D432109DF88967A541967062A6F4E

コピー

コピー

コピー

168

Page 169: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

460E892318E307F017BA048707B402493C'

IDENTIFIED BY keystore_password;

次のシナリオでは、TDEマスター暗号化キーとキーIDがデータベースの外部で生成され、職責の分離をサポートする方法を示します。キー管理者は、ADMINISTER KEY MANAGEMENTCREATE [ENCRYPTION] KEY文を使用して、key_IDのキーをウォレットに挿入します。次に、キー管理者がデータベース管理者にkey_IDを送信します。データベース管理者は、ADMINISTER KEY MANAGEMENT USE KEY句を使用して、キーをアクティブ化します。

a. OpenSSLを使用して、文字を大文字に変換したキーIDを作成します。

$ openssl rand 16 | xxd -u -p

D20765EB721AF44D054B30FE87F8E49A

b. TDEマスター暗号化キーを作成します。

$ openssl rand 32 -hex

5a089c8ea6ee21cba774f61e58d102665df4a979a34757836b3d066a3eb3

db11

c. 両方の文字列を使用し、デフォルトのAES256を使用して、新しいTDEマスター暗号化キーをウォレットに挿入します。

ADMINISTER KEY MANAGEMENT CREATE ENCRYPTION KEY

'D20765EB721AF44D054B30FE87F8E49A:5a089c8ea6ee21cba774f61e58

d102665df4a979a34757836b3d066a3eb3db11'

IDENTIFIED BY keystore_password;

d. データベースはkey_IDをBASE64形式で内部的に格納するため、キー管理者は次の構文を使用してHEXのkey_IDをBASE64のキーIDに変換する必要があります。

$ echo "01hex key_ID followed by 44 zeros" | xxd -r -p |

base64"

例:

コピー

コピー

コピー

コピー

169

Page 170: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

$ echo "01D20765EB721AF44D054B30FE87F8E49A000000000000000000

00000000000000000000000000"

e. キー管理者がkey_IDをデータベース管理者に送信し、データベース管理者が次の文を実行します。

ADMINISTER KEY MANAGEMENT USE ENCRYPTION KEY

'AdIHZetyGvRNBUsw/of45JoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

IDENTIFIED BY keystore_password;

データベース管理者は、次のSELECT文を使用して、BASE64のキーIDをデータベースから取得できます。

SELECT ' ADMINISTER KEY MANAGEMENT USE KEY '''||KEY_ID||'''

FORCE KEYSTORE IDENTIFIED BY KEYSTORE_PASSWORD WITH BACKUP;'

AS "USE KEY COMMAND" FROM V$ENCRYPTION_KEYS

WHERE CREATOR_PDBNAME = SYS_CONTEXT('USERENV', 'CON_NAME')

ORDER BY CREATION_TIME DESC FETCH FIRST 1 ROWS ONLY;

関連項目

サポートされる暗号化と整合性のアルゴリズム

親トピック: ユーザー定義のTDEマスター暗号化キーの作成

後で使用するためのTDEマスター暗号化キーの作成後でアクティブ化するTDEマスター暗号化キーを作成することができます。

後で使用するためのTDEマスター暗号化キーの作成についてADMINISTER KEY MANAGEMENT文のCREATE KEY句によって、後でアクティブ化できるTDEマスター暗号化キーを作成できます。

後で使用するためのTDEマスター暗号化キーの作成後で使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。

コピー

コピー

コピー

170

Page 171: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 1つのデータベースでのTDEマスター暗号化キーの作成ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG文を使用して、1つのデータベースにTDEマスター暗号化キーを作成できます。

親トピック: TDEマスター暗号化キーの管理

後で使用するためのTDEマスター暗号化キーの作成についてADMINISTER KEY MANAGEMENT文のCREATE KEY句によって、後でアクティブ化できるTDEマスター暗号化キーを作成できます。

その後、そのキーを同じデータベースでアクティブ化したり、別のデータベースにエクスポートしてそこでアクティブ化できます。

このTDEマスター暗号化キーの作成方法は、マルチテナント環境でTDEマスター暗号化キーを再作成する必要がある場合に便利です。CREATE KEY句では、単一のSQL文を使用して、マルチテナント環境内のすべてのPDBに新しいTDEマスター暗号化キーを作成できます。新しいTDEマスター暗号化キーの作成時間は、現在使用中のTDEマスター暗号化キーをアクティブ化するよりも遅くなります。そのため、最新の作成済TDEマスター暗号化キーをできるだけ早くアクティブ化するようにすべてのPDBに注意を喚起するために、この作成時間を使用できます。

親トピック: 後で使用するためのTDEマスター暗号化キーの作成

後で使用するためのTDEマスター暗号化キーの作成

後で使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. この構文を使用して、TDEマスター暗号化キーを作成します。

ADMINISTER KEY MANAGEMENT CREATE KEY [USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

コピー

コピー

171

Page 172: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は一重引用符(' ')で囲みます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、元のキーストア作成時に使用した必須のキーストア・パスワードです。大文字と小文字が区別されます。

WITH BACKUPは、キーと同じ場所(V$ENCRYPTION_WALLETビューのWRL_PARAMETER列で識別されます)にTDEマスター暗号化キーをバックアップします。すべてのデータベース・インスタンスのキーの場所を確認するには、GV$ENCRYPTION_WALLETビューを問い合せます。

パスワードベースのソフトウェア・キーストアをバックアップする必要があります。自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアをバックアップする必要はありません。オプションで、USINGbackup_identifier句を含めることで、バックアップの説明を追加できます。backup_identifierは、一重引用符(' ')で囲みます。

3. 必要に応じて、TDEマスター暗号化キーをアクティブ化します。

a. キーIDを確認します。

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

b. このキーIDを使用して、キーをアクティブ化します。

ADMINISTER KEY MANAGEMENT USE KEY

'AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

コピー

コピー

172

Page 173: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

USING TAG 'quarter:second;description:Activate Key on

standby'

IDENTIFIED BY password

WITH BACKUP;

関連項目

ステップ3: ソフトウェア・キーストアを開く

ハードウェア・キーストアを開く

TDEマスター暗号化キーのアクティブ化

親トピック: 後で使用するためのTDEマスター暗号化キーの作成

例: 1つのデータベースでのTDEマスター暗号化キーの作成ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG文を使用して、1つのデータベースにTDEマスター暗号化キーを作成できます。

例4-2に、1つのデータベースにTDEマスター暗号化キーを作成する方法を示します。この文を実行すると、タグ定義で指定したTDEマスター暗号化キーが、そのデータベースのキーストアに作成されます。新しく作成したキーの識別子については、V$ENCRYPTION_KEYSビューのTAG列を問い合せることができます。最も最近作成されたキー(この文で作成したキー)を確認するには、CREATION_TIME列を問い合せます。このキーは、必要に応じて別のデータベースにエクスポートすることや、「TDEマスター暗号化キーのアクティブ化」の説明に従って後からローカルでアクティブ化することができます。

例4-2 1つのデータベースでのTDEマスター暗号化キーの作成

ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG

'source:admin@source;target:db1@target'

IDENTIFIED BY password WITH BACKUP;

keystore altered.

親トピック: 後で使用するためのTDEマスター暗号化キーの作成

TDEマスター暗号化キーのアクティブ化TDEマスター暗号化キーはアクティブ化すると、使用できます。

TDEマスター暗号化キーのアクティブ化について

コピー

173

Page 174: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINSTER KEY MANAGEMENTのUSE KEY句を使用することで、以前に作成済またはインポート済のTDEマスター暗号化キーをアクティブ化できます。

TDEマスター暗号化キーのアクティブ化TDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

例: TDEマスター暗号化キーのアクティブ化ADMINISTER KEY MANAGEMENT SQL文を使用して、TDEマスター暗号化キーをアクティブ化できます。

親トピック: TDEマスター暗号化キーの管理

TDEマスター暗号化キーのアクティブ化についてADMINSTER KEY MANAGEMENTのUSE KEY句を使用することで、以前に作成済またはインポート済のTDEマスター暗号化キーをアクティブ化できます。

キーをアクティブ化すると、使用できるようになります。キーを使用して、すべての列のキーとすべての表領域暗号化キーを保護できます。ロジカル・スタンバイ・データベースをデプロイしている場合、TDEマスター暗号化キーを再作成後にエクスポートしてから、スタンバイ・データベースにインポートする必要があります。プライマリ・データベースとスタンバイ・データベースの両方でTDEマスター暗号化キーを使用するように選択できます。これを行うには、TDEマスター暗号化キーを、ロジカル・スタンバイ・データベースへのインポート後にアクティブ化する必要があります。

親トピック: TDEマスター暗号化キーのアクティブ化

TDEマスター暗号化キーのアクティブ化TDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて、キーの識別子を確認します。

コピー

174

Page 175: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. このキー識別子を使用して、次の構文を使用してTDEマスター暗号化キーをアクティブ化します。

ADMINISTER KEY MANAGEMENT USE KEY

'key_identifier_from_V$ENCRYPTION_KEYS'

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。key_identifier_from_V$ENCRYPTION_KEYSはキー識別子です。この設定は、一重引用符(' ')で囲みます。

tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、元のキーストア作成時に使用した必須のキーストア・パスワードです。

WITH BACKUPは、キーと同じ場所(V$ENCRYPTION_WALLETビューのWRL_PARAMETER列で識別されます)にTDEマスター暗号化キーをバックアップします。すべてのデータベース・インスタンスのキーの場所を確認するに

コピー

コピー

175

Page 176: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は、GV$ENCRYPTION_WALLETビューを問い合せます。

パスワードベースのソフトウェア・キーストアをバックアップする必要があります。自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアをバックアップする必要はありません。オプションで、USINGbackup_identifier句を含めることで、バックアップの説明を追加できます。backup_identifierは、一重引用符(' ')で囲みます。

関連項目

ソフトウェア・キーストアを開く

ハードウェア・キーストアを開く

親トピック: TDEマスター暗号化キーのアクティブ化

例: TDEマスター暗号化キーのアクティブ化ADMINISTER KEY MANAGEMENT SQL文を使用して、TDEマスター暗号化キーをアクティブ化できます。

例4-3に、以前にインポート済のTDEマスター暗号化キーをアクティブ化してそのタグを更新する方法を示します。このキーは、現在のデータベースのタイムスタンプとタイムゾーンでアクティブ化されます。

例4-3 TDEマスター暗号化キーのアクティブ化

ADMINISTER KEY MANAGEMENT USE KEY

'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

USING TAG 'quarter:second;description:Activate Key on standby'

IDENTIFIED BY password WITH BACKUP;

keystore altered.

次の同じ操作のバージョンでは、自動ログイン・キーストアが使用されているか、キーストアが閉じている場合に、FORCE KEYSTORE句が追加されます。キーストアのパスワードが外部に格納されるため、IDENTIFIED BY句にEXTERNAL STORE設定が使用されます。

ADMINISTER KEY MANAGEMENT USE KEY

'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

USING TAG 'quarter:second;description:Activate Key on standby'

FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE WITH BACKUP;

コピー

コピー

176

Page 177: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

親トピック: TDEマスター暗号化キーのアクティブ化

TDEマスター暗号化キーの属性管理TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての情報が保存されます。

TDEマスター暗号化キーの属性TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての詳細情報が含まれます。

使用中のTDEマスター暗号化キーの検出使用中のTDEマスター暗号化キーは、データベースで最も最近アクティブ化された暗号化キーです。

親トピック: TDEマスター暗号化キーの管理

TDEマスター暗号化キーの属性TDEマスター暗号化キーの属性には、TDEマスター暗号化キーについての詳細情報が含まれます。

次のタイプの情報が含まれます。

キーのタイムスタンプ情報:通常、内部セキュリティ・ポリシーおよびコンプライアンス・ポリシーによって、キーのキー更新頻度が決まります。ライフタイムの終わりに達したらキーを期限切れにして、新しいキーを生成する必要があります。キーの作成時間やアクティブ化時間などのタイムスタンプ属性は、キーの古さを正確に判断してキーを自動生成するために役立ちます。V$ENCRYPTION_KEYSビューには、CREATION_TIMEやACTIVATION_TIMEなどの列が含まれます。V$ENCRYPTION_KEYSビューの詳細は、『Oracle Databaseリファレンス』を参照してください。キーの所有者情報: キーの所有者属性は、キーを作成またはアクティブ化したユーザーを判断するために役立ちます。これらの属性は、セキュリティ、監査、および追跡において重要な場合があります。また、キーの所有者属性には、キーがスタンドアロンTDE操作に使用されるか、マルチテナント環境で使用されるかといった、キーの使用情報が含まれます。V$ENCRYPTION_KEYSビューには、CREATOR、CREATOR_ID、USER、USER_ID、KEY_USEなどの列が含まれます。

キー・ソース情報: 多くの場合、キーは、インポート/エクスポート操作やData Guard関連の操作のためにデータベース間で移動する必要があります。キー・ソース属性によって、それぞれのキーの起点を追跡できます。キーがローカルで作成されたかインポートされたか、お

177

Page 178: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

よびキーを作成したデータベースのデータベース名とインスタンス番号を追跡できます。マルチテナント環境では、キーが作成されたPDBを追跡できます。V$ENCRYPTION_KEYSビューには、CREATOR_DBNAME、CREATOR_DBID、CREATOR_INSTANCE_NAME、CREATOR_INSTANCE_NUMBER、CREATOR_PDBNAMEなどの列が含まれます。

キーの使用情報: キーの使用情報によって、キーが使用されているデータベースまたはPDBが決まります。また、キーがアクティブに使用されているかどうかを判断するために役立ちます。V$ENCRYPTION_KEYSビューには、ACTIVATING_DBNAME、ACTIVATING_DBID、ACTIVATING_INSTANCE_NAME、ACTIVATING_PDBNAMEなどの列が含まれます。

ユーザー定義情報およびその他の情報: キーを作成するとき、TAGオプションを使用して情報を関連付けることができます。各キーには、バックアップされたかどうかなどの重要な情報が含まれます。V$ENCRYPTION_KEYSビューには、KEY_ID、TAGなどの列と、BACKED_UPなどのその他の列が含まれます。

ノート: TDEマスター・キー属性およびタグは、PKCS#11データ・オブジェクトをサポートするハードウェア・セキュリティ・モジュールでのみサポートされます。

親トピック: TDEマスター暗号化キーの属性管理

使用中のTDEマスター暗号化キーの検出

使用中のTDEマスター暗号化キーは、データベースで最も最近アクティブ化された暗号化キーです。

TDEマスター暗号化キーを検出するには、V$ENCRYPTION_KEYS動的ビューを問い合せます。例:

SELECT KEY_ID

FROM V$ENCRYPTION_KEYS

WHERE ACTIVATION_TIME = (SELECT MAX(ACTIVATION_TIME)

FROM V$ENCRYPTION_KEYS

WHERE ACTIVATING_DBID = (SELECT DBID

FROM V$DATABASE));

コピー

178

Page 179: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: TDEマスター暗号化キーの属性管理

レポート用のTDEマスター暗号化キーのカスタム属性の作成TDEマスター暗号化キーのカスタム属性では、ニーズに適した属性を定義できます。

カスタム属性タグの作成について属性タグにより、特定の端末IDへのアクセスなど、ユーザーが実行する特定のアクティビティを監視できます。

カスタム属性タグの作成カスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSET TAG句を使用する必要があります。

親トピック: TDEマスター暗号化キーの管理

カスタム属性タグの作成について

属性タグにより、特定の端末IDへのアクセスなど、ユーザーが実行する特定のアクティビティを監視できます。

デフォルトでは、Oracle Databaseには、作成時間やTDEマスター暗号化キーが使用されるデータベースなど、作成されるTDEマスター暗号化キーの様々な特性を説明する属性セットが定義されます。これらの属性は、V$ENCRYPTION_KEY動的ビューによって取得されます。

V$ENCRYPTION_KEYS動的ビューのTAG列で取得可能なカスタム属性を作成できます。これにより、暗号化キーを操作するユーザーなど、監視したい動作を定義できます。タグには、特定の端末のセッションIDなど、複数の属性を含めることができます。

TDEマスター暗号化キーのタグを作成すると、その名前がそのTDEマスター暗号化キーのV$ENCRYPTION_KEYSビューのTAG列に表示されます。シークレットのタグを作成すると、そのタグは、V$CLIENT_SECRETSビューのSECRET_TAG列に表示されます。タグでシークレットを作成した場合、そのタグはV$CLIENT_SECRETSビューのSECRET_TAG列に表示されます。

親トピック: レポート用のTDEマスター暗号化キーのカスタム属性の作成

カスタム属性タグの作成カスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSET TAG句を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

179

Page 180: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 必要に応じて、V$ENCRYPTION_KEY動的ビューのTAG列を問い合せて、TDEマスター暗号化キーの既存のタグのリストを確認します。TDEマスター暗号化キーの新しいタグを作成すると、そのTDEマスター暗号化キーの既存のタグは上書きされます。

3. 次の構文を使用して、カスタム属性タグを作成します。

ADMINISTER KEY MANAGEMENT SET TAG 'tag'

FOR 'master_key_identifier'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性または情報です。この情報は、一重引用符(' ')で囲みます。master_key_identifierは、tagが設定されるTDEマスター暗号化キーを識別します。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS動的ビューのKEY_ID列を問い合せます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、キーストアの作成に使用されたパスワードです。

backup_identifierは、タグの値を定義します。この設定は一重引用符(' ')で囲み、それぞれの値をコロンで区切ります。

たとえば、2つの値(1番目は特定のセッションID、2番目は特定の端末IDを取得)を使用するタグを作成するには、次のようにします。

コピー

コピー

180

Page 181: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

USING TAG 'sessionid=3205062574:terminal=xcvt'

IDENTIFIED BY keystore_password

WITH BACKUP;

keystore altered.

セッションID (3205062574)と端末ID (xcvt)はどちらも、SYS_CONTEXT関数でUSERENVネームスペースを使用するか、USERENV関数を使用することで、値を導出できます。

親トピック: レポート用のTDEマスター暗号化キーのカスタム属性の作成

キーストアのTDEマスター暗号化キーの設定またはキー更新ソフトウェア・キーストアとハードウェア・キーストアの両方で、TDEマスター暗号化キーを設定またはキー更新できます。

キーストアのTDEマスター暗号化キーの設定またはキー更新についてパスワードベースのソフトウェア・キーストアとハードウェア・キーストアの両方で、TDEマスター暗号化キーを設定およびキー更新できます。

TDEマスター暗号化キーの作成、タグ付けおよびバックアップADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーを作成、タグ付けおよびバックアップできます。

TDEマスター暗号化キーのキー更新についてOracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で統合されたTDEマスター暗号化キーが使用されます。

TDEマスター暗号化キーのキー更新ADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをキー更新できます。

表領域のTDEマスター暗号化キーの変更表領域を暗号化するには、ALTER TABLESPACE文のENCRYPT句およびREKEY句を使用できます。

親トピック: TDEマスター暗号化キーの管理

キーストアのTDEマスター暗号化キーの設定またはキー更新について

パスワードベースのソフトウェア・キーストアとハードウェア・キーストアの両方で、TDEマス

コピー

181

Page 182: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ター暗号化キーを設定またはキー更新できます。

TDEマスター暗号化キーは、外部セキュリティ・モジュール(キーストア)に格納され、TDE表キーおよび表領域暗号化キーの保護に使用されます。デフォルトでは、TDEマスター暗号化キーは、透過的データ暗号化(TDE)によって作成されるシステム生成のランダム値です。

TDEマスター暗号化キーを設定または再設定(REKEY)するには、ADMINISTER KEYMANAGEMENT文を使用します。マスター暗号化キーが設定されると、TDEは有効と見なされ、無効化できません。

データベースの列または表領域を暗号化または復号化するには、TDEマスター暗号化キーを事前に生成しておく必要があります。Oracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で同じTDEマスター暗号化キーが使用されます。ソフトウェアまたはハードウェアTDEマスター暗号化キーの設定手順では、TDEマスター暗号化キーの生成方法について説明します。

関連項目

ステップ4: ソフトウェア・キーストアのTDEマスター暗号化キーの設定

ステップ4: ハードウェア・キーストアのTDEマスター暗号化キーの設定

親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新

TDEマスター暗号化キーの作成、タグ付けおよびバックアップADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーを作成、タグ付けおよびバックアップできます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、TDEマスター暗号化キーを作成およびバックアップし、タグを適用します。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

コピー

コピー

182

Page 183: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

WITH BACKUP [USING 'backup_identifier'];

ここでは次のように指定します。tagは、作成するタグです。このタグは、一重引用符(' ')で囲みます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、software_keystore_passwordまたはhardware_keystore_credentialsのいずれかです。ソフトウェア・パスワードと同様に、大/小文字が区別されます。パスワード文字列は、二重引用符("")で囲む必要があります。user_nameとpasswordをコロン(:)で区切ります。

WITH BACKUPは、キーと同じ場所(V$ENCRYPTION_WALLETビューのWRL_PARAMETER列で識別されます)にTDEマスター暗号化キーをバックアップします。すべてのデータベース・インスタンスのWRL_PARAMETER値を見つけるには、GV$ENCRYPTION_WALLETビューを問い合せます。

パスワードベースのソフトウェア・キーストアをバックアップする必要があります。自動ログイン・ソフトウェア・キーストアやローカル自動ログイン・ソフトウェア・キーストアの場合、使用する必要はありません。オプションで、USINGbackup_identifier句を含めることで、バックアップの説明を追加できます。この識別子は、一重引用符(' ')で囲みます。

例:

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

USING TAG 'backups"

IDENTIFIED BY password

WITH BACKUP USING 'hr.emp_key_backup';

keystore altered.

Oracle Databaseでは、初期化パラメータ・ファイルのWALLET_ROOTパラメータによって指定され

コピー

183

Page 184: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ているキーストア・ロケーションにあるキーストアを使用して、TDEマスター暗号化キーを格納します。

関連項目

レポート用のTDEマスター暗号化キーのカスタム属性の作成

sqlnet.oraファイルでのキーストアの場所について

親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新

TDEマスター暗号化キーのキー更新についてOracle Databaseでは、TDE列暗号化とTDE表領域暗号化の両方で統合されたTDEマスター暗号化キーが使用されます。

TDE列暗号化用にTDEマスター暗号化キーをキー更新すると、TDE表領域暗号化用のTDEマスター暗号化キーもキー更新されます。TDEマスター暗号化キーのキー更新は、TDEマスター暗号化キーの安全性が損なわれた場合、または組織のセキュリティ・ポリシーに従う場合にのみ実行します。このプロセスによって、前のTDEマスター暗号化キーは非アクティブ化されます。

セキュリティを強化し、コンプライアンス規制を満たすために、定期的にTDEマスター暗号化キーをキー更新することをお薦めします。このプロセスでは、前のTDEマスター暗号化キーを非アクティブ化し、新しいTDEマスター暗号化キーを作成してアクティブ化します。最近作成されたキーを確認するには、V$ENCRYPTION_KEYSビューのCREATION_TIME列を問い合せます。最近アクティブ化されたキーを確認するには、V$ENCRYPTION_KEYSビューのACTIVATION_TIME列を問い合せます。

TDEマスター暗号化キーを変更したり、自動ログイン・キーストアのTDEマスター暗号化キーをキー更新することはできません。自動ログイン・キーストアにはパスワードがないため、管理者または権限のあるユーザーは、セキュリティ担当者に知らせずにキーを変更できます。ただし、自動ログイン・キーストアとパスワードベースのキーストアの両方が(sqlnet.oraファイルで設定する)構成されたロケーションに存在する場合、TDEマスター暗号化キーをキー更新すると、自動ログイン・キーストアとパスワードベースのキーストアの両方にTDEマスター暗号化キーが追加されます。自動ログイン・キーストアが、パスワードベースのキーストアとは異なるロケーションで使用中の場合、自動ログイン・キーストアを再作成する必要があります。

マスター・キーのキー更新操作をオンライン表領域のキー更新操作と同時に実行しないでください。次の問合せを発行して、オンライン表領域でのTDEマスター暗号化キーの処理が進行中であるかどうかを確認できます。

SELECT TS#,ENCRYPTIONALG,STATUS FROM V$ENCRYPTED_TABLESPACES;コピー

184

Page 185: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

REKEYINGというステータスは、対応する表領域がまだキー更新中であることを意味します。

ノート: 自動ログイン・キーストアに新しい情報を個別に追加することはできません。

親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新

TDEマスター暗号化キーのキー更新ADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをキー更新できます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 自動ログインを有効化したキーストアのTDEマスター暗号化キーをキー更新する場合、.ssoファイルによって識別される自動ログイン・キーストアと.p12ファイルによって識別される暗号化キーストアの両方が存在することを確認する必要があります。これらのファイルのロケーションは、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せることで確認できます。すべてのデータベース・インスタンスのWRL_PARAMETER値を見つけるには、GV$ENCRYPTION_WALLETビューを問い合せます。

3. 次の構文を使用して、TDEマスター暗号化キーをキー更新します。

ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開

コピー

コピー

185

Page 186: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、ステップ2: ソフトウェア・キーストアを作成するでキーストア作成時に作成した必須のキーストア・パスワードです。

WITH BACKUPを使用すると、キーストアのバックアップが作成されます。パスワードベースのキーストアおよびハードウェア・キーストアの場合、このオプションを使用する必要があります。オプションでUSING句を使用し、バックアップの簡単な説明を追加できます。この説明は一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_time-stamp_emp_key_backup.p12など)。オペレーティング・システムで使用されているファイル命名規則に従ってください。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

keystore altered.

関連項目

ステップ3: ソフトウェア・キーストアを開く

ステップ3: ハードウェア・キーストアを開く

親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新

表領域のTDEマスター暗号化キーの変更表領域を暗号化するには、ALTER TABLESPACE文のENCRYPT句およびREKEY句を使用できます。

1. 表領域が読取り-書込みモードで開いていることを確認します。

V$INSTANCE動的ビューのSTATUS列を問い合せてデータベースが開いているかどうか、V$DATABASEビューのOPEN_MODE列を問い合せて読取り-書込みモードであるかどうかを確認できます。

コピー

186

Page 187: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. 必要に応じて、読取り-書込みモードでデータベースを開きます。

ALTER DATABASE OPEN READ WRITE;

3. ALTER TABLESPACE SQL文を実行して表領域を暗号化します。

表領域がまだ暗号化されていない場合は、ENCRYPT句を使用します。

ALTER TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' ENCRYPT;

SYSTEM表領域、SYSAUX表領域またはUNDO表領域の暗号化を変更するには、表領域をオンラインでキー更新する必要があります。ONLINE句およびREKEY句を使用します。たとえば、SYSTEM表領域の暗号化アルゴリズムを変更するには、次のようにします。

ALTER TABLESPACE SYSTEM ENCRYPTION ONLINE USING 'AES256' REKEY;

関連項目

既存のオンライン表領域の暗号化変換について

親トピック: キーストアのTDEマスター暗号化キーの設定またはキー更新

TDEマスター暗号化キーのエクスポートおよびインポートTDEマスター暗号化キーを様々な方法でエクスポートおよびインポートできます。

TDEマスター暗号化キーのエクスポートおよびインポートについてOracle Databaseには、トランスポータブル表領域などの機能があり、Oracle Data Pumpでは、データベース間で暗号化される可能性のあるデータが移動されます。

TDEマスター暗号化キーのエクスポートについてADMINISTER KEY MANAGEMENT EXPORTを使用して、キーストアからTDEマスター暗号化キーをエクスポートし、その後、別のキーストアにインポートできます。

TDEマスター暗号化キーのエクスポートEXPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEYMANAGEMENT文によって、TDEマスター暗号化キーをエクスポートします。

コピー

コピー

コピー

187

Page 188: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 副問合せを使用したTDEマスター暗号化キーのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS文によって、副問合せを使用してTDEマスター暗号化キーをエクスポートできます。

例: ファイルへのTDEマスター暗号化キー識別子のリストのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET文によって、TDEマスター暗号化キー識別子のリストをファイルにエクスポートできます。

例: データベースのすべてのTDEマスター暗号化キーのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS SQL文によって、データベースのすべてのTDEマスター暗号化キーをエクスポートできます。

TDEマスター暗号化キーのインポートについてADMINISTER KEY MANAGEMENT IMPORT文によって、エクスポートしたTDEマスター暗号化キーをキー・エクスポート・ファイルからターゲット・キーストアにインポートできます。

TDEマスター暗号化キーのインポートIMPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEYMANAGEMENT文によって、TDEマスター暗号化キーをインポートできます。

例: TDEマスター暗号化キーのインポートADMINISTER KEY MANAGEMENT IMPORT KEYS SQL文を使用して、TDEマスター暗号化キーをインポートできます。

キーストアのマージとTDEマスター暗号化キーのエクスポートまたはインポートの相違点キーストア・マージ操作は、TDEマスター暗号化キーのエクスポートおよびインポート操作とは異なります。

親トピック: TDEマスター暗号化キーの管理

TDEマスター暗号化キーのエクスポートおよびインポートについてOracle Databaseには、トランスポータブル表領域などの機能があり、Oracle Data Pumpでは、データベース間で暗号化される可能性のあるデータが移動されます。

これらは、TDEマスター暗号化キーのエクスポートとインポートによってソース・キーストアとターゲット・キーストア間でそれらを移動することを選択できる一般的なシナリオです。DataGuard (ロジカル・スタンバイ)では、プライマリ・データベースのキーストアをスタンバイ・データベースにコピーする必要があります。プライマリ・データベースのキーストアをスタンバイ・データベースとマージするかわりに、使用中のTDEマスター暗号化キーをエクスポートした後でスタンバイ・データベースにインポートできます。暗号化されているトランスポータブル表領域をデータベース間で移動するには、ソース・データベースのTDEマスター暗号化キーをエクスポートしてから、ターゲット・データベースにインポートする必要があります。

188

Page 189: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

TDEマスター暗号化キーのエクスポートについてADMINISTER KEY MANAGEMENT EXPORTを使用して、キーストアからTDEマスター暗号化キーをエクスポートし、その後、別のキーストアにインポートできます。

TDEマスター暗号化キーは、キー識別子およびキー属性とともにエクスポートされます。エクスポートされるキーは、エクスポート・ファイルのパスワード(シークレット)で保護されます。

エクスポートするTDEマスター暗号化キーを指定するには、ADMINSITER KEY MANAGENTEXPORT文のWITH IDENTIFIER句を使用します。TDEマスター暗号化キーをエクスポートするには、それらのキー識別子をカンマ区切りリストとして指定するか、キー識別子を列挙する問合せを指定します。Oracle Databaseでは、定義者の権限ではなく現在のユーザーの権限内でキー識別子を特定する問合せが実行されることに注意してください。

WITH IDENTIFER句を省略すると、データベースのすべてのTDEマスター暗号化キーがエクスポートされます。

関連項目

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

TDEマスター暗号化キーのエクスポートEXPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEY MANAGEMENT文によって、TDEマスター暗号化キーをエクスポートします。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。

例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次の構文を使用して、TDEマスター暗号化キーをエクスポートします。

ADMINISTER KEY MANAGEMENT EXPORT [ENCRYPTION] KEYS

コピー

コピー

189

Page 190: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

WITH SECRET "export_secret"

TO 'file_path'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH IDENTIFIER IN 'key_id1', 'key_id2', 'key_idn' |

(SQL_query)];

ここでは次のように指定します。export_secretは、エクスポートするキーが含まれるエクスポート・ファイルを暗号化するために指定できるパスワードです。このシークレットは、二重引用符(" ")で囲むか、シークレットにスペースが使われていない場合は引用符を省略できます。file_pathは、キーのエクスポート先ファイルの完全パスと名前です。このパスは、一重引用符(' ')で囲みます。標準ファイル・システムにのみエクスポートできます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。software_keystore_passwordは、キーが含まれるキーストアのパスワードです。

key_id1、key_id2、key_idnは、エクスポートするTDEマスター暗号化キーの1つ以上のTDEマスター暗号化キー識別子の文字列です。各キー識別子はカンマで区切り、それぞれのキー識別子を一重引用符(' ')で囲みます。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS動的ビューのKEY_ID列を問い合せます。SQL_queryは、TDEマスター暗号化キー識別子のリストをフェッチする問合せです。これによって、通常はTDEマスター暗号化キー識別子が含まれる1つの列のみが返されます。この問合せは、現在のユーザー権限で実行されます。

関連項目

ステップ3: ソフトウェア・キーストアを開く

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

例: 副問合せを使用したTDEマスター暗号化キー識別子のエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS文によって、副問合せを使用し

190

Page 191: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

てTDEマスター暗号化キーをエクスポートできます。

例4-5に、識別子が問合せによってフェッチされるTDEマスター暗号化キーをexport.expというファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secretを使用して暗号化されます。SELECT文で、エクスポートするTDEマスター暗号化キーの識別子を検出します。

例4-4 ファイルへのTDEマスター暗号化キー識別子のリストのエクスポート

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS

WITH SECRET "my_secret"

TO '/TDE/export.exp'

FORCE KEYSTORE

IDENTIFIED BY password

WITH IDENTIFIER IN

'AdoxnJ0uH08cv7xkz83ovwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',

'AW5z3CoyKE/yv3cNT5CWCXUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA';

keystore altered.

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

例: ファイルへのTDEマスター暗号化キー識別子のリストのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET文によって、TDEマスター暗号化キー識別子のリストをファイルにエクスポートできます。

例4-4に、リストとして識別子を指定することでTDEマスター暗号化キーをexport.expというファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secretを使用して暗号化されます。エクスポートされるTDEマスター暗号化キーの識別子は、カンマ区切りのリストとして提供されます。

例4-5 副問合せを使用したTDEマスター暗号化キー識別子のエクスポート

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS

WITH SECRET "my_secret" TO '/etc/TDE/export.exp'

FORCE KEYSTORE

IDENTIFIED BY password

WITH IDENTIFIER IN (SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE

ROWNUM <3);

コピー

コピー

191

Page 192: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

例: データベースのすべてのTDEマスター暗号化キーのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS SQL文によって、データベースのすべてのTDEマスター暗号化キーをエクスポートできます。

例4-6に、データベースのすべてのTDEマスター暗号化キーをexport.expというファイルにエクスポートする方法を示します。ファイル内のTDEマスター暗号化キーは、シークレットmy_secretを使用して暗号化されます。

例4-6 データベースのすべてのTDEマスター暗号化キーのエクスポート

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS

WITH SECRET "my_secret" TO '/etc/TDE/export.exp'

FORCE KEYSTORE

IDENTIFIED BY password;

keystore altered.

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

TDEマスター暗号化キーのインポートについてADMINISTER KEY MANAGEMENT IMPORT文によって、エクスポートしたTDEマスター暗号化キーをキー・エクスポート・ファイルからターゲット・キーストアにインポートできます。

すでにインポートされているTDEマスター暗号化キーを再インポートすることはできません。

関連項目

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

TDEマスター暗号化キーのインポートIMPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEY MANAGEMENT文によって、TDEマスター暗号化キーをインポートできます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベ

コピー

192

Page 193: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ース・インスタンスにログインします。

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. 次のSQL文を実行します。

ADMINISTER KEY MANAGEMENT IMPORT [ENCRYPTION] KEYS

WITH SECRET "import_secret"

FROM 'file_name'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。import_secretは、エクスポート操作時にキーの暗号化に使用されたものと同じパスワードです。このシークレットは、二重引用符(" ")で囲むか、シークレットにスペースが使われていない場合は引用符を省略できます。file_nameは、キーのインポート元ファイルの完全パスと名前です。この設定は、一重引用符(' ')で囲みます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。software_keystore_passwordは、キーがインポートされているソフトウェア・キーストアのパスワードです。

WITH BACKUPは、インポート操作の前にターゲット・キーストアがバックアップされていない場合は使用する必要があります。backup_identifierは、キーストアのバックアップを識別するために指定できるオプション文字列です。この設定は、一重引用符(' ')で囲みます。

関連項目

コピー

コピー

193

Page 194: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ステップ3: ソフトウェア・キーストアを開く

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

例: TDEマスター暗号化キーのインポートADMINISTER KEY MANAGEMENT IMPORT KEYS SQL文を使用して、TDEマスター暗号化キーをインポートできます。

例4-7に、ファイルexport.expに格納され、シークレットmy_secretで暗号化されているTDEマスター暗号化キー識別子をインポートする方法を示します。

例4-7 エクスポート・ファイルからのTDEマスター暗号化キー識別子のインポート

ADMINISTER KEY MANAGEMENT IMPORT KEYS

WITH SECRET "my_secret"

FROM '/etc/TDE/export.exp'

FORCE KEYSTORE

IDENTIFIED BY password WITH BACKUP;

keystore altered.

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

キーストアのマージとTDEマスター暗号化キーのエクスポートまたはインポートの相違点

キーストア・マージ操作は、TDEマスター暗号化キーのエクスポートおよびインポート操作とは異なります。

ADMINISTER KEY MANAGEMENT MERGE文と、ADMINISTER KEY MANAGEMENT EXPORT文およびIMPORT文は、両方とも最終的にTDEマスター暗号化キーがあるキーストアから次のキーストアに移動されますが、これら2つの文の動作には違いがあります。

MERGE文では2つのキーストアがマージされますが、EXPORTおよびIMPORT文ではファイルにキーがエクスポートされるか、ファイルからキーがインポートされます。キーストアはエクスポート・ファイルとは別のものであり、これら2つを交換して使用することはできません。エクスポート・ファイルはキーストアではなく、データベースでキーストアとして使用するように構成することはできません。同様に、IMPORT文でキーストアからTDEマスター暗号化キーを抽出することはできません。MERGE文では指定したキーストアのすべてのTDEマスター暗号化キーがマージされますが、EXPORTおよびIMPORT文では選択可能です。

コピー

194

Page 195: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

EXPORTおよびIMPORT文では、エクスポート・ファイルの場所(filepath)とファイル名の両方を指定する必要がありますが、MERGE文ではキーストアの場所のみを指定します。

キーストアのファイル名は固定で、MERGE操作によって決定され、ewallet.p12またはcwallet.ssoになります。EXPORTおよびIMPORT文で使用するエクスポート・ファイルのファイル名は、ユーザーが指定します。自動ストレージ管理(ASM)ディスク・グループまたは通常のファイル・システムのキーストアは、MERGE文でマージできます。EXPORTおよびIMPORT文で使用するエクスポート・ファイルは、通常のオペレーティング・システム・ファイルである必要があり、ASMディスク・グループには配置できません。MERGE文を使用してマージするキーストアは、構成されたり、データベースで使用されている必要はありません。EXPORT文は、構成されてデータベースで使用され、エクスポートの終了時に開かれるキーストアからのみキーをエクスポートできます。IMPORT文は、開かれて構成され、データベースで使用されているキーストアにのみキーをインポートできます。MERGE文では、TDEマスター暗号化キーに関連付けられたメタデータは絶対に変更されません。EXPORTおよびIMPORT操作では、PDBのプラグ操作時など、必要に応じてTDEマスター暗号化キーのメタデータが変更されることがあります。

親トピック: TDEマスター暗号化キーのエクスポートおよびインポート

新しいキーストアへのTDEマスター暗号化キーの移動既存のTDEマスター暗号化キーを、パスワードで保護された既存のキーストアから新しいキーストアに移動できます。

新しいキーストアへのTDEマスター暗号化キーの移動について使用されていない(正常にアーカイブ済の)TDEマスター暗号化キーを新しいキーストアに移動できます。

新しいキーストアへのTDEマスター暗号化キーの移動ADMINISTER KEY MANAGEMENT MOVE KEYSを使用すると、既存のTDEマスター暗号化キーを既存のキーストアから新しいキーストアに移動できます。

親トピック: TDEマスター暗号化キーの管理

新しいキーストアへのTDEマスター暗号化キーの移動について

使用されていない(正常にアーカイブ済の)TDEマスター暗号化キーを新しいキーストアに移動できます。

ADMINISTER KEY MANAGEMENT MOVE KEYSを実行する場合は十分に注意してください。この文ではアクティブなマスター暗号化キーは移動されませんが、それでも、一連のデータベース機能に必要となるキーに影響がある可能性があります。キーを削除した場合は、これらの機能を使

195

Page 196: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

用するための、そのキーによって暗号化されたデータへのアクセスは不可能になります(データの削除と同等)。キーストアの削除によって影響を受ける機能の詳細は、このトピックの最後にある「関連項目」を参照してください。

そのため、キーストアを移動する前に、それを正常にアーカイブすることが重要です。一定期間が経過し、キーストアが確実に不要になった場合にのみ、キーストアを削除するようにしてください。

TDEマスター暗号化キーを新しいキーストアに移動するには、ADMINISTER KEY MANAGEMENTMOVE KEYS文を使用します。この文では、アクティブなTDEマスター暗号化キー(つまり、ADMINISTER KEY MANAGEMENT MOVE KEYSが発行された時点で使用中だったキー)は移動されません。

新しいTDEキーストアを構成するとき(たとえば、TDEキーストア構成においてソフトウェア・キーストアの配置場所をオペレーティング・システムのファイル・システムからOracle AutomaticStorage Management (Oracle ASM)に変更する場合)に、誤ってADMINISTER KEY MANAGEMENTMERGE KEYSTOREではなくADMINISTER KEY MANAGEMENT MOVE KEYS文を使用した場合には、次の現象の発生により、間違ったキー管理コマンドの使用によってTDEの構成が正しくなくなっていることを判断できます。

前のADMINISTER KEY MANAGEMENT MOVE KEYS操作のターゲットであったTDEキーストアを開いたときに、ORA-28374: 「入力したマスター・キーがウォレットに見つかりません」というエラーが表示されます。これは、アクティブなTDEマスター暗号化キーがそのキーストアに移動されていないためです。新しいキーストアを開いた後、V$ENCRYPTION_WALLETビューのSTATUS列にOPEN_NO_MASTER_KEYという値が表示されています。誤ってADMINISTER KEYMANAGEMENT MOVE KEYS文によって移入された新しいTDEキーストアにはアクティブなTDEマスター暗号化キーが含まれていないため、想定ではOPEN_NO_MASTER_KEYステータスになります。

関連項目

キーストアを削除することの危険性

キーストアの削除によって影響を受ける機能

親トピック: 新しいキーストアへのTDEマスター暗号化キーの移動

新しいキーストアへのTDEマスター暗号化キーの移動ADMINISTER KEY MANAGEMENT MOVE KEYSを使用すると、既存のTDEマスター暗号化キーを既存のキーストアから新しいキーストアに移動できます。

この機能を使用すると、使用していないキーストアを削除できます。キーストアを移動する前

196

Page 197: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

に、それを正常にアーカイブしてあることを確認してください。暗号化キーを新しいキーストアに移動した後、古いキーストアを削除してよいのは、それが確実に不要になった場合です。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、データベース・インスタンスにログインします。例:

sqlplus sec_admin as syskm

Enter password: password

Connected.

2. V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて、キー・アーカイブのキーストアに移動する必要があるキーについて、キー識別子を確認します。例:

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. 次の構文を使用して、新しいキーストアにキーを移動します。

ADMINISTER KEY MANAGEMENT

MOVE [ENCRYPTION] KEYS

TO NEW KEYSTORE 'keystore_location1'

IDENTIFIED BY keystore1_password

FROM [FORCE] KEYSTORE

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_identifier' [, 'key_identifier' ]... | ( subquery ) } ]

[WITH BACKUP [USING 'backup_identifier'] ];

ここでは次のように指定します。

keystore_location1は、新しいキーストア.p12ファイルを格納するwalletディレ

コピー

コピー

コピー

197

Page 198: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

クトリへのパスです。デフォルトでは、このディレクトリは、$ORACLE_BASE/admin/db_unique_name/walletにあります。

keystore1_passwordは、新しいキーストアの移動元であるキーストアのパスワードです。keystore_passwordは、キーの移動元であるキーストアのパスワードです。

key_identifierは、V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて確認するキーの識別子です。この設定は、一重引用符(' ')で囲みます。

subqueryは、必要なキー識別子を正確に確認するために使用できます。

backup_identifierは、バックアップの説明(オプション)です。backup_identifierは、一重引用符(' ')で囲みます。

例:

ADMINISTER KEY MANAGEMENT MOVE KEYS

TO NEW KEYSTORE $ORACLE_BASE/admin/orcl/wallet

IDENTIFIED BY keystore_password

FROM FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH IDENTIFIER IN

(SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE ROWNUM < 2);

4. 古いキーストアを削除するには、walletディレクトリに移動してから、キーストアを含む.p12ファイルを手動で削除します。キーストアの場所を検索するには、キーストアを開いてから、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。

関連項目

キーストアを削除することの危険性

キーストアの削除によって影響を受ける機能

親トピック: 新しいキーストアへのTDEマスター暗号化キーの移動

Oracle Key Vaultを使用したTDEマスター暗号化キーの管理Oracle Key Vaultを使用して、企業全体でTDEマスター暗号化キーを管理および共有できます。

Oracle Key Vaultでは、資格証明ファイルやJavaキーストアなどのセキュリティ・オブジェクトと

コピー

198

Page 199: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ともに、キーを中央リポジトリに安全に格納し、これらのオブジェクトを他の 対応データベースと共有できます。

関連項目

キーストアとOracle Key Vault間の移行

Oracle Key Vault管理者ガイド

親トピック: TDEマスター暗号化キーの管理

Oracle Databaseのシークレットの格納シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracleDatabaseの内部機能をサポートするデータです。

キーストアへのOracle Databaseのシークレットの格納についてキーストアでは、Oracle Databaseの内部機能をサポートするシークレットを格納したり、Oracle GoldenGateなどの外部クライアントを統合できます。

ソフトウェア・キーストアへのOracle Databaseのシークレットの格納ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文によって、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。

例: ソフトウェア・キーストアへのHSMパスワードの追加ADMINISTER KEY MANAGEMENT ADD SECRET文によって、ソフトウェア・キーストアにHSMパスワードを追加できます。

例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの変更ADMINISTER KEY MANAGEMENT UPDATE SECRET文によって、ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードを変更できます。

例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの削除ADMINISTER KEY MANAGEMENT DELETE SECRET文によって、ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードを削除できます。

ハードウェア・キーストアへのOracle Databaseのシークレットの格納ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文によって、シークレットの追加、更新および削除を行うことができます。

例: ハードウェア・キーストアへのOracle Databaseのシークレットの追加ADMINISTER KEY MANAGEMENT ADD SECRET文によって、ハードウェア・キーストアにOracle Databaseのシークレットを追加できます。

TDE

199

Page 200: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: ハードウェア・キーストアでのOracle Databaseのシークレットの変更ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET文によって、ハードウェア・キーストアにあるOracle Databaseのシークレットを変更できます。

例: ハードウェア・キーストアでのOracle Databaseのシークレットの削除ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT文によって、ハードウェア・キーストアにあるOracle Databaseのシークレットを削除できます。

自動ログイン・ハードウェア・セキュリティ・モジュールの構成自動ログイン機能を使用するには、ハードウェア・セキュリティ・モジュールを構成します。

親トピック: キーストアおよびマスター 暗号化キーの管理

キーストアへのOracle Databaseのシークレットの格納についてキーストアでは、Oracle Databaseの内部機能をサポートするシークレットを格納したり、OracleGoldenGateなどの外部クライアントを統合できます。

秘密キーはOracleの識別子規則に従った文字列である必要があります。既存のキーストアでクライアントのシークレットを追加、更新または削除できます。Oracle GoldenGateのExtractプロセスでは、データ・ファイル内およびREDOまたはUNDOログ内のデータを復号化するためにデータ暗号化キーが必要です。キーは、Oracle DatabaseとOracle GoldenGateクライアントの間でキーを共有するときに、共有シークレットによって暗号化されます。ソフトウェア・キーストアには、共有シークレットが格納されます。

サイトの要件によっては、ハードウェア・セキュリティ・モジュールが構成されている場合でも、自動的にキーストアを開く操作が必要となる場合があります。そのため、ハードウェア・セキュリティ・モジュールのパスワードを自動ログイン・ソフトウェア・キーストアに格納し、ハードウェア・セキュリティ・モジュールで自動ログイン機能を有効にすることができます。また、Oracle Database側では、データベース用の資格証明を格納して、ソフトウェア・キーストアで外部ストレージ・サーバーにログインできます。

Oracle Databaseのシークレットをソフトウェア・キーストアとハードウェア・キーストアの両方に格納できます。

ソフトウェア・キーストア: シークレットをパスワードベースのソフトウェア・キーストア、自動ログイン・ソフトウェア・キーストア、およびローカル自動ログイン・ソフトウェア・キーストアに格納できます。シークレットを自動ログイン(または自動ログイン・ローカル)・キーストアに格納する場合は、次の点に注意してください。

自動ログイン・ソフトウェア・キーストアがその対応するパスワードベースのソフトウェア・キーストアと同じロケーションにある場合、シークレットは自動的に追加されます。

200

Page 201: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・ソフトウェア・キーストアがその対応するパスワードベースのソフトウェア・キーストアと異なるロケーションにある場合、パスワードベースのキーストアから自動ログイン・キーストアを再度作成して、2つのキーストアの同期を維持する必要があります。

ハードウェア・キーストア: シークレットを標準ハードウェア・セキュリティ・モジュールに格納できます。

関連項目

ハードウェア・キーストアへのOracle Databaseのシークレットの格納

自動ログイン・ハードウェア・セキュリティ・モジュールの構成

親トピック: Oracle Databaseのシークレットの格納

ソフトウェア・キーストアへのOracle Databaseのシークレットの格納ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文によって、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。

すべてのADMINISTER KEY MANAGEMENT文と同様に、ADMINISTER KEY MANAGEMENTまたはSYSKM管理権限が必要です。既存のシークレットについての情報を検索するために、V$CLIENT_SECRETS動的ビューを問い合せることができます。

シークレットの追加: 次の構文を使用します。

ADMINISTER KEY MANAGEMENT

ADD SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id];

シークレットの更新: 次の構文を使用します。

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

コピー

コピー

201

Page 202: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id];

シークレットの削除: 次の構文を使用します。

ADMINISTER KEY MANAGEMENT

DELETE SECRET FOR CLIENT 'client_identifier'

[FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id];

これらの文すべてで、次のように指定します。

secretは、格納、更新、または削除するクライアントの秘密キーです。この設定は、一重引用符(' ')で囲むか、シークレットにスペースが使用されていない場合は引用符を省略します。既存のシークレットとそれらのクライアント識別子についての情報を検索するには、V$CLIENT_SECRETS動的ビューを問い合せます。

client_identifierは、秘密キーの識別に使用される英数字文字列です。client_identifierにはデフォルト値はありません。この設定は、一重引用符(' ')で囲みます。

TO [[LOCAL] AUTO_LOGIN] KEYSTOREにより、sqlnet.oraファイル内で指定されている自動ログイン・キーストアの場所を示します。tagは、格納する秘密キーについてのオプションのユーザー定義の説明です。tagは、ADDおよびUPDATE操作と一緒に使用できます。この設定は、一重引用符(' ')で囲みます。このタグは、V$CLIENT_SECRETSビューのSECRET_TAG列に表示されます。WITH BACKUPは、ADD、UPDATEまたはDELETE操作の前にキーストアがバックアップされていない場合は必須です。backup_identifierは、バックアップについてのオプションのユーザー定義の説明です。backup_identifierは、一重引用符(' ')で囲みます。

[TO | FROM [[LOCAL] AUTOLLOGIN] KEYSTOREにより、qlnet.oraファイル内で設定されている、自動ログイン・キーストアまたはパスワード・キーストアの場所を指定します。FORCE KEYSTOREは、自動ログイン・キーストアが開いている(および使用されている)か、

コピー

202

Page 203: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストアが閉じている場合に、この操作のためにパスワード保護されたキーストアを一時的に開きます。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、キーストアのパスワードです。

関連項目

レポート用のTDEマスター暗号化キーのカスタム属性の作成

親トピック: Oracle Databaseのシークレットの格納

例: ソフトウェア・キーストアへのHSMパスワードの追加ADMINISTER KEY MANAGEMENT ADD SECRET文によって、ソフトウェア・キーストアにHSMパスワードを追加できます。

例4-8に、ソフトウェア・キーストアにハードウェア・セキュリティ・モジュール(HSM)のパスワードをシークレットとして追加する方法を示します。

例4-8 ソフトウェア・キーストアへのOracle Databaseのシークレットの追加

ADMINISTER KEY MANAGEMENT

ADD SECRET 'psmith:password' FOR CLIENT 'HSM_PASSWORD'

USING TAG 'HSM credentials' FORCE KEYSTORE

IDENTIFIED BY password WITH BACKUP;

次のバージョンでは、キーストア・パスワードが外部ストアにあるため、IDENTIFIED BYにはEXTERNAL STORE設定が使用されます。

ADMINISTER KEY MANAGEMENT

ADD SECRET 'psmith:password' FOR CLIENT 'HSM_PASSWORD'

USING TAG 'HSM credentials' FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE WITH BACKUP;

親トピック: Oracle Databaseのシークレットの格納

コピー

コピー

203

Page 204: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの変更ADMINISTER KEY MANAGEMENT UPDATE SECRET文によって、ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードを変更できます。

例4-9に、シークレットとしてソフトウェア・キーストアに格納されているHSMパスワードを変更する方法を示します。

例4-9 ソフトウェア・キーストアでのOracle Databaseのシークレットの変更

ADMINISTER KEY MANAGEMENT

UPDATE SECRET admin_password FOR CLIENT 'admin@myhost'

USING TAG 'new_host_credentials' FORCE KEYSTORE

IDENTIFIED BY software_keytore_password;

次のバージョンでは、キーストアのパスワードは外部ストアにあります。

DMINISTER KEY MANAGEMENT

UPDATE SECRET admin_password FOR CLIENT 'admin@myhost'

USING TAG 'new_host_credentials' FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

親トピック: Oracle Databaseのシークレットの格納

例: ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードの削除ADMINISTER KEY MANAGEMENT DELETE SECRET文によって、ソフトウェア・キーストアにシークレットとして格納されているHSMパスワードを削除できます。

例4-10に、シークレットとしてソフトウェア・キーストアに格納されているHSMパスワードを削除する方法を示します。

例4-10 ソフトウェア・キーストアでのOracle Databaseのシークレットの削除

ADMINISTER KEY MANAGEMENT

DELETE SECRET FOR CLIENT 'HSM_PASSWORD'

コピー

コピー

コピー

204

Page 205: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FORCE KEYSTORE

IDENTIFIED BY password WITH BACKUP;

次のバージョンでは、キーストアのパスワードは外部ストアにあります。

ADMINISTER KEY MANAGEMENT

DELETE SECRET FOR CLIENT 'HSM_PASSWORD'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE WITH BACKUP;

親トピック: Oracle Databaseのシークレットの格納

ハードウェア・キーストアへのOracle Databaseのシークレットの格納ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文によって、シークレットの追加、更新および削除を行うことができます。

すべてのADMINISTER KEY MANAGEMENT文と同様に、ADMINISTER KEY MANAGEMENTまたはSYSKM管理権限が必要です。使用されている、または現在開いているキーストアに対してシークレットを追加、更新または削除するときには、ルートでADMINISTER KEY MANAGEMENTを実行する必要があります。

HSMとOracle Key Vaultの両方のハードウェア・キーストアにOracle Databaseのシークレットを格納できますが、Key VaultキーストアにHSM_PASSWORDを格納した場合、自動ログインは機能しないことに注意してください。

ノート: シークレットをハードウェア・セキュリティ・モジュールに追加しようとする前に、PKCS#11データ・オブジェクトがサポートされていることを確認してください。

シークレットの追加: 次の構文を使用します。

ADMINISTER KEY MANAGEMENT ADD SECRET 'secret'

FOR CLIENT 'client_identifier' [USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials"

[WITH BACKUP [USING backup_id]];

シークレットの更新: 次の構文を使用します。

コピー

コピー

205

Page 206: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT UPDATE SECRET 'secret'

FOR CLIENT 'client_identifier' [USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials"

[WITH BACKUP [USING backup_id]];

シークレットの削除: 次の構文を使用します。

ADMINISTER KEY MANAGEMENT DELETE SECRET

FOR CLIENT 'client_identifier'

[FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials"

[WITH BACKUP [USING backup_id]];

これらの文すべてで、次のように指定します。

secretは、格納、更新、または削除するクライアントの秘密キーです。この設定は、二重引用符(' ')で囲むか、シークレットにスペースが使用されていない場合は引用符を省略します。既存のシークレットとそれらのクライアント識別子についての情報を検索するには、V$CLIENT_SECRETS動的ビューを問い合せます。

client_identifierは、秘密キーの識別に使用される英数字文字列です。client_identifierにはデフォルト値はありません。この設定は一重引用符(' ')で囲みます。tagは、格納する秘密キーについてのオプションのユーザー定義の説明です。tagは、ADDおよびUPDATE操作と一緒に使用できます。この設定は、一重引用符('')で囲みます。このタグは、V$CLIENT_SECRETSビューのSECRET_TAG列に表示されます。[TO | FROM [[LOCAL] AUTO_LOGIN] KEYSTOREにより、ハードウェア・キーストア用に使用するキーストアの場所を指定します。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザー

コピー

コピー

206

Page 207: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

のパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

関連項目

レポート用のTDEマスター暗号化キーのカスタム属性の作成

親トピック: Oracle Databaseのシークレットの格納

例: ハードウェア・キーストアへのOracle Databaseのシークレットの追加ADMINISTER KEY MANAGEMENT ADD SECRET文によって、ハードウェア・キーストアにOracleDatabaseのシークレットを追加できます。

例4-11に、ユーザーのパスワードをハードウェア・キーストアに追加する方法を示します。

例4-11 ハードウェア・キーストアへのOracle Databaseのシークレットの追加

ADMINISTER KEY MANAGEMENT ADD SECRET 'password'

FOR CLIENT 'admin@myhost' USING TAG 'myhost admin credentials'

IDENTIFIED BY "psmith:password";

次のバージョンでは、キーストア・パスワードが外部ストアにあるため、IDENTIFIED BYにはEXTERNAL STORE設定が使用されます。

ADMINISTER KEY MANAGEMENT ADD SECRET 'password'

FOR CLIENT 'admin@myhost' USING TAG 'myhost admin credentials'

IDENTIFIED BY EXTERNAL STORE;

親トピック: Oracle Databaseのシークレットの格納

例: ハードウェア・キーストアでのOracle Databaseのシークレットの変更ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET文によって、ハードウェア・キーストアにあるOracle Databaseのシークレットを変更できます。

例4-12に、シークレットとしてハードウェア・キーストアに格納されているパスワードを変更する方法を示します。

例4-12 ハードウェア・キーストアでのOracle Databaseのシークレットの変更

コピー

コピー

207

Page 208: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET 'password2'

FOR CLIENT 'admin@myhost' USING TAG 'New host credentials'

IDENTIFIED BY "psmith:password";

次のバージョンでは、キーストアのパスワードは外部ストアにあります。

ADMINISTER KEY MANAGEMENT MANAGEMENT UPDATE SECRET 'password2'

FOR CLIENT 'admin@myhost' USING TAG 'New host credentials'

IDENTIFIED BY EXTERNAL STORE;

親トピック: Oracle Databaseのシークレットの格納

例: ハードウェア・キーストアでのOracle Databaseのシークレットの削除ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT文によって、ハードウェア・キーストアにあるOracle Databaseのシークレットを削除できます。

例4-13に、シークレットとしてハードウェア・キーストアに格納されているハードウェア・セキュリティ・モジュール・パスワードを削除する方法を示します。

例4-13 ハードウェア・キーストアでのOracle Databaseのシークレットの削除

ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'admin@myhost'

IDENTIFIED BY "psmith:password";

次のバージョンでは、キーストアのパスワードは外部ストアにあります。

ADMINISTER KEY MANAGEMENT DELETE SECRET FOR CLIENT 'admin@myhost'

IDENTIFIED BY EXTERNAL STORE;

親トピック: Oracle Databaseのシークレットの格納

自動ログイン・ハードウェア・セキュリティ・モジュールの構成自動ログイン機能を使用するには、ハードウェア・セキュリティ・モジュールを構成します。

コピー

コピー

コピー

コピー

208

Page 209: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・ハードウェア・セキュリティ・モジュールの構成について自動ログイン・ハードウェア・セキュリティ・モジュールは、自動ログイン・キーストア内にハードウェア・セキュリティ・モジュールの資格証明を格納します。

自動ログイン・ハードウェア・セキュリティ・モジュールの構成自動ログインHSMを構成するには、ADMINISTER KEY MANAGEMENT文を使用して、HSMへの認証に使用するクライアント・シークレットを追加または更新する必要があります。

親トピック: Oracle Databaseのシークレットの格納

自動ログイン・ハードウェア・セキュリティ・モジュールの構成について

自動ログイン・ハードウェア・セキュリティ・モジュールは、自動ログイン・キーストア内にハードウェア・セキュリティ・モジュールの資格証明を格納します。

この構成により、システム全体のセキュリティが低下します。ただし、この構成は、無人または自動化された操作をサポートしています。また、ハードウェア・セキュリティ・モジュールへの自動的な再ログインが必要なデプロイメントで役立ちます。

問合せSELECT * FROM V$ENCRYPTION_WALLETを実行すると、自動ログイン・ハードウェア・セキュリティ・モジュールが自動的に開くため、注意してください。たとえば、自動ログイン・ハードウェア・セキュリティ・モジュールを構成しているとします。キーストアを閉じて、V$ENCRYPTION_WALLETビューを問い合せると、出力にキーストアが開かれていることが示されます。これは、V$ENCRYPTION_WALLETによって自動ログイン・ハードウェア・キーストアが開かれ、自動ログイン・キーストアのステータスが表示されたためです。

ハードウェア・キーストアの自動ログイン機能を有効にするには、ハードウェア・キーストアの資格証明を自動ログイン・ウォレットに格納する必要があります。

ADMINISTER KEY MANAGEMENT文の使用においては、概念上は、クライアント・シークレットに対して機能するコマンドのセットとして次の2つがあります。

現在使用中のウォレット(つまり、アクティブなTDEマスター暗号化キーが含まれているウォレット)に対して機能するADMINISTER KEY MANAGEMENTコマンド。

アクティブなTDEマスター暗号化キーの格納に現在使用されていないウォレットに対して機能するADMINISTER KEY MANAGEMENTコマンド。自動ログイン・ソフトウェア・キーストアを構成する場合はこの手法を使用することをお薦めします。

関連項目

自動ログイン・ハードウェア・セキュリティ・モジュールの構成

親トピック: 自動ログイン・ハードウェア・セキュリティ・モジュールの構成

209

Page 210: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・ハードウェア・セキュリティ・モジュールの構成自動ログインHSMを構成するには、ADMINISTER KEY MANAGEMENT文を使用して、HSMへの認証に使用するクライアント・シークレットを追加または更新する必要があります。

この手順を開始する前に、TDEハードウェア・キーストアを構成済であることを確認します。

この手順では、作成したウォレットにキーは含まれていません。それにはクライアント・シークレットのみが含まれています。そのため、このウォレットに対してV$ENCRYPTION_WALLET動的ビューを問い合せると、STATUS列にはOPENではなくOPEN_NO_MASTER_KEYと表示されます(このウォレットにはクライアント・シークレットのみが含まれているため)。

1. ソフトウェア・キーストアのキーストアの場所がまだない場合には、これを含めるようにinit.oraファイルのWALLET_ROOTパラメータを再構成します。

前にHSMを使用して移行している場合には、ソフトウェア・キーストアの場所はすでに存在している可能性があります。

例:

WALLET_ROOT=/etc/ORACLE/WALLETS/orcl

2. ソフトウェア・キーストアでシークレットを追加または更新します。

シークレットはハードウェア・セキュリティ・モジュール・パスワード、クライアントはHSM_PASSWORDです。HSM_PASSWORDは、HSMパスワードをソフトウェア・キーストアのシークレットとして表現するために使用されるOracle定義のクライアント名です。

例:

ADMINISTER KEY MANAGEMENT ADD SECRET 'user_name:password'

FOR CLIENT 'HSM_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE software_keystore_location

WITH BACKUP;

この例では、次のようになります。software_keystore_locationは、先ほどステップ1で定義したWALLET_ROOTの場所内のソフトウェア・キーストアの場所です。CDBルートおよび統一モードで構成されたPDBの場合、software_keystore_locationの場所に使用する値はWALLET_ROOT/tdeです。分離モードで構成されたPDBの場合、software_keystore_locationの場所に使用

コピー

コピー

210

Page 211: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

される値はWALLET_ROOT/pdb_guid/tdeです。PDBに接続している場合は、SELECT GUID FROM V$PDBS;という問合せを実行して、このGUIDを見つけます。LOCALを指定すると、HSMの資格証明を保持するために、ローカル自動ログイン・ウォレット・ファイルcwallet.ssoが作成されます。このウォレットは、それが作成されたホストに関連付けられています。Oracle Real Application Clusters環境の場合は、Oracle RACノードごとにホスト名が異なるため、LOCALキーワードを省略しますが、それらすべてのノードで同じHSMが使用されます。Oracle RACインスタンスのローカル自動ログイン・ウォレットを構成した場合は、cwallet.ssoファイルが作成された最初のOracle RACノードのみ、HSM資格証明にアクセス可能になります。最初のノードからではなく別のノードからキーストアを開こうとすると、cwallet.ssoが自動的に開かれるという問題が発生するため、自動ログインHSMを自動で開くことができなくなります。この制限事項が当てはまるのは、Oracle RACクラスタのcwallet.ssoファイルの保持に共有の場所を使用している場合です。これは、LOCALの使用が有効なのは、Oracle RAC環境の各ノードに別個のcwallet.ssoファイル(同じ資格証明を含む)がある場合のみであるためです。

この段階で、TDE操作が次に実行されるときに、ハードウェア・セキュリティ・モジュールの自動ログイン・キーストアが自動的に開くようになります。TDE操作の例としては、次のようなV$ENCRYPTION_WALLETビューへの問合せがあります。

SELECT * FROM V$ENCRYPTION_WALLET;

関連項目

sqlnet.oraファイルでのキーストアの場所について

ハードウェア・キーストアの構成

親トピック: 自動ログイン・ハードウェア・セキュリティ・モジュールの構成

キーストアへのOracle GoldenGateのシークレットの格納Oracle GoldenGateシークレットを透過的データ暗号化キーストアに格納できます。

キーストアへのOracle GoldenGateのシークレットの格納についてキーストアを使用して、ツールおよびOracle GoldenGateなどの外部クライアントの秘密キーを格納できます。

Oracle GoldenGate Extractのクラシック・キャプチャ・モードのTDE要件Oracle GoldenGate Extractで透過的データ暗号化の取得をサポートするための要件を満たして

コピー

211

Page 212: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

いることを確認します。

Oracle GoldenGate用のキーストア・サポートの構成Oracle GoldenGateのために透過的データ暗号化キーストアのサポートを構成するには、キーストアの共有シークレットを使用します。

親トピック: キーストアおよびマスター 暗号化キーの管理

キーストアへのOracle GoldenGateのシークレットの格納についてキーストアを使用して、ツールおよびOracle GoldenGateなどの外部クライアントの秘密キーを格納できます。

秘密キーはOracleの識別子規則に従った文字列である必要があります。既存のキーストアでクライアントのシークレットを追加、更新または削除できます。この項では、OracleGoldenGateのExtract(抽出)プロセスでクラシック・キャプチャ・モードを使用して、透過的データ暗号化によって暗号化されたデータを取得する方法について説明します。

Extractがクラシック・キャプチャ・モードの場合、TDEをサポートするには次のキーの交換が必要です。

Extractプロセスのクラシック・キャプチャ・モードでのTDEによるOracle GoldenGateのサポートでは、Oracle DatabaseとExtractプロセスでシークレットを共有して、交換される機密情報を暗号化する必要があります。共有シークレットは、Oracle DatabaseおよびOracleGoldenGateドメインに安全に格納されます。共有シークレットは、ソフトウェア・キーストアまたはHSMにデータベース・シークレットとして格納されます。復号化キーは、Oracle DatabaseおよびOracle GoldenGateドメインに安全に格納されている、共有シークレットとして知られているパスワードです。共有シークレットを所有している当事者のみが、表キーおよびREDOログ・キーを復号化できます。

共有シークレットの構成後、共有シークレットを使用してOracle GoldenGate Extractによってデータが復号化されます。Oracle GoldenGate Extractでは、TDEマスター暗号化キー自体は扱われず、キーストア・パスワードも認識しません。TDEマスター暗号化キーおよびパスワードは、OracleDatabase構成内に保持されます。

Oracle GoldenGate Extractでは、遷移時にOracle GoldenGateによって保持されるOracle GoldenGate証跡ファイルに、復号化されたデータが書き込まれるのみです。サイトのオペレーティング・システムの標準セキュリティ・プロトコルと、Oracle GoldenGate AES暗号化オプションを使用して、このファイルを保護できます。Oracle GoldenGateでは、暗号化データは破棄ファイル(DISCARDFILEパラメータで指定)には書き込まれません。ENCRYPTEDという語は、使用中のすべての破棄ファイルに書き込まれます。

Oracle GoldenGateでは、暗号化データの処理時にキーストアが開いている必要はありません。TDE操作に対するOracle GoldenGate機能のパフォーマンス上の影響はありません。

212

Page 213: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: キーストアへのOracle GoldenGateのシークレットの格納

Oracle GoldenGate Extractのクラシック・キャプチャ・モードのTDE要件Oracle GoldenGate Extractで透過的データ暗号化の取得をサポートするための要件を満たしていることを確認します。

要件は次のとおりです。

高いセキュリティ基準を維持するには、Oracle GoldenGateのExtractプロセスがOracleユーザー(Oracle Databaseを実行するユーザー)の一部として実行されるようにします。これにより、キーはOracleユーザーと同じ権限によってメモリー内で保護されます。Oracle GoldenGateのExtractプロセスを、Oracle Databaseインストールと同じコンピュータで実行します。

親トピック: キーストアへのOracle GoldenGateのシークレットの格納

Oracle GoldenGate用のキーストア・サポートの構成Oracle GoldenGateのために透過的データ暗号化キーストアのサポートを構成するには、キーストアの共有シークレットを使用します。

ステップ1: キーストアの共有シークレットを決定するキーストアの共有シークレットはパスワードです。

ステップ2: TDEによるOracle GoldenGateのサポートのためにOracle Databaseを構成するDBMS_INTERNAL_CLKM PL/SQLパッケージを使用して、Oracle GoldenGateのためにTDEのサポートを構成できます。

ステップ3: TDE GoldenGate共有シークレットをキーストアに格納するADMINISTER KEY MANAGEMENT文によって、TDE GoldenGate共有シークレットをキーストアに格納できます。

ステップ4: TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定するGoldenGateソフトウェア・コマンド・インタフェース(GGSCI)ユーティリティによって、TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定します。

親トピック: キーストアへのOracle GoldenGateのシークレットの格納

ステップ1: キーストアの共有シークレットを決定する

キーストアの共有シークレットはパスワードです。

Oracle Databaseのパスワード基準を満たす(または超える)共有シークレットを決定します。

このパスワードは、Oracle GoldenGate Extractと連携するように透過的データ暗号化を構成する作

213

Page 214: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

業を担当する、信頼できる管理者以外のユーザーと共有しないでください。

関連項目

『Oracle Databaseセキュリティ・ガイド』

親トピック: Oracle GoldenGate用のキーストア・サポートの構成

ステップ2: TDEによるOracle GoldenGateのサポートのためにOracle Databaseを構成するDBMS_INTERNAL_CLKM PL/SQLパッケージを使用して、Oracle GoldenGateのためにTDEのサポートを構成できます。

1. SYSDBA管理権限を持つユーザーSYSとしてデータベース・インスタンスにログインします。

例:

sqlplus sys as sysdba

Enter password: password

Connected.

2. Oracle Databaseに付属のDBMS_INTERNAL_CLKM PL/SQLパッケージをロードします。

例:

@?/app/oracle/product/12.2/rdbms/admin/prvtclkm.plb

prvtclkm.plbファイルでも、Oracle GoldenGateによってOracle Databaseから暗号化データを抽出できます。

3. DBMS_INTERNAL_CLKM PL/SQLパッケージに対するEXECUTE権限をOracle GoldenGateExtractデータベース・ユーザーに付与します。

例:

GRANT EXECUTE ON DBMS_INTERNAL_CLKM TO psmith;

コピー

コピー

コピー

214

Page 215: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

この手順によって、Oracle DatabaseとOracle GoldenGate Extractで情報を交換できます。4. SQL*Plusを終了します。

親トピック: Oracle GoldenGate用のキーストア・サポートの構成

ステップ3: TDE GoldenGate共有シークレットをキーストアに格納するADMINISTER KEY MANAGEMENT文によって、TDE GoldenGate共有シークレットをキーストアに格納できます。

この手順を開始する前に、「ソフトウェア・キーストアの構成」および「ハードウェア・キーストアの構成」に基づいてTDEソフトウェアまたはハードウェア・キーストアを構成したことを確認します。

1. 次の構文を使用して、キーストアにOracle GoldenGateのTDEキーを設定します。

ADMINISTER KEY MANAGEMENT ADD|UPDATE|DELETE SECRET 'secret'

FOR CLIENT 'secret_identifier' [USING TAG 'tag']

IDENTIFIED BY keystore_password [WITH BACKUP [USING

'backup_identifier']];

ここでは次のように指定します。secretは、格納、更新、または削除するクライアントの秘密キーです。この設定は、一重引用符(' ')で囲みます。

secret_identifierは、秘密キーの識別に使用される英数字の文字列です。secret_identifierにはデフォルト値はありません。この設定は、一重引用符(' ')で囲みます。

tagは、格納する秘密キーについてのオプションのユーザー定義の説明です。tagは、ADDおよびUPDATE操作と一緒に使用できます。この設定は、一重引用符(' ')で囲みます。このタグは、V$CLIENT_SECRETSビューのSECRET_TAG列に表示されます。レポート用のTDEマスター暗号化キーのカスタム属性の作成

keystore_passwordは、構成されているキーストアのパスワードです。

WITH BACKUPは、ADD、UPDATEまたはDELETE操作の前にキーストアがバックアップされていない場合は必須です。backup_identifierは、バックアップについてのオプションのユーザー定義の説明です。backup_identifierは、一重引用符(' ')で囲みます。

次の例は、秘密キーをキーストアに追加して、キーストアと同じディレクトリにバックアップを作成します。

コピー

215

Page 216: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT ADD SECRET 'some_secret'

FOR CLIENT 'ORACLE_GG' USING TAG 'GoldenGate Secret'

IDENTIFIED BY password WITH BACKUP USING 'GG backup';

2. 作成したエントリを確認します。

例:

SELECT CLIENT, SECRET_TAG FROM V$CLIENT_SECRETS WHERE CLIENT =

'ORACLEGG';

CLIENT SECRET_TAG

-------- ------------------------------------------

ORACLEGG some_secret

3. ログ・ファイルを切り換えます。

CONNECT / AS SYSDBA

ALTER SYSTEM SWITCH LOGFILE;

関連項目:

タグの詳細は、「レポート用のTDEマスター暗号化キーのカスタム属性の作成」を参照してください。ログ・ファイルの切換えの詳細は、『Oracle Database管理者ガイド』を参照してください

Oracle Real Application Clusters (RAC)環境でこの手順の使用に問題が発生した場合は、透過的データ暗号化とOracle Real Application Clustersとの連携を参照してください。

親トピック: Oracle GoldenGate用のキーストア・サポートの構成

ステップ4: TDE Oracle GoldenGate共有シークレットをExtractプロセスに設定するGoldenGateソフトウェア・コマンド・インタフェース(GGSCI)ユーティリティによって、TDE

コピー

コピー

コピー

216

Page 217: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle GoldenGate共有シークレットをExtractプロセスに設定します。

1. GGSCIユーティリティを起動します。

例:

ggsci

2. GGSCIユーティリティで、ENCRYPT PASSWORDコマンドを実行してOracle GoldenGateExtractパラメータ・ファイル内の共有シークレットを暗号化します。

ENCRYPT PASSWORD shared_secret algorithm ENCRYPTKEY keyname

ここでは次のように指定します。shared_secretは、キーストアの共有シークレットを決定するときに作成したクリアテキストの共有シークレットです。この設定では大文字と小文字が区別されます。algorithmは、AES暗号化を指定する次のいずれかの値です。

AES128

AES192

AES256

keynameは、ENCKEYS参照ファイルの暗号化キーの論理名です。Oracle GoldenGateでは、この名前を使用して、ENCKEYSファイル内で実際のキーが参照されます。

例:

ENCRYPT PASSWORD password AES256 ENCRYPTKEY mykey1

3. Oracle GoldenGate Extractパラメータ・ファイルで、DECRYPTPASSWORDオプションを指定してDBOPTIONSパラメータを設定します。

入力として、暗号化共有シークレットと、Oracle GoldenGateによって生成されたか、またはユーザーが定義した復号化キーを指定します。

DBOPTIONS DECRYPTPASSWORD shared_secret algorithm ENCRYPTKEY

コピー

コピー

コピー

コピー

217

Page 218: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keyname

ここでは次のように指定します。shared_secretは、キーストアの共有シークレットを決定するときに作成したクリアテキストの共有シークレットです。この設定では大文字と小文字が区別されます。algorithmは、AES暗号化を指定する次のいずれかの値です。

AES128

AES192

AES256

keynameは、ENCKEYS参照ファイルの暗号化キーの論理名です。

例:

DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH

AES256 ENCRYPTKEY mykey1

関連項目

ステップ1: キーストアの共有シークレットを決定する

親トピック: Oracle GoldenGate用のキーストア・サポートの構成

コピー

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

218

Page 219: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

5 統一モードでのキーストアおよびTDEマスター暗号化キーの管理統一モードでは、CDB、およびキーストアが統一モードになっているPDBの共通のキーストアを作成できます。

CDBおよびPDBのキーは共通キーストアに格納されます。

統一モードでのキーストアおよびTDEマスター暗号化キーの管理について統一モードでは、同じキーストアに格納されるCDBおよびPDBのキーストアおよびTDEマスター暗号化キーを作成します。

統一モードで許可される操作CDBルートで実行される多くのADMINISTER KEY MANAGEMENT操作は、統一モードのPDBのキーストアおよび暗号化キーに適用されます。

統一モードのPDBで許可されない操作統一モードのPDBで許可されないADMINISTER KEY MANAGEMENT操作は、CDBルートで実行できます。

統一モードでのキーストアの場所とタイプの構成統一モードでは、パラメータのみ、またはパラメータとALTER SYSTEM文の組合せを使用して、キーストアの場所とタイプを構成できます。

統一モードで使用するためのソフトウェア・キーストアの構成統一モードでは、ソフトウェア・キーストアは、CDBルート内に存在しますが、このキーストアのマスター・キーは、統一モードのキーストアを持つPDBで使用可能です。

統一モードでのハードウェア・キーストアの構成統一モードでは、ハードウェア・キーストアは暗号化キーを保存するために設計された、ハードウェア・セキュリティ・モジュール(HSM)内にあります。

統一モードでのキーストアおよびTDEマスター暗号化キーの管理

219

Page 220: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードで使用するためのキーストアとマスター暗号化キーを構成した後、TDEマスター暗号化キーのキー更新などのタスクを実行できます。

統一モードでの透過的データ暗号化の管理統一モードで透過的データ暗号化を使用した一般的な管理タスクを実行できます。

親トピック: 透過的データ暗号化の使用

統一モードでのキーストアおよびTDEマスター暗号化キーの管理について統一モードでは、同じキーストアに格納されるCDBおよびPDBのキーストアおよびTDEマスター暗号化キーを作成します。

統一モードのキーストアを持つPDBのキーは、CDBルートまたはPDBから作成できます。

この設計により、1つのキーストアでCDB環境全体を管理し、PDBでそのキーストアを共有できますが、個々の統一モードのPDBでこのキーストアの動作をカスタマイズできます。たとえば、統一モードのPDBでは、CDBルートで作成した統合キーストア内のPDB用のTDEマスター暗号化キーを構成し、キーストアをローカルで開き、キーストアをローカルで閉じることができます。これらのアクションを実行するには、CDBルートのキーストアが開いている必要があります。

統一モードまたは分離モードを使用するように環境を構成する前は、CDB環境内のすべてのPDBは、統一モードであるとみなされます。

統一モードを使用するには、次の一般的なステップに従う必要があります。

1. CDBルートで、WALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータを設定することで、統一モードを使用するようにデータベースを構成します。WALLET_ROOTパラメータは、ウォレット・ディレクトリの場所を設定し、TDE_CONFIGURATIONパラメータは、使用するキーストアのタイプを設定します。

2. これらの設定を有効にするために、データベースを再起動します。

3. CDBルートで、キーストアを作成し、キーストアを開き、TDEマスター暗号化キーを作成します。

4. 統一モードの各PDBで、統一モードのPDBでローカルにキーストアを開いたり、PDBのTDEマスター暗号化キーを作成したりするなど、必要に応じてTDEマスター暗号化キーのタスクを実行します。キーストアはCDBルートで管理されますが、PDBでTDEを使用できるようにするには、PDB固有のTDEマスター暗号化キーがキーストアに含まれている必要があることに注意してください。

CDBルートから統一モードでADMINISTER KEY MANAGEMENT文を実行すると、文でCONTAINER句が受け入れられ、それをALLに設定した場合、その文は、CDBルートおよびそれ

220

Page 221: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

に関連付けられた統一モードのPDBにのみ適用されます。分離モードのPDBはすべて影響を受けません。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードで許可される操作CDBルートで実行される多くのADMINISTER KEY MANAGEMENT操作は、統一モードのPDBのキーストアおよび暗号化キーに適用されます。

CDBルートで使用可能な統一モード関連の操作

表5-1では、CDBルートで実行できるADMINISTER KEY MANAGEMENT操作について説明します。

表5-1 CDBルートでのADMINISTER KEY MANAGEMENT統一モード操作

操作 構文統一モードのノート

キーストアの作成

ADMINISTER KEY MANAGEMENT

CREATE KEYSTORE

['keystore_location']

IDENTIFIED BY keystore_password;

CDBルートでキーストアを作成した後、デフォルトで、そのキーストアは、統一モードのPDBで使用できます。CONTAINER句を含めないでください。

キーストアを開く

ADMINISTER KEY MANAGEMENT

SET KEYSTORE OPEN

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

[CONTAINER = ALL | CURRENT];

この操作のEXTERNALSTORE句では、PDBごとのWALLET_ROOTの場所のtde_sepsディレクトリにあるSSOウォレット内のパスワードが使用されます。

キーストア・パスワードの変更

ADMINISTER KEY MANAGEMENT

ALTER KEYSTORE PASSWORD

IDENTIFIED BY old_keystore_password

SET new_keystore_passwordWITH BACKUP

[USING 'backup_identifier'];

CONTAINER句を含めないでください。

221

Page 222: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストアのバックアップ

ADMINISTER KEY MANAGEMENT

BACKUP KEYSTORE

[USING 'backup_identifier']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[TO 'keystore_location'];

CONTAINER句を含めないでください。

強制せずにキーストアを閉じる

ADMINISTER KEY MANAGEMENT

SET KEYSTORE CLOSE

[IDENTIFIED BY [EXTERNAL STORE |

keystore_password]]

[CONTAINER = ALL | CURRENT];

分離モードのPDBキーストアが開いている場合は、この文によって「ORA-46692 ウォレットをクローズできません」エラーが発生します。

強制的にキーストアを閉じる

ADMINISTER KEY MANAGEMENT

FORCE KEYSTORE CLOSE

[IDENTIFIED BY [EXTERNAL STORE |

keystore_password]]

[CONTAINER = ALL | CURRENT];

この操作を使用すると、分離したキーストアが開いているときに、CDBルートでキーストアを閉じることができます。

新しいTDEマスター暗号化キーの作成およびアクティブ化(キー更新) ADMINISTER KEY MANAGEMENT

SET [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP

-

222

Page 223: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[USING 'backup_identifier']]

[CONTAINER = ALL | CURRENT]

今すぐ(SET)または後から(CREATE)ユーザー定義のTDEマスター暗号化キーを作成する

ADMINISTER KEY MANAGEMENT [SET |

CREATE] [ENCRYPTION] KEY

'mkid:mk | mk'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP [USING

'backup_identifier']]

[CONTAINER = CURRENT];

-

既存のTDEマスター暗号化キーのアクティブ化 ADMINISTER KEY MANAGEMENT

USE [ENCRYPTION] KEY 'key_id

[USING TAG 'tag']

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

WITH BACKUP

[USING 'backup_identifier'];

CONTAINER句を含めないでください。

TDEマスター暗号化キーのタグ付け

ADMINISTER KEY MANAGEMENT

SET TAG 'tag' FOR 'key_id'

IDENTIFIED BY [EXTERNAL STORE |

keystore_password ]

WITH BACKUP

[USING 'backup_identifier'];

CONTAINER句を含めないでください。

223

Page 224: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TDEマスター暗号化キーを新しいキーストアに移動する ADMINISTER KEY MANAGEMENT

MOVE [ENCRYPTION] KEYS

TO NEW KEYSTORE 'keystore_location1'

IDENTIFIED BY keystore1_password

FROM [FORCE] KEYSTORE

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_id' [, 'key_id' ]... | (

subquery ) } ]

[WITH BACKUP

[USING 'backup_identifier'];

マスター暗号化キーは、同じコンテナ内のキーストアにのみ移動できます(たとえば、CDBルートのキーストア間や同じPDBのキーストア間)。CDBルートのキーストアのマスター暗号化キーをPDBのキーストアに移動することはできず、その逆もできません。

CONTAINER句を含めないでください。

統一モードのPDBで使用可能な操作

表5-2では、統一モードのPDBで実行できるADMINISTER KEY MANAGEMENT操作について説明します。

表5-2 ADMINISTER KEY MANAGEMENT統一モードPDB操作

操作 構文統一モードのノート

キーストアを開く

ADMINISTER KEY MANAGEMENT

SET KEYSTORE OPEN

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

[CONTAINER = CURRENT];

この操作のEXTERNAL_STORE句では、SecureSocketsLayer(SSL)ウォレット内のパスワードが使用されます。このウォレットは、WALLET_ROOTの場所のtde_sepsディレクトリにあります。

強制せずにキーストアを閉じる

ADMINISTER KEY MANAGEMENT

SET KEYSTORE CLOSE

[IDENTIFIED BY keystore_password]

-

224

Page 225: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[CONTAINER = CURRENT];

強制的にキーストアを閉じる

ADMINISTER KEY MANAGEMENT

FORCE KEYSTORE CLOSE

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

[CONTAINER = CURRENT];

-

新しいTDEマスター暗号化キーを作成およびアクティブ化する(キー更新またはローテーション)

ADMINISTER KEY MANAGEMENT

SET [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP

[USING 'backup_identifier']]

[CONTAINER = CURRENT];

-

今すぐ(SET)または後から(CREATE)使用するユーザー定義のTDEマスター暗号化キーを作成する

ADMINISTER KEY MANAGEMENT SET |

CREATE [ENCRYPTION] KEY

'mkid:mk | mk'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP [USING

'backup_identifier']]

[CONTAINER = CURRENT];

-

既存のTDEマスタ CONTAINER句を

225

Page 226: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ー暗号化キーのアクティブ化 ADMINISTER KEY MANAGEMENT

USE [ENCRYPTION] KEY 'key_id'

[USING TAG 'tag']

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

[WITH BACKUP

[USING 'backup_identifier']];

含めないでください。

TDEマスター暗号化キーのタグ付け

ADMINISTER KEY MANAGEMENT

SET TAG 'tag' FOR 'key_id'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP

[USING 'backup_identifier']];

CONTAINER句を含めないでください。

暗号化キーを新しいキーストアに移動する ADMINISTER KEY MANAGEMENT

MOVE [ENCRYPTION] KEYS

TO NEW KEYSTORE 'keystore_location1'

IDENTIFIED BY keystore1_password

FROM [FORCE] KEYSTORE

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_id' [, 'key_id' ]... | (

subquery ) } ]

[WITH BACKUP

[USING 'backup_identifier']];

CONTAINER句を含めないでください。

CDBルートの統一モードのキーストアにあるキーをPDBの分離モードのキーストアに

ADMINISTER KEY MANAGEMENT

ISOLATE KEYSTORE

CONTAINER句を含めないでください。

226

Page 227: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

移動する IDENTIFIED BY

isolated_keystore_password

FROM ROOT KEYSTORE

[FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE |

united_keystore_password]

[WITH BACKUP [USING backup_id]];

PDBのクローンが分離されているTDEマスター暗号化キーを使用している場合にFORCE句を使用し、CDBルート内のキーストアのTDEマスター暗号化キーをPDBの分離モードのキーストアに(移動するのではなく)コピーする

ADMINISTER KEY MANAGEMENT

FORCE ISOLATE KEYSTORE

IDENTIFIED BY

isolated_keystore_password

FROM ROOT KEYSTORE

[FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE |

united_keystore_password]

[WITH BACKUP [USING backup_id]];

-

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードのPDBで許可されない操作統一モードのPDBで許可されないADMINISTER KEY MANAGEMENT操作は、CDBルートで実行できます。

操作は次のとおりです。

キーストアの操作:

キーストアでのマージ操作の実行

キーストアのエクスポート

キーストアのインポート

キーストアの移行

キーストアの逆移行

227

Page 228: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

PDBのキーストアへのCDBルートにあるキーストアのキーの移動

CDBルートにある統一モードのキーストアへのPDBにあるキーの移動

暗号化キーの操作:

CONTAINER = ALL句を使用した、各プラガブル・データベース(PDB)での後から使用する新しいTDEマスター暗号化キーの作成

クライアント・シークレットの操作:

クライアント・シークレットの追加

クライアント・シークレットの更新

クライアント・シークレットの削除

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードのキーストアの場所とタイプの構成統一モードでは、パラメータのみ、またはパラメータとALTER SYSTEM文の組合せを使用して、キーストアの場所とタイプを構成できます。

初期化パラメータ・ファイルの編集による統一モードの構成初期化パラメータ・ファイル内のWALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータの両方を設定することにより、統一モードを構成できます。

初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成環境がサーバー・パラメータ・ファイル(spfile)またはパラメータ・ファイル(pfile)に依存している場合は、SCOPEを指定したALTER SYSTEMを使用して、TDE_CONFIGURATIONを設定できます。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

初期化パラメータ・ファイルの編集による統一モードの構成初期化パラメータ・ファイル内のWALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータの両方を設定することにより、統一モードを構成できます。

1. OracleデータベースのCDBルートが存在するサーバーにログインします。

2. 必要に応じて、ウォレット・ディレクトリを作成します。通常、ウォレット・ディレクトリは$ORACLE_BASE/admin/db_unique_nameディレクトリにあり、walletという名前が付いています。このディレクトリは空であると理想的です。

3. デフォルトでは$ORACLE_HOME/dbsディレクトリにある初期化パラメータ・ファイルを編集して、次のパラメータを含めます。

228

Page 229: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

WALLET_ROOT。ウォレット・ディレクトリの場所を指すようにします。たとえば、orclという名前のデータベースの場合、次のようになります。

wallet_root=$ORACLE_BASE/admin/orcl/wallet

TDE_CONFIGURATION。次のキーストア・タイプのいずれかを指定します。

FILEは、ソフトウェア・キーストアを示します。

OKVは、Oracle Key Vaultキーストアを示します。

HSMは、ハードウェア・セキュリティ・モジュール(HSM)のキーストアを示します。

たとえば、TDEキーストア・タイプを指定するために、次のようにします。

tde_configuration="keystore_configuration=file"

4. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。例:

sqlplus c##sec_admin as syskm

Enter password: password

5. 構成の設定を確認します。

WALLET_ROOTパラメータ:

SHOW PARAMETER WALLET_ROOT

出力のVALUE列に、walletディレクトリの絶対パスの場所が示されるはずです。

TDE_CONFIGURATIONパラメータ:

SHOW PARAMETER TDE_CONFIGURATION

コピー

コピー

コピー

コピー

コピー

229

Page 230: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

VALUE列に、KEYSTORE_CONFIGURATION=が前に付加されたキーストア・タイプが示されるはずです。

値が表示されない場合は、これらの設定を追加した初期化パラメータ・ファイルの場所を指して、STARTUPコマンドでデータベースを再起動してください。例:

STARTUP PFILE = /u01/oracle/dbs/init.ora

6. TDE_CONFIGURATIONパラメータが正しく設定されていることを確認します。

SELECT CON_ID, KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;

出力は次のようになります。

CON_ID KEYSTORE

---------- --------

1 NONE

2 UNITED

3 UNITED

4 UNITED

5 UNITED

CDBルート(CON_ID 1)は常にNONE状態になり、この段階で、残りのCON_IDはUNITEDに設定されているはずです。PDBは、どのように構成したのかに応じて、UNITEDまたはISOLATEDのいずれかです。V$ENCRYPTION_WALLETビューを問い合せると、「ORA-46691: KEYSTORE_CONFIGURATION属性の値が無効です。」エラーが表示された場合は、この設定を追加した初期化パラメータ・ファイルを確認してください。

統一モードを構成した後、キーストアとマスター暗号化キーを作成でき、それらが構成されている場合、データを暗号化できます。

親トピック: 統一モードのキーストアの場所とタイプの構成

初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成環境がサーバー・パラメータ・ファイル(spfile)またはパラメータ・ファイル(pfile)に依存している

コピー

コピー

コピー

230

Page 231: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

場合は、SCOPEを指定したALTER SYSTEMを使用して、TDE_CONFIGURATIONを設定できます。

この方法でも、初期化パラメータ・ファイル内のWALLET_ROOT静的初期化パラメータを設定します。

1. OracleデータベースのCDBルートが存在するサーバーにログインします。

2. 必要に応じて、ウォレット・ディレクトリを作成します。通常、ウォレット・ディレクトリは$ORACLE_BASE/admin/db_unique_nameディレクトリにあり、walletという名前が付いています。このディレクトリは空であると理想的です。

3. 初期化パラメータ・ファイルを編集して、ウォレット・ディレクトリのWALLET_ROOT静的初期化パラメータを含めます。デフォルトでは、初期化パラメータ・ファイルは、$ORACLE_HOME/dbsディレクトリにあります。たとえば、orclという名前のデータベース・インスタンスの場合は、次のとおりです。

wallet_root=$ORACLE_BASE/admin/orcl/wallet

4. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。例:

sqlplus c##sec_admin as syskm

Enter password: password

5. データベースを再起動します。

SHUTDOWN IMMEDIATE

STARTUP

WALLET_ROOT設定を追加した初期化ファイルの場所を指すことによってデータベースを起動するには、次のようなSTARTUPコマンドを発行します。

STARTUP PFILE = /u01/oracle/dbs/init.ora

6. WALLET_ROOT設定を確認します。

コピー

コピー

コピー

コピー

231

Page 232: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SHOW PARAMETER WALLET_ROOT

出力のVALUE列に、walletディレクトリの絶対パスの場所が示されるはずです。

7. 次の構文を使用して、TDE_CONFIGURATION動的初期化パラメータを設定してキーストアのタイプを指定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SCOPE=scope_type;

ここでは次のように指定します。

keystore_typeには、統一モードの次の設定のいずれかを指定できます。

FILE。TDEキーストアを構成します。

OKV。Oracle Key Vaultキーストアを構成します。

HSM。ハードウェア・セキュリティ・モジュール(HSM)キーストアを構成します。

scope_typeには、スコープのタイプ(たとえば、both、memory、spfile、pfile)を設定します。

たとえば、パラメータ・ファイル(pfile)を使用している場合にTDEキーストアを構成するには、scopeをmemoryに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

サーバー・パラメータ・ファイル(spfile)を使用している場合にTDEキーストアを構成するには、scopeをbothに設定します。

ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"

SCOPE=both;

コピー

コピー

コピー

コピー

232

Page 233: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

8. TDE_CONFIGURATIONパラメータの設定を確認します。

SHOW PARAMETER TDE_CONFIGURATION

VALUE列に、KEYSTORE_CONFIGURATION=が前に付加されたキーストア・タイプが示されるはずです。

9. TDE_CONFIGURATIONパラメータが正しく設定されていることを確認します。

SELECT CON_ID, KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;

出力は次のようになります。

CON_ID KEYSTORE

---------- --------

1 NONE

2 UNITED

3 UNITED

4 UNITED

5 UNITED

CDBルート(CON_ID 1)は常にNONE状態になり、この段階で、残りのCON_IDはUNITEDに設定されているはずです。PDBは、どのように構成したのかに応じて、UNITEDまたはISOLATEDのいずれかです。V$ENCRYPTION_WALLETビューを問い合せると、「ORA-46691: KEYSTORE_CONFIGURATION属性の値が無効です。」エラーが表示された場合は、この設定を追加した初期化パラメータ・ファイルを確認してください。

統一モードを構成した後、キーストアとマスター暗号化キーを作成でき、それらが構成されている場合、データを暗号化できます。

親トピック: 統一モードのキーストアの場所とタイプの構成

統一モードで使用するためのソフトウェア・キーストアの構成統一モードでは、ソフトウェア・キーストアは、CDBルート内に存在しますが、このキーストア

コピー

コピー

コピー

233

Page 234: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

のマスター・キーは、統一モードのキーストアを持つ で使用可能です。

統一モードでのソフトウェア・キーストアの構成について統一モードでは、CDBルートで作成されたキーストアは、統一モードのPDBからアクセス可能になります。

ステップ1: ソフトウェア・キーストアの作成統一モードでは、CDBルート内にキーストアを作成する必要があります。

統一モードのPDBでソフトウェア・キーストアを開く統一モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を指定して、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

ステップ3: 統一モードでのソフトウェア・キーストアのTDEマスター暗号化キーの設定PDBが統一モードで構成されている場合、キーストアのTDEマスター暗号化キーを設定するには、SET KEY句を指定して、ADMINISTER KEY MANAGEMENT文を使用します。

ステップ4: 統一モードでのデータの暗号化キーストアの構成が完了し、PDBが統一モードで構成されているので、PDBでのデータの暗号化を開始できます。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのソフトウェア・キーストアの構成について統一モードでは、CDBルートで作成されたキーストアは、統一モードのPDBからアクセス可能になります。

一般的に、統一モードを有効にした後、統一モードのソフトウェア・キーストアを構成するには、CDBルートでキーストアを作成して開き、そのキーストアのマスター暗号化キーを作成します。その後、CDB環境全体からアクセスできる表と表領域のデータの暗号化を開始できます。

V$ENCRYPTION_WALLET動的ビューでは、キーストアのステータスと場所が示されます。たとえば、次の問合せでは、CDBルート・キーストア(CON_ID 1)のステータス(開いている/閉じている)と場所、およびそれに関連付けられている統一モードのPDBのキーストアが示されます。WRL_PARAMETER列では、CDBルート・キーストアの場所が$ORACLE_BASE/wallet/tdeディレクトリ内にあることが示されています。

SELECT CON_ID, STATUS, WRL_PARAMETER FROM V$ENCRYPTION_WALLET;

CON_ID STATUS WRL_PARAMETER

------ ------ -----------------------------

1 OPEN /app/oracle/wallet/tde/

コピー

PDB

234

Page 235: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2 CLOSED

3 OPEN

4 OPEN

5 OPEN

この出力では、このCDB内の他のPDBに対してキーストアのパスはリストされていません。それらのPDBは、CDBルート内のキーストアを使用するからです。これらのいずれかのPDBが分離されており、分離モードのPDBでキーストアを作成した場合は、この問合せを実行したときに、WRL_PARAMETER列で分離モードのPDBのキーストア・パスが示されます。

ソフトウェア・キーストア用に安全な外部ストアを作成できます。この機能では、パスワードをオペレーティング・システムから隠すことができます。それにより、終夜のバッチ・スクリプトなどのユーザーの操作なしにデータベースにアクセスできるスクリプトや他のツールにクリアテキスト・キーストア・パスワードを保存する必要がなくなります。このキーストアの場所は、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION初期化パラメータによって設定されます。マルチテナント環境では、ADMINISTER KEY MANAGEMENT文をIDENTIFIED BY EXTERNALSTORE句を使用して実行すると、様々なPDBがこの外部ストアの場所にアクセスできます。このように、パスワードをまとめて配置すると、パスワードの更新は外部ストアで一度のみで済みます。

親トピック: 統一モードで使用するためのソフトウェア・キーストアの構成

ステップ1: ソフトウェア・キーストアの作成統一モードでは、CDBルート内にキーストアを作成する必要があります。

CDBルートでキーストアを作成すると、そのキーストアは、すべての統一モードのPDBで使用可能になりますが、いずれの分離モードのPDBでも使用可能になりません。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。例:

sqlplus c##sec_admin as syskm

Enter password: password

2. 次の構文を使用して、ADMINISTER KEY MANAGEMENT SQL文を実行してキーストアを作成します。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

['keystore_location']

コピー

コピー

235

Page 236: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY software_keystore_password;

ここでは次のように指定します。

keystore_locationは、自動ログイン・キーストアを作成するパスワード保護されたキーストアのキーストア・ディレクトリの場所に対するパスです。WALLET_ROOTパラメータで設定されているパスを使用する場合は、keystore_location設定を省略できます。keystore_locationを指定する場合は、一重引用符(' ')で囲んでください。デフォルトの場所を見つけるには、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。(キーストアがデフォルトの場所に作成されていない場合、V$ENCRYPTION_WALLETビューのSTATUS列はNOT_AVAILABLEになります。)

software_keystore_passwordは、セキュリティ管理者が作成するキーストアのパスワードです。

たとえば、WALLET_ROOTが設定されていることを前提として、デフォルトの場所にキーストアを作成するには、次のようにします。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

IDENTIFIED BY password;

keystore altered.

これらのステップを実行すると、キーストアを含むewallet.p12ファイルが、指定したキーストアの場所に生成されます。たとえば、WALLET_ROOTパラメータを$ORACLE_BASE/walletに設定し、TDE_CONFIGURATIONパラメータをFILE (TDEの場合、ウォレットのルートの場所にtdeディレクトリが作成されます)に設定した場合、キーストアは、$ORACLE_BASE/wallet/tdeディレクトリに作成されます。キーストアの名前は、ewallet.p12です。

関連項目

キーストア・パスワードのための外部ストアの構成

親トピック: 統一モードで使用するためのソフトウェア・キーストアの構成

統一モードのPDBでソフトウェア・キーストアを開く

コピー

236

Page 237: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与された一般ユーザーとして、CDBルートに接続します。例:

CONNECT c##sec_admin AS SYSKM

Enter password: password

2. CDBルートのキーストアを開きます。例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

keystore altered.

CDBがEXTERNAL_KEYSTORE_CREDENTIAL_LOCATIONインスタンス初期化パラメータを使用して構成されていて、パスワードで保護されたキーストアの資格証明を含むキーストアがその場所にある場合、自動ログイン・キーストアの使用から、これらの資格証明が含まれているパスワードで保護されたキーストアの使用に切り替えるには、次のように、ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN文でFORCE KEYSTORE句およびIDENTIFIED BY EXTERNAL STORE句を含める必要があります。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

keystore altered.

WALLET_ROOTパラメータが設定されている場合、Oracle Databaseでは、CDBルート内のパスWALLET_ROOT/tde_sepsを検索することによって、外部ストアを検索します。

3. キーストアを開くPDBが、READ WRITEモードになっていることを確認してください。例:

コピー

コピー

コピー

237

Page 238: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SHOW PDBS

CON_ID CON_NAME OPEN MODE RESTRICTED

------ ---------- ------------ -----------

2 PDB$SEED READ ONLY NO

3 CDB1_PDB1 READ WRITE NO

いずれかのPDBに、READ WRITEとは異なるOPEN MODE値が設定されている場合、次の文を実行してPDBを開くと、READ WRITEモードに設定されます。

ALTER PLUGGABLE DATABASE CDB1_PDB1 OPEN;

これで、キーストアをCDBルートとPDBの両方で開くことができるようになりました。

4. PDBに接続します。

5. ADMINISTER KEY MANAGEMENT文を実行してキーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

keystore altered.

自動ログイン・キーストアが構成されており、現在開いている場合、パスワード保護されたソフトウェア・キーストアを開くように切り替えるには、FORCE KEYSTORE句を次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

keystore altered.

FORCE KEYSTOREは、負荷が高いデータベースにも役立ちます。キーストア資格証明が外部ストアに存在するため、IDENTIFIED BY EXTERNAL STORE句が文に含まれています。これにより、文自体の中でキーストア・パスワードを指定せずに、パスワード保護されたキーストアを開くことができます。

WALLET_ROOTパラメータが設定されている場合、Oracle Databaseは、パスWALLET_ROOT/PDB_GUID/tde_sepsを検索して、外部ストアを探します。

コピー

コピー

コピー

コピー

238

Page 239: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

6. キーストアが開いていることを確認します。

SELECT STATUS FROM V$ENCRYPTION_WALLET;

キーストアが開いていても、TDEマスター暗号化キーをまだ作成していない場合は、V$ENCRYPTION_WALLETビューのSTATUS列によってOPEN_NO_MASTER_KEYステータスが知らされます。

親トピック: 統一モードで使用するためのソフトウェア・キーストアの構成

ステップ3: 統一モードでのソフトウェア・キーストアのTDEマスター暗号化キーの設定PDBが統一モードに設定されている場合にキーストアのTDEマスター暗号化キーを設定するには、SET KEY句を指定して、ADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードが構成されているPDBにログインします。

2. データベースがREAD WRITEモードでオープンしていることを確認します。ステータスを確認するには、show pdbsコマンドを実行します。

3. ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY文を実行してキーストアのTDEマスター暗号化キーを作成またはキー更新します。たとえば、キーストアがパスワードで保護されていて、開いている場合に、現在のコンテナでTDEマスター暗号化キーを作成またはキー更新するには、次のようにします。

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

keystore altered.

キーストアが閉じている場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

コピー

コピー

コピー

239

Page 240: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

ここでは次のように指定します。

キーストアが閉じている場合は、FORCE KEYSTOREを含める必要があります。これにより、TDEマスター暗号化キーを設定する前に、キーストアが自動的に開きます。また、FORCE KEYSTORE句は、自動ログイン・キーストアが構成されており、現在開いている場合に、パスワード保護されたソフトウェア・キーストアを開くように切り替えます。IDENTIFIED BYはキーストア・パスワードを指定します。または、キーストア・パスワードが外部ストアにある場合は、IDENTIFIED BY EXTERNAL STORE句を使用できます。

4. TDEマスター暗号化キーが設定されていることを確認します。

SELECT MASTERKEY_ACTIVATED FROM V$DATABASE_KEY_INFO;

出力はYESとなっている必要があります。

関連項目

ソフトウェア・キーストアのTDEマスター暗号化キーの設定について

親トピック: 統一モードで使用するためのソフトウェア・キーストアの構成

ステップ4: 統一モードでのデータの暗号化キーストアの構成が完了し、PDBが統一モードで構成されているので、PDBでのデータの暗号化を開始できます。

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: 統一モードで使用するためのソフトウェア・キーストアの構成

統一モードでのハードウェア・キーストアの構成統一モードでは、ハードウェア・キーストアは、暗号化キーを保存するために設計された、ハードウェア・セキュリティ・モジュール(HSM)内にあります。

コピー

240

Page 241: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでのハードウェア・キーストアの構成について分離モードを使用しているPDBでハードウェア・キーストアを作成する必要がありますが、他のタスクは統一モードで実行できます。

ステップ1: 統一モードのハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、PKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります。

ステップ2: 統一モードのPDBでハードウェア・キーストアを開く統一モードでハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を指定して、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

ステップ3: 統一モードでのハードウェア・キーストアのTDEマスター暗号化キーの設定PDBが統一モードで構成されている場合、キーストアのTDEマスター暗号化キーを設定するには、SET KEY句を指定して、ADMINISTER KEY MANAGEMENT文を使用します。

ステップ4: 統一モードでのデータの暗号化キーストアの構成が完了し、PDBが統一モードで構成されているので、PDBでのデータの暗号化を開始できます。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのハードウェア・キーストアの構成について分離モードを使用しているPDBでハードウェア・キーストアを作成する必要がありますが、他のタスクは統一モードで実行できます。

分離モードのPDBのハードウェア・キーストアを構成するには、まずWALLET_ROOTパラメータを設定する必要があります。これが必要な理由は2つあります。1つは、将来ソフトウェア・キーストアに移行できるようにするため、もう1つは、Oracle Key Vaultの構成ファイルがWALLET_ROOTの下の場所から取得されるためです。次に、TDE_CONFIGURATIONパラメータのKEYSTORE_CONFIGURATION属性をHSMまたはOKVに設定し、構成したハードウェア・キーストアを開いて、PDBのTDEマスター暗号化キーを設定する必要があります。これらのタスクを完了すると、PDB内のデータを暗号化できるようになります。

ADMINISTER KEY MANAGEMENT文を実行するときにIDENTIFIED BY句を指定する方法は、ハードウェア・キーストアのタイプによって異なります。ハードウェア・セキュリティ・モジュール(HSM)の場合は、次の構文を使用します。

IDENTIFIED BY "user_name:password"

Oracle Key Vaultキーストアの場合、次のように、user_nameおよびコロンを省略できます(ただ

コピー

241

Page 242: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

し、引用符は保持)。

IDENTIFIED BY "password"

親トピック: 統一モードでのハードウェア・キーストアの構成

ステップ1: 統一モードのハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、PKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります

関連項目

ステップ2: ハードウェア・セキュリティ・モジュールの構成

親トピック: 統一モードでのハードウェア・キーストアの構成

ステップ2: 統一モードのPDBでハードウェア・キーストアを開く統一モードでハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与された一般ユーザーとして、CDBルートにログインします。例:

sqlplus c##sec_admin as syskm

Enter password: password

2. 次の構文を使用して、CDBルートのキーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "hardware_keystore_credentials";

ハードウェア・キーストアのタイプによって、ハードウェア・キーストアのパスワードを指定する方法が異なります。ハードウェア・セキュリティ・モジュールの場合は、user_name:passwordという構文を使用する必要があります。例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

コピー

コピー

コピー

コピー

242

Page 243: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY "psmith:password";

keystore altered.

Oracle Key Vaultキーストアの場合は、パスワードを入力するだけで済みます。IDENTIFIEDBY句でユーザー名を指定することはできません。パスワードは二重引用符で囲みます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "password";

3. キーストアを開くPDBが、READ WRITEモードになっていることを確認してください。例:

SHOW PDBS

CON_ID CON_NAME OPEN MODE RESTRICTED

------ ---------- ------------ -----------

2 PDB$SEED READ ONLY NO

3 CDB1_PDB1 READ WRITE NO

いずれかのPDBに、READ WRITEとは異なるOPEN MODE値が設定されている場合、次の文を実行してPDBを開くと、READ WRITEモードに設定されます。

ALTER PLUGGABLE DATABASE CDB1_PDB1 OPEN;

これで、キーストアをCDBルートとPDBの両方で開くことができるようになりました。

4. PDBに接続し、ADMINISTER KEY MANAGEMENT文を実行してキーストアを開きます。たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:password";

keystore altered.

コピー

コピー

コピー

コピー

243

Page 244: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CDBルート・キーストアが閉じられているか、データベースの負荷が高い場合は、FORCE

KEYSTORE句を含めることができます。

5. キーストアが開いていることを確認します。

SELECT STATUS FROM V$ENCRYPTION_WALLET;

6. データベース・インスタンスを再起動するたびにこの手順を繰り返します。

関連項目

ハードウェア・キーストアを開くことについて

親トピック: 統一モードでのハードウェア・キーストアの構成

ステップ3: 統一モードでのハードウェア・キーストアのTDEマスター暗号化キーの設定PDBが統一モードに設定されている場合にキーストアのTDEマスター暗号化キーを設定するには、SET KEY句を指定して、ADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードが構成されているPDBにログインします。

2. データベースがREAD WRITEモードでオープンしていることを確認します。ステータスを確認するには、SHOW PDBSコマンドを実行します。

3. ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY文を実行してキーストアのTDEマスター暗号化キーを作成またはキー更新します。

ADMINISTER KEY MANAGEMENT SET KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

"hardware_keystore_credentials"];

ここでは次のように指定します。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハ

コピー

コピー

244

Page 245: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY "psmith:password";

keystore altered.

4. TDEマスター暗号化キーが設定されていることを確認します。

SELECT MASTERKEY_ACTIVATED FROM V$DATABASE_KEY_INFO;

出力はYESとなっている必要があります。

関連項目

ハードウェア・キーストアのTDEマスター暗号化キーの設定について

親トピック: 統一モードでのハードウェア・キーストアの構成

ステップ4: 統一モードでのデータの暗号化キーストアの構成が完了し、PDBが統一モードで構成されているので、PDBでのデータの暗号化を開始できます。

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: 統一モードでのハードウェア・キーストアの構成

統一モードでのキーストアおよびTDEマスター暗号化キーの管理

コピー

コピー

245

Page 246: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードで使用するためのキーストアとマスター暗号化キーを構成した後、TDEマスター暗号化キーのキー更新などのタスクを実行できます。

統一モードでのキーストア・パスワードの変更ソフトウェア・キーストアまたはハードウェア・キーストアのパスワードは、CDBルートでのみ変更できます。

統一モードでのパスワードで保護されたソフトウェア・キーストアのバックアップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句により、パスワードで保護されたソフトウェア・キーストアをバックアップします。

統一モードでキーストアを閉じるシステム表領域が暗号化されている場合は除き、統一モードでソフトウェア・キーストアとハードウェア・キーストアのいずれも閉じることができます。

統一モードでのユーザー定義のTDEマスター暗号化キーの作成ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を指定して、ADMINISTER KEY MANAGEMENT文を使用します。

例: すべてのPDBでのマスター暗号化キーの作成ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG文を使用して、すべてのPDBにTDEマスター暗号化キーを作成できます。

統一モードでの後で使用するためのTDEマスター暗号化キーの作成統一モードで後で使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。

統一モードでのTDEマスター暗号化キーのアクティブ化統一モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USEKEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

統一モードでのTDEマスター暗号化キーのキー更新SET KEY句を指定してADMINISTER KEY MANAGEMENT文を使用することで、TDEマスター暗号化キーをキー更新できます。

統一モードでの使用中のTDEマスター暗号化キーの検出使用中のTDEマスター暗号化キーは、データベースで最も最近アクティブ化されたキーです。

統一モードでのカスタム属性タグの作成統一モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSETTAG句を使用する必要があります。

246

Page 247: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでの新しいキーストアへのTDEマスター暗号化キーの移動統一モードでは、既存のソフトウェア・パスワード・キーストアから新しいキーストアに既存のTDEマスター暗号化キーを移動できます。

統一モードでの非アクティブなTDEマスター暗号化キーの自動削除統一モードでは、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータにより、非アクティブなTDEマスター暗号化キーの自動削除を構成できます。

プラガブル・データベース・キーストアの分離PDBキーストアを分離すると、CDBルート・キーストアのマスター暗号化キーがPDBの分離モードのキーストアに移動します。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのキーストア・パスワードの変更ソフトウェア・キーストアまたはハードウェア・キーストアのパスワードは、CDBルートでのみ変更できます。

統一モードでのパスワードで保護されたソフトウェア・キーストアのパスワードの変更統一モードでパスワードで保護されたソフトウェア・キーストアのパスワードを変更するには、CDBルートでADMINISTER KEY MANAGEMENT文を使用する必要があります。

統一モードでのハードウェア・キーストアのパスワードの変更ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアを閉じてから、ハードウェア・キーストア管理インタフェースからパスワードを変更する必要があります。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのパスワードで保護されたソフトウェア・キーストアのパスワードの変更

統一モードでパスワードで保護されたソフトウェア・キーストアのパスワードを変更するには、CDBルートでADMINISTER KEY MANAGEMENT文を使用する必要があります。

統一モードのPDBのキーストア・パスワードは変更できません。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。

2. 次の構文を使用して、キーストアのパスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

[FORCE KEYSTORE]

コピー

247

Page 248: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY

old_keystore_password SET new_keystore_password

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。FORCE KEYSTOREは、キーストアが閉じている場合、自動ログイン・キーストアが構成されていて現在開いている場合、またはパスワード保護されたキーストアが構成されていて現在閉じている場合に、パスワード保護されたキーストアをこの操作用に一時的に開きます。old_passwordは、変更する現在のキーストア・パスワードです。

new_passwordは、キーストア用に設定する新しいパスワードです。

パスワードはローカルでCDBルートにおいてのみ変更できるため、CONTAINER句を含める必要はありません。

次の例では、キーストアのバックアップを作成してから、パスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

keystore altered.

この例では同じ操作を実行しますが、自動ログイン・ソフトウェア・キーストアが使用されている場合や、パスワード保護されたソフトウェア・キーストアが閉じている場合のために、FORCE KEYSTORE句を使用します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

FORCE KEYSTORE

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

keystore altered.

関連項目

コピー

コピー

248

Page 249: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストア・パスワードを必要とする操作の実行

ソフトウェア・キーストアのパスワードの変更

親トピック: 統一モードでのキーストア・パスワードの変更

統一モードでのハードウェア・キーストアのパスワードの変更

ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアを閉じてから、ハードウェア・キーストア管理インタフェースからパスワードを変更する必要があります。

統一モードのPDBのキーストア・パスワードは変更できません。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。

2. ハードウェア・キーストアを閉じます。

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password";

パスワードが外部に格納されているキーストアでは次のようになります。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY EXTERNAL STORE;

3. ハードウェア・セキュリティ・モジュール管理インタフェースから、新しいハードウェア・セキュリティ・モジュール・パスワードを作成します。

4. 外部ストア内のHSMの資格証明を更新して、「user_name:password」が使用されるようにします。

現時点では、外部ストアに以前のHSM資格証明が含まれていますが、これは機能しなくなっています。

例:

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'user_name:password'

FOR CLIENT 'TDE_WALLET'

コピー

コピー

コピー

249

Page 250: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TO LOCAL AUTO_LOGIN KEYSTORE

'/etc/ORACLE/WALLETS/orcl/external_store';

5. SQL*Plusでハードウェア・キーストアを開きます。

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:new_password";

パスワードが外部に格納されているハードウェア・キーストアの場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY EXTERNAL STORE;

関連項目

キーストア・パスワードを必要とする操作の実行

親トピック: 統一モードでのキーストア・パスワードの変更

統一モードでのパスワードで保護されたソフトウェア・キーストアのバックアップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句により、パスワード保護されたソフトウェア・キーストアをバックアップします。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。

例:

sqlplus c##sec_admin@hrpdb as syskm

Enter password: password

Connected.

2. 次の構文を使用して、キーストアをバックアップします。

コピー

コピー

コピー

250

Page 251: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

[USING 'backup_identifier']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | software_keystore_password]

[TO 'keystore_location'];

ここでは次のように指定します。USING backup_identifierは、バックアップを識別するために指定できるオプション文字列です。この識別子は、一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_time-stamp_emp_key_backup.p12など)。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは、パスワード保護されたキーストアに対してBACKUP KEYSTORE操作を行う場合に必須です。その理由は、バックアップは既存のキーストアのコピーにすぎませんが、パスワード保護されたキーストアのTDEマスター暗号化キーのステータスをBACKED UPに設定する必要があり、この変更を行うためにキーストア・パスワードが必要になるためです。keystore_locationは、バックアップ・キーストアが格納されるパスです。PDBロックダウン・プロファイルのEXTERNAL_FILE_ACCESS設定がPDBでブロックされている場合、またはPDBの作成時にPATH_PREFIX変数が設定されていない場合は、この設定がPDBに制限されます。keystore_locationを指定しない場合、バックアップは元のキーストアと同じディレクトリに作成されます。この場所は一重引用符(' ')で囲みます。キーストアはローカルでCDBルートにおいてのみバックアップできるため、CONTAINER句を含める必要はありません。

次の例は、ソフトウェア・キーストアをソース・キーストアと同じ場所にバックアップします。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY

software_keystore_password ;

コピー

コピー

251

Page 252: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

次のバージョンでは、キーストアのパスワードが外部にあるため、EXTERNAL STORE句が使用されます。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

この文を実行すると、ewallet_identifier.p12ファイル(ewallet_time-stamp_hr.emp_keystore.p12など)が、キーストアのバックアップ場所に作成されます。

関連項目

パスワード保護されたソフトウェア・キーストアのバックアップ

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでキーストアを閉じるシステム表領域が暗号化されている場合は除き、統一モードでソフトウェア・キーストアとハードウェア・キーストアのいずれも閉じることができます。

統一モードでソフトウェア・キーストアを閉じる統一モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。

統一モードでハードウェア・キーストアを閉じるハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を指定してADMINISTER KEY MANAGEMENT文を使用する必要があります。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでソフトウェア・キーストアを閉じる

統一モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。

アクセス時に自動的に開かれる自動ログイン・キーストアの場合は、まず自動的に開くことがで

コピー

252

Page 253: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

きない新しい場所に移動してから、手動で閉じる必要があります。自動ログイン・キーストアからパスワード保護されたキーストアに構成を変更する場合は、自動ログイン・キーストアが使用されなくなるように構成を変更し(自動ログイン・キーストアを自動的に開くことができない別の場所に移動する)、その後、自動ログイン・キーストアを閉じる必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. ソフトウェア・キーストアを閉じます。

パスワードで保護されたソフトウェア・キーストアでは、CDBルート内にいる場合、次の構文を使用します。

ADMINISTER KEY MANAGEMENT SET | FORCE KEYSTORE CLOSE

[IDENTIFIED BY [EXTERNAL STORE |

software_keystore_password]]

[CONTAINER = ALL | CURRENT];

SET句を使用して、強制せずにキーストアを閉じます。開いている依存キーストアがある場合(たとえば、分離モードのPDBのキーストアで、CDBルートのキーストアを閉じようとしている場合)、「ORA-46692 ウォレットをクローズできません」エラーが表示されます。この場合、SETのかわりにFORCE句を使用して、閉じる操作中に依存キーストアを一時的に閉じます。V$ENCRYPTION_WALLETビューのSTATUS列で、キーストアが開いているかどうかが示されます。統一モードのPDBにいる場合、CONTAINER句を省略するか、CURRENTに設定します。

自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアでは、CDBルートにいる場合、次の構文を使用します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

[CONTAINER = ALL | CURRENT];

キーストアを閉じると、暗号化および復号化のすべての操作が無効化されます。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。

関連項目

キーストアを閉じることについて

親トピック: 統一モードでキーストアを閉じる

統一モードでハードウェア・キーストアを閉じる

コピー

コピー

253

Page 254: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を含むADMINISTER KEYMANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. 次の構文を使用して、ハードウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY [EXTERNAL STORE | "hardware_keystore_credentials"]

[CONTAINER = ALL | CURRENT];

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password"

CONTAINER = ALL;

「ORA-46692 ウォレットをクローズできません」エラーが表示された場合は、分離モードのキーストアが開いていないかを確認します。キーストアのステータスを確認するには、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せます。

キーストアを閉じると、暗号化および復号化のすべての操作が無効化されます。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。

関連項目

キーストアを閉じることについて

親トピック: 統一モードでキーストアを閉じる

統一モードでのユーザー定義のTDEマスター暗号化キーの作成ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、CDBルートにログインします。例:

sqlplus c##sec_admin as syskm

コピー

コピー

コピー

254

Page 255: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enter password: password

2. 次の構文を使用して、ユーザー定義のTDEマスター暗号化キーを作成します。

ADMINISTER KEY MANAGEMENT SET | CREATE [ENCRYPTION] KEY

'mkid:mk | mk'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']]

[CONTAINER = CURRENT];

ここでは次のように指定します。

SET | CREATE: マスターを作成して、すぐにTDEマスター暗号化キーをアクティブ化する場合はSETと入力し、後から使用するためのキーを作成して、まだアクティブ化しない場合はCREATEと入力します。

mkidおよびmk:

mkidは、TDEマスター暗号化キーIDであり、16バイトの16進数エンコード値です。ユーザーが指定するか、Oracle Databaseに生成させることができます。mkは、TDEマスター暗号化キーであり、32バイト(AES256、ARIA256およびGOST256アルゴリズムの場合)または16バイト(SEED128アルゴリズムの場合)のいずれかの16進数エンコード値です。ユーザーが指定するか、OracleDatabaseに生成させることができます。

mkid値を省略したが、mkが含まれている場合、Oracle Databaseにより、mkのmkidが生成されます。mkid:mk|mkid句全体を省略した場合、Oracle Databaseはこれらの値を生成します。

USING ALGORITHM: サポートされている次のアルゴリズムのいずれかを指定します。

AES256

ARIA256

SEED128

GOST256

アルゴリズムを省略した場合は、デフォルトのAES256が使用されます。

コピー

255

Page 256: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。CONTAINER: この句を含める場合、CURRENTに設定します。(デフォルトはCURRENTです)。

次の例では、ユーザーが作成したTDEマスター暗号化キーが含まれていますが、TDEマスター暗号化キーIDがないため、TDEマスター暗号化キーが生成されます。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

'3D432109DF88967A541967062A6F4E460E892318E307F017BA048707B402493C'

USING ALGORITHM 'GOST256'

FORCE KEYSTORE

IDENTIFIED BY keystore_password;

次の例では、マスター暗号化IDおよびTDEマスター暗号化キーの両方のためにユーザー定義のキーが作成されます。アルゴリズムの指定が省略されているため、デフォルトのアルゴリズムAES256が使用されます。

ADMINISTER KEY MANAGEMENT CREATE ENCRYPTION KEY

'10203040506070801112131415161718:3D432109DF88967A541967062A6F4E

460E892318E307F017BA048707B402493C'

IDENTIFIED BY keystore_password

CONTAINER = CURRENT;

関連項目

サポートされる暗号化と整合性のアルゴリズム

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

例: すべてのPDBでのマスター暗号化キーの作成ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG文を使用して、すべてのPDBにTDEマスター暗号化キーを作成できます。

例5-1に、マルチテナント環境のすべてのPDBにマスター暗号化キーを作成する方法を示します。ここでは、CDBルートの自動ログイン・キーストアが開いている場合に、FORCE KEYSTORE句を使用します。パスワードが外部に格納されるため、IDENTIFIED BY句にEXTERNAL STORE設定

コピー

コピー

256

Page 257: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

が使用されます。この文を実行すると、マスター暗号化キーが各PDBに作成されます。それらのキーの識別子は次のように確認できます。

PDBにログインして、V$ENCRYPTION_KEYSビューのTAG列を問い合せます。

CDBルートにログインして、GV$ENCRYPTION_KEYSビューのINST_IDおよびTAG列を問い合せます。

また、最も最近作成されたキー(この文で作成したキー)を確認するには、それらのビューのCREATION_TIME列を確認します。キーの作成後、各PDBでキーを個々にアクティブ化できます。

例5-1 すべてのPDBのマスター暗号化キーの作成

ADMINISTER KEY MANAGEMENT CREATE KEY USING TAG

'scope:all pdbs;description:Create Key for ALL PDBS'

FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE

WITH BACKUP

CONTAINER = ALL;

keystore altered.

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでの後から使用するためのTDEマスター暗号化キーの作成統一モードで後から使用するTDEマスター暗号化キーを作成する前に、キーストアが開かれている必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. 次の構文を使用して、TDEマスター暗号化キーを作成します。

ADMINISTER KEY MANAGEMENT CREATE [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']]

[CONTAINER = ALL | CURRENT];

コピー

コピー

257

Page 258: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。CONTAINER: CDBルートでは、CONTAINERをALLまたはCURRENTに設定します。PDBでは、CURRENTに設定します。どちらの場合も、CONTAINERを省略すると、デフォルトでCURRENTに設定されます。

例:

ADMINISTER KEY MANAGEMENT CREATE KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP

CONTAINER = CURRENT;

3. 必要に応じて、TDEマスター暗号化キーをアクティブ化します。

a. キーIDを確認します。

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

b. このキーIDを使用して、キーをアクティブ化します。

ADMINISTER KEY MANAGEMENT USE KEY

'AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

USING TAG 'quarter:second;description:Activate Key on

standby'

IDENTIFIED BY password

WITH BACKUP;

関連項目

コピー

コピー

コピー

258

Page 259: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

後で使用するためのTDEマスター暗号化キーの作成

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのTDEマスター暗号化キーのアクティブ化統一モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. V$ENCRYPTION_KEYSビューのORIGIN列およびKEY_ID列を問い合せて、キーの識別子を確認します。

例:

SELECT ORIGIN, KEY_ID FROM V$ENCRYPTION_KEYS;

ORIGIN KEY_ID

------ ----------------------------------------------

LOCAL ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. このキー識別子を使用して、次の構文を使用してTDEマスター暗号化キーをアクティブ化します。

ADMINISTER KEY MANAGEMENT USE KEY

'key_identifier_from_V$ENCRYPTION_KEYS'

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

WITH BACKUP [USING 'backup_identifier']

[CONTAINER = ALL | CURRENT];

ここでは次のように指定します。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。CONTAINER: CDBルートでは、CONTAINERをALLまたはCURRENTに設定しま

コピー

コピー

259

Page 260: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。PDBでは、CONTAINER句を省略します。どちらの場合も、CONTAINERを省略すると、デフォルトでCURRENTに設定されます。

例:

ADMINISTER KEY MANAGEMENT USE KEY

'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE

WITH BACKUP

CONTAINER = ALL;

関連項目

TDEマスター暗号化キーのアクティブ化について

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのTDEマスター暗号化キーのキー更新SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをキー更新できます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. 自動ログインを有効化したキーストアのTDEマスター暗号化キーをキー更新する場合、.ssoファイルによって識別される自動ログイン・キーストアと.p12ファイルによって識別される暗号化キーストアの両方が存在することを確認する必要があります。これらのファイルのロケーションは、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せることで確認できます。すべてのデータベース・インスタンスのWRL_PARAMETER値を見つけるには、GV$ENCRYPTION_WALLETビューを問い合せます。

3. 次の構文を使用して、TDEマスター暗号化キーをキー更新します。

ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']]

[CONTAINER = ALL | CURRENT];

コピー

コピー

260

Page 261: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、このキーストア用に作成されたパスワードです。

CONTAINER: CDBルートでは、CONTAINERをALLまたはCURRENTに設定します。PDBでは、CURRENTに設定します。どちらの場合も、CONTAINERを省略すると、デフォルトでCURRENTに設定されます。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup'

CONTAINER = CURRENT;

keystore altered.

関連項目

TDEマスター暗号化キーのキー更新について

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードで使用中のTDEマスター暗号化キーの確認使用中のTDEマスター暗号化キーは、データベースで一番最近アクティブ化されたキーです。

統一モードでは、PDBで使用されているTDEマスター・キーは、そのPDB用に最も最近アクティブ化されたものになります。

使用中のTDEマスター暗号化キーを確認するには、V$ENCRYPTION_KEYS動的ビューを問い合せます。

コピー

261

Page 262: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

SELECT KEY_ID

FROM V$ENCRYPTION_KEYS

WHERE ACTIVATION_TIME = (SELECT MAX(ACTIVATION_TIME)

FROM V$ENCRYPTION_KEYS

WHERE ACTIVATING_PDBID = SYS_CONTEXT('USERENV',

'CON_ID'));

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでのカスタム属性タグの作成統一モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSETTAG句を使用する必要があります。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. 必要に応じて、V$ENCRYPTION_KEY動的ビューのTAG列を問い合せて、TDEマスター暗号化キーの既存のタグのリストを確認します。TDEマスター暗号化キーの新しいタグを作成すると、そのTDEマスター暗号化キーの既存のタグは上書きされます。

3. 次の構文を使用して、カスタム属性タグを作成します。

ADMINISTER KEY MANAGEMENT SET TAG 'tag'

FOR 'master_key_identifier'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

WITH BACKUP [USING 'backup_identifier'];

ここでは次のように指定します。tagは、定義する関連の属性または情報です。この情報は一重引用符(' ')で囲みます。master_key_identifierは、tagが設定されるTDEマスター暗号化キーを識別します。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS動的ビューのKEY_ID列を問い合せます。

コピー

コピー

262

Page 263: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、このキーストア用に作成されたパスワードです。

backup_identifierは、タグの値を定義します。この設定は一重引用符(' ')で囲み、それぞれの値をコロンで区切ります。

たとえば、2つの値(1番目は特定のセッションID、2番目は特定の端末IDを取得)を使用するタグを作成するには、次のようにします。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

USING TAG 'sessionid=3205062574:terminal=xcvt'

IDENTIFIED BY keystore_password

WITH BACKUP;

keystore altered.

セッションID (3205062574)と端末ID (xcvt)はどちらも、SYS_CONTEXT関数でUSERENVネームスペースを使用するか、USERENV関数を使用することで、値を導出できます。

関連項目

カスタム属性タグの作成について

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでの新しいキーストアへのTDEマスター暗号化キーの移動統一モードでは、既存のTDEマスター暗号化キーを既存のソフトウェア・パスワード・キーストアから新しいキーストアに移動できます。

この機能により、未使用のキーを削除できます。キーを新しいキーストアに移動した後で、古いキーストアを削除できます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとして、CDBルート、または統一モードのPDBにログインします。

2. V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて、キーを移動する先のキーストアのキー識別子を確認します。

コピー

263

Page 264: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

SELECT CREATION_TIME, KEY_ID FROM V$ENCRYPTION_KEYS;

CREATION TIME

----------------------------------------------------

22-SEP-17 08.55.12.956170 PM +00:00

KEY_ID

----------------------------------------------------

ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. 次の構文を使用して、新しいキーストアにキーを移動します。

ADMINISTER KEY MANAGEMENT

MOVE [ENCRYPTION] KEYS

TO NEW KEYSTORE 'keystore_location1'

IDENTIFIED BY keystore1_password

FROM [FORCE] KEYSTORE

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_identififier' [, 'key_identifier' ]... | ( subquery ) } ]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。

keystore_location1は、新しいキーストア.p12ファイルを格納するwalletディレクトリへのパスです。デフォルトでは、このディレクトリは、$ORACLE_BASE/admin/db_unique_name/walletにあります。

FORCEは、この操作のためにキーストアを一時的に開きます。

keystore_passwordは、キーの移動元であるキーストアのパスワードです。

例:

ADMINISTER KEY MANAGEMENT MOVE KEYS

TO NEW KEYSTORE '$ORACLE_BASE/admin/orcl/wallet'

IDENTIFIED BY keystore_password

コピー

コピー

コピー

264

Page 265: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FROM FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH IDENTIFIER IN

(SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE ROWNUM < 2)

WITH BACKUP;

4. 古いキーストアを削除するには、walletディレクトリに移動してから、キーストアを含む.p12ファイルを手動で削除します。キーストアの場所を見つけるには、キーストアを開いてから、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。

関連項目

キーストアを削除することの危険性

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでの非アクティブなTDEマスター暗号化キーの自動削除統一モードでは、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータにより、非アクティブなTDEマスター暗号化キーの自動削除を構成できます。

1. Oracleスタンバイ・データベースのCDBルートまたは統一モードのPDBが存在するサーバーにログインします。

2. データベースの初期化パラメータ・ファイルを特定します。デフォルトでは、初期化パラメータ・ファイルは、$ORACLE_HOME/dbsディレクトリにあります。

3. 初期化パラメータ・ファイルを編集して、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータを含めます。例:

remove_inactive_standby_tde_master_key = true

このパラメータをTRUEに設定すると、非アクティブなTDEマスター暗号化キーの自動削除が有効になります。FALSEに設定すると、自動削除は無効になります。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

プラガブル・データベース・キーストアの分離PDBのキーストアを分離すると、マスター暗号化キーが、CDBルートのキーストアから、PDB内

コピー

265

Page 266: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

の分離モードのキーストアに移されます。

このプロセスにより、分離モードでの別個のキーストアとしてキーストアを管理できます。このようにすることで、PDBのADMINISTER KEY MANAGEMENT権限をローカルに付与された管理者は、キーストアを管理できます。

1. ADMINISTER KEY MANAGEMENTまたはSYSKM権限が付与されたユーザーとして、統一モードのPDBにログインします。例:

sqlplus sec_admin@hrpdb as syskm

Enter password: password

Connected.

2. 次の構文を使用して、CDBルートのキーストアにあるキーを、PDBの分離モードのキーストアに移動します。

ADMINISTER KEY MANAGEMENT [FORCE] ISOLATE KEYSTORE

IDENTIFIED BY isolated_keystore_password

FROM ROOT KEYSTORE

[FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE | united_keystore_password]

[WITH BACKUP [USING backup_id]];

ここでは次のように指定します。

FORCEは、PDBのクローンが分離されているマスター暗号化キーを使用している場合に使用されます。その場合、ADMINISTER KEY MANAGEMENT文は、CDBルートのウォレットのキーを分離モードのPDBに(移動するのではなく)コピーします。FORCE KEYSTOREは、自動ログイン・キーストアが開いている(および使用されている)か、キーストアが閉じている場合に、この操作のためにパスワード保護されたキーストアを一時的に開きます。united_keystore_password: このパスワードを知っていても、ISOLATEKEYSTORE操作権限を実行するユーザーがCDBルートでADMINISTER KEYMANAGEMENT UNITE KEYSTORE操作を実行できるようになることはありません。このパスワードは、CDBルート内のキーストア・パスワードと同じです。

コピー

コピー

266

Page 267: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CDBルートのキーストアは、PDBのキーストアと統合された後に、CDBに関連付けられた以前アクティブであった(履歴の)すべてのマスター暗号化キーが、PDBのキーストアに移動されます。

3. 統一モードのPDBが分離モードのPDBになったことを確認します。

SELECT KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;

出力はISOLATEDとなっている必要があります。

統一モードのPDBが分離モードのPDBに変換された後は、キーストアのパスワードを変更できます。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

統一モードでの透過的データ暗号化の管理統一モードで透過的データ暗号化を使用して一般的な管理タスクを実行できます。

統一モードでのあるCDBから別のCDBへのPDBの移動統一モードでは、(たとえば、ロード・バランシングや新機能の追加のために)PDBをあるCDBから別のCDBに自動的に移動できます。

統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン統一モードでは、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。

統一モードでの暗号化データを含むクローニングされたPDBの管理統一モードでは、CDBで暗号化されたデータのあるPDBをクローニングできます。

統一モードでのキーストアの開閉操作の機能統一モードでキーストアの開閉操作がどのように機能するのかを知っておく必要があります。

統一モードでのすべてのPDBのキーストア・ステータスの確認V$ENCRYPTION_WALLETビューを使用する簡易関数を作成して、CDBにおけるすべてのPDBのキーストアのステータスを確認できます。

親トピック: 統一モードでのキーストアおよびTDEマスター暗号化キーの管理

コピー

コピー

267

Page 268: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでのあるCDBから別のCDBへのPDBの移動統一モードでは、(たとえば、ロード・バランシングや新機能の追加のために)PDBをあるCDBから別のCDBに自動的に移動できます。

PDBにTDEで暗号化された表または表領域がある場合は、ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE動的システム・パラメータをTRUEに設定して、PDBがPDB移動操作にTDEキーを含めるようにすることができます。このパラメータにより、PDBが別のCDBに移された後、TDEキーをPDBにインポートするときに、キーストア・パスワードを手動で指定する必要がなくなります。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDEがTRUEに設定されている場合、データベースではメモリーにキーストア・パスワードをキャッシュし、システム・レベルで不明瞭化し、インポート操作のために使用します。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDEのデフォルトはFALSEです。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、PDBにログインします。

2. ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE動的初期化パラメータをTRUEに設定します。例:

ALTER SYSTEM SET ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE = TRUE;

3. PDBを移動(再配置)します。

関連項目

Oracle Multitenant管理者ガイド

親トピック: 統一モードでの透過的データ暗号化の管理

統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン統一モードでは、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。

統一モードでの暗号化データを含むPDBのアンプラグ統一モードでは、暗号化データを含むPDBをアンプラグして、XMLメタデータ・ファイルまたはアーカイブ・ファイルにエクスポートできます。

統一モードでの暗号化データを含むPDBのCDBへのプラグイン

コピー

268

Page 269: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化データを含むPDBをCDBにプラグインするには、まずPDBにプラグインしてから、そのPDBのキーストアを設定します。

統一モードでのハードウェア・キーストアに格納されたマスター・キーを含むPDBのアンプラグHSMで構成されたCDBからPDBをアンプラグした後、それを同様にハードウェア・キーストアで構成された別のCDBにプラグインできます。

統一モードでのハードウェア・キーストアに格納されたマスター暗号化キーを含むPDBのプラグインADMINISTER KEY MANAGEMENT文によって、ハードウェア・キーストアのTDEマスター暗号化キーを、別のCDBに移動したPDBにインポートできます。

親トピック: 統一モードでの透過的データ暗号化の管理

統一モードでの暗号化データを含むPDBのアンプラグ

統一モードでは、暗号化データを含むPDBをアンプラグして、XMLメタデータ・ファイルまたはアーカイブ・ファイルにエクスポートできます。

アンプラグされるデータベースには、データ・ファイルおよび他の関連ファイルが含まれています。DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せることで、PDBがアンプラグされたかどうかを確認できます。

1. CDBルートでは、V$ENCRYPTION_WALLET動的ビューを問い合せて、キーストアが開いていることを確認します。

2. PDBをアンプラグした場合、ALTER PLUGGABLE DATABASE文でENCRYPT USINGtransport_secret句を使用します。PDBに暗号化データがある場合は、この句を使用する必要があります。それ以外の場合、「ORA-46680: コンテナ・データベースのマスター・キーをエクスポートする必要があります」エラーが返されます。

たとえば、PDBデータをXMLファイルにエクスポートするには、次のようにします。

ALTER PLUGGABLE DATABASE CDB1_PDB2

UNPLUG INTO '/tmp/cdb1_pdb2.xml'

ENCRYPT USING transport_secret;

PDBのデータをアーカイブ・ファイルにエクスポートするには:

ALTER PLUGGABLE DATABASE CDB1_PDB2

UNPLUG INTO '/tmp/cdb1_pdb2.pdb'

コピー

コピー

269

Page 270: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ENCRYPT USING transport_secret;

関連項目

統一モードのPDBでソフトウェア・キーストアを開く

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

親トピック: 統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

統一モードでの暗号化データを含むPDBのCDBへのプラグイン

暗号化データを含むPDBをCDBにプラグインするには、まずPDBにプラグインしてから、そのPDBのキーストアを設定します。

アンプラグされたPDBを別のCDBにプラグインする際、この操作は以前のキーの履歴を無効にするため、キー・バージョンは0に設定されます。キー・バージョンは、V$ENCRYPTED_TABLESPACES動的ビューのKEY_VERSIONを問い合せて確認できます。同様に、制御ファイルが失われ再作成された場合、以前のキーの履歴は0にリセットされます。DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せることで、PDBがすでにプラグインされているかどうかを確認できます。

1. CDBルートから、アンプラグされたPDBをCDBにプラグインすることで、PDBを作成します。統一モードの場合にこの操作を実行するには、DECRYPT USING transport_secret句を含めます。PDBのメタデータまたはアーカイブ・ファイルに暗号化データが含まれている場合は、この句を使用する必要があります。それ以外の場合、「ORA-46680: コンテナ・データベースのマスター・キーをエクスポートする必要があります」エラーが返されます。

たとえば、PDBデータをメタデータXMLファイルにエクスポートした場合は、次のように指定します。

CREATE PLUGGABLE DATABASE CDB1_PDB2

USING '/tmp/cdb1_pdb2.xml'

NOCOPY KEYSTORE

IDENTIFIED BY password

DECRYPT USING transport_secret;

PDBをアーカイブ・ファイルにエクスポートした場合は、次のように指定します。

コピー

270

Page 271: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE PLUGGABLE DATABASE CDB1_PDB2

USING '/tmp/cdb1_pdb2.pdb'

DECRYPT USING transport_secret;

プラグ操作後のPDBのオープン操作中に、Oracle DatabaseによってPDBに暗号化データが含まれるかどうかが判別されます。その場合、PDBはRESTRICTEDモードでオープンされます。

別のPDBをクローニングしてPDBを作成するか、非CDBからPDBを作成するときに、ソース・データベースに暗号化されたデータまたは設定されているTDEマスター暗号化キーがある場合、CREATE PLUGGABLE DATABASE ... FROM SQL文のkeystore identifiedby keystore_password句を含めることによって、キーストアのパスワードを提供する必要があります。このパスワードは、ソース・データベースが自動ログイン・ソフトウェア・キーストアを使用している場合であっても指定する必要があります。V$ENCRYPTION_KEYS動的ビューを問い合せることで、ソース・データベースに暗号化されたデータまたはキーストアで設定されているTDEマスター暗号化キーがあるかどうかを確認できます。

2. PDBを開きます。

例:

ALTER PLUGGABLE DATABASE CDB1_PDB2 OPEN;

3. CDBルートのキーストアを開きます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

必要に応じて、PDB内のキーストアを開きます。4. CDBルートまたはPDB(キーストアがPDB内で開かれている場合)のいずれかで、PDB用のTDEマスター暗号化キーを設定します。

例:

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY keystore_password

コピー

コピー

コピー

コピー

271

Page 272: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

WITH BACKUP USING 'emp_key_backup';

関連項目

統一モードのPDBでソフトウェア・キーストアを開く

ステップ3: 統一モードでのソフトウェア・キーストアのTDEマスター暗号化キーの設定

親トピック: 統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

統一モードでのハードウェア・キーストアに格納されたマスター暗号化キーを含むPDBのアンプラグHSMで構成されたCDBからPDBをアンプラグした後、それを同様にハードウェア・キーストアで構成された別のCDBにプラグインできます。

1. PDBをアンプラグします。PDBがすでにアンプラグされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。

2. ソースCDBで使用されていたハードウェア・キーストア内のアンプラグされたPDBのマスター暗号化キーを、宛先CDBで使用中のハードウェア・キーストアに移動します。

ハードウェア・キーストア間でのマスター暗号化キーの移行の詳細は、ハードウェア・キーストアのドキュメントを参照してください。

関連項目

Oracle Multitenant管理者ガイド

親トピック: 統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

統一モードでのハードウェア・キーストアに格納されたマスター暗号化キーを含むPDBのプラグインADMINISTER KEY MANAGEMENT文によって、ハードウェア・キーストアのTDEマスター暗号化キーを、別のCDBに移動したPDBにインポートできます。

1. アンプラグされたPDBを、ハードウェア・キーストアで構成された宛先CDBにプラグインします。PDBがすでにプラグインされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。プラグイン操作の後、プラグインされたPDBは制限モードになります。

2. ソースCDBで構成されたハードウェア・キーストアのマスター暗号化キーが、宛先CDBのハードウェア・キーストアで使用可能であることを確認します。

3. プラグされたPDBに、ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユー

272

Page 273: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ザーとしてログインします。

例:

sqlplus sec_admin@hr_pdb as syskm

Enter password: password

Connected.

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

4. プラグされたPDBのマスター暗号化キーを開きます。

たとえば、PDB1というPDBの場合は、次のようになります。

ALTER SESSION SET CONTAINER = PDB1;

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY keystore_passsword;

5. ハードウェア・キーストアのマスター暗号化キーをPDBにインポートします。

ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS

WITH SECRET "HSM" FROM 'HSM'

IDENTIFIED BY keystore_password;

6. PDBを再起動します。

ALTER PLUGGABLE DATABASE PDB1 CLOSE;

ALTER PLUGGABLE DATABASE PDB1 OPEN;

関連項目

Oracle Multitenant管理者ガイド

親トピック: 統一モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

統一モードでの暗号化データを含むクローニングされたPDBの管理

コピー

コピー

コピー

コピー

273

Page 274: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでは、暗号化データを含むPDBをCDBでクローニングできます。

統一モードでの暗号化データを含むクローニングされたPDBの管理についてPDBをクローニングする際、ソースPDBのマスター・キーをクローニングされたPDBが使用できるようにしておく必要があります。

統一モードでの暗号化データを含むPDBのCDBへのクローニングKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをクローニングできます。

統一モードで、暗号化データを含むPDBのリモート・クローニングを2つのCDB間で実行するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文は、暗号化されたデータを含むPDBをリモートからクローニングできます。

統一モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文は、暗号化されたデータを含むクローニングされたPDBをCDB間で再配置できます。

親トピック: 統一モードでの透過的データ暗号化の管理

統一モードでの暗号化データを含むクローニングされたPDBの管理についてPDBをクローニングする際、ソースPDBのマスター暗号化キーをクローニングされたPDBが使用できるようにしておく必要があります。

これにより、クローニングされたPDBが暗号化データに対して操作を行うことができます。クローニングされたPDBがリモートのCDBにある場合であっても、Oracle Databaseがキーを転送するため、クローニングを実行するためにキーをエクスポートまたはインポートする必要はありません。ただし、クローンを作成するCDBのキーストア・パスワードは指定する必要があります。

PDBに暗号化されたデータがある場合は、CDB間でPDBのリモート・クローニング操作を実行し、CDB間でPDBを再配置できます。

親トピック: 統一モードでの暗号化データを含むクローニングされたPDBの管理

統一モードでの暗号化データを含むPDBのCDBへのクローニングKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをクローニングできます。

1. CDBルートでは、V$ENCRYPTION_WALLET動的ビューのSTATUS列を問い合せて、キーストアがCDBルートで開いていることを確認します。

2. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、PDBにログインします。

274

Page 275: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. PDBをクローニングするには、CREATE PLUGGABLE DATABASE文をKEYSTOREIDENTIFIED BY句を指定して使用します。

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3

FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、最終的には独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

4. クローニングされたPDBのマスター暗号化キーをキー更新します。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

キーストアはキー更新操作中に開いている必要があるため、この例では、FORCEKEYSTOREが含まれています。

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

コピー

コピー

275

Page 276: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードのPDBでソフトウェア・キーストアを開く

親トピック: 統一モードでの暗号化データを含むクローニングされたPDBの管理

統一モードで、暗号化データを含むPDBのリモート・クローニングを2つのCDB間で実行するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをリモートからクローニングできます。

1. CDBルートでは、V$ENCRYPTION_WALLET動的ビューのSTATUS列を問い合せて、キーストアがCDBルートで開いていることを確認します。

2. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、PDBにログインします。

3. リモートからクローニングするPDBのデータベース・リンクを作成します。データベース・リンクを作成するには、CREATE DATABASE LINK SQL文を使用します。リモートPDBまたは非CDBのクローニングに必要なデータベース・リンクの前提条件に従って、データベース・リンクを作成する必要があります。

4. PDBのクローニングを実行するには、CREATE PLUGGABLE DATABASE文をKEYSTOREIDENTIFIED BY句を指定して使用します。

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3

FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、最終的には独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

5. リモートからクローニングされたPDBのマスター暗号化キーをキー更新します。

例:

コピー

276

Page 277: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

キーストアはキー更新操作中に開いている必要があるため、この例では、FORCEKEYSTOREが含まれています。

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

統一モードのPDBでソフトウェア・キーストアを開く

Oracle Multitenant管理者ガイド

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

親トピック: 統一モードでの暗号化データを含むクローニングされたPDBの管理

統一モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むクローニングされたPDBをCDB間で再配置できます。

1. CDBルートでは、V$ENCRYPTION_WALLET動的ビューのSTATUS列を問い合せて、キーストアがCDBルートで開いていることを確認します。

2. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、PDBにログインします。

3. クローニングするPDBのデータベース・リンクを作成します。データベース・リンクを作成するには、CREATE DATABASE LINK SQL文を使用します。リモートPDBまたは非CDBのクローニングに必要なデータベース・リンクの前提条件に従って、データベース・リンクを作成する必要があります。

4. PDBをクローニングするには、CREATE PLUGGABLE DATABASE文をKEYSTOREIDENTIFIED BY句を指定して使用します。

コピー

277

Page 278: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3

FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、最終的には独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

5. ALTER PLUGGABLE DATABASE文を使用して再配置操作を実行します。例:

ALTER PLUGGABLE DATABASE cdb1_pdb3

OPEN RELOCATE TO 'need instance name example';

6. リモートからクローニングされたPDBのマスター暗号化キーをキー更新します。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

キーストアはキー更新操作中に開いている必要があるため、この例では、FORCEKEYSTOREが含まれています。

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更

コピー

コピー

コピー

278

Page 279: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

統一モードのPDBでソフトウェア・キーストアを開く

Oracle Multitenant管理者ガイド

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

親トピック: 統一モードでの暗号化データを含むクローニングされたPDBの管理

統一モードでのキーストアの開閉操作の機能統一モードでキーストアの開閉操作がどのように機能するかを知っておく必要があります。

統一モードの各PDBに関して、透過的データ暗号化の操作が続行できるように、PDBにおいてパスワードで保護されたソフトウェア・キーストアまたはハードウェア・キーストアを明示的に開く必要があります。(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)PDBのキーストアを閉じることによって、PDBのすべての透過的データ暗号化操作がブロックされます。

PDBにおけるキーストアの開閉操作は、CDBルートにおけるキーストアの開閉ステータスに依存します。

次の点に注意してください。

統一モードの各PDBについて個別のキーストアのパスワードを作成できます。

個別のPDBでパスワード保護されたソフトウェア・キーストアまたはハードウェア・キーストアを手動で開くには、事前にCDBルートのキーストアを開いておく必要があります。自動ログイン・キーストアが使用されているか、キーストアが閉じている場合は、キーストアを開くまたは閉じるときに、ADMINISTER KEY MANAGEMENT文にFORCE KEYSTORE句を含めます。キーストアがパスワード用に外部ストアを使用するパスワード保護されたソフトウェア・キーストアである場合は、IDENTIFIED BY句をEXTERNAL STOREに設定します。

個々のPDBでTDEマスター暗号化キーを設定するには、事前にCDBルートでキーを設定する必要があります。(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)これらを最初にCDBルートからまたはPDBから、手動で開く必要はありません。CDBルートでキーストアを閉じると、これに依存するPDBのキーストアも閉じます。rootに

279

Page 280: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

おいてキーストアを閉じる操作は、CONTAINER句がALLに設定されていてキーストアを閉じる操作を実行することと同等です。CDBルートでADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN文を実行し、CONTAINER句をALLに設定した場合、キーストアは、統一モードで構成されている各PDBでのみ開くことになり、分離モードで構成されているいずれのPDBも開かれません。

親トピック: 統一モードでの透過的データ暗号化の管理

統一モードでのすべてのPDBのキーストア・ステータスの確認V$ENCRYPTION_WALLETビューを使用する便利なファンクションを作成して、CDBにおけるすべてのPDBのキーストアのステータスを確認できます。

V$ENCRYPTION_WALLETビューでは、PDBのキーストアのステータス(オープン、クローズ、ソフトウェアまたはハードウェア・キーストアを使用しているかどうかなど)が表示されています。

V$ENCRYPTION_WALLETビューを使用してキーストアのステータスを検出するファンクションを作成するには、CREATE PROCEDURE PL/SQL文を使用します。

例5-2では、このファンクションを作成する方法を示しています。

例5-2 CDBにおけるすべてのPDBに関するキーストアのステータスを確認するファンクション

CREATE OR REPLACE PROCEDURE all_pdb_v$encryption_wallet

IS

err_occ BOOLEAN;

curr_pdb VARCHAR2(30);

pdb_name VARCHAR2(30);

wrl_type VARCHAR2(20);

status VARCHAR2(30);

wallet_type VARCHAR2(20);

wallet_order VARCHAR2(12);

fully_backed_up VARCHAR2(15);

wrl_parameter VARCHAR2(4000);

cursor sel_pdbs IS SELECT NAME FROM V$CONTAINERS

WHERE NAME <> 'PDB$SEED' order by con_id

desc;

BEGIN

-- Store the original PDB name

SELECT sys_context('userenv', 'con_name') INTO curr_pdb FROM

DUAL;

コピー

280

Page 281: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IF curr_pdb <> 'CDB$ROOT' THEN

dbms_output.put_line('Operation valid in ROOT only');

END IF;

err_occ := FALSE;

dbms_output.put_line('---');

dbms_output.put_line('PDB_NAME WRL_TYPE

STATUS ');

dbms_output.put_line('------------------------------ -------- --

----------------------------');

dbms_output.put_line('WALLET_TYPE WALLET_ORDER

FULLY_BACKED_UP');

dbms_output.put_line('-------------------- ------------ --------

-------');

dbms_output.put_line('WRL_PARAMETER');

dbms_output.put_line('------------------------------------------

--------------------------------');

FOR pdbinfo IN sel_pdbs LOOP

pdb_name := DBMS_ASSERT.ENQUOTE_NAME(pdbinfo.name, FALSE);

EXECUTE IMMEDIATE 'ALTER SESSION SET CONTAINER = ' ||

pdb_name;

BEGIN

pdb_name := rpad(substr(pdb_name,1,30), 30, ' ');

EXECUTE IMMEDIATE 'SELECT wrl_type from V$ENCRYPTION_WALLET'

into wrl_type;

wrl_type := rpad(substr(wrl_type,1,8), 8, ' ');

EXECUTE IMMEDIATE 'SELECT status from V$ENCRYPTION_WALLET'

into status;

status := rpad(substr(status,1,30), 30, ' ');

EXECUTE IMMEDIATE 'SELECT wallet_type from

V$ENCRYPTION_WALLET' into wallet_type;

wallet_type := rpad(substr(wallet_type,1,20), 20, ' ');

EXECUTE IMMEDIATE 'SELECT wallet_order from

V$ENCRYPTION_WALLET' into wallet_order;

wallet_order := rpad(substr(wallet_order,1,9), 12, ' ');

EXECUTE IMMEDIATE 'SELECT fully_backed_up from

V$ENCRYPTION_WALLET' into fully_backed_up;

fully_backed_up := rpad(substr(fully_backed_up,1,9), 15, '

');

281

Page 282: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

EXECUTE IMMEDIATE 'SELECT wrl_parameter from

V$ENCRYPTION_WALLET' into wrl_parameter;

wrl_parameter := rpad(substr(wrl_parameter,1,79), 79, ' ');

dbms_output.put_line(pdb_name || ' ' || wrl_type || ' ' ||

status);

dbms_output.put_line(wallet_type || ' ' || wallet_order || '

' || fully_backed_up);

dbms_output.put_line(wrl_parameter);

EXCEPTION

WHEN OTHERS THEN

err_occ := TRUE;

END;

END LOOP;

IF err_occ = TRUE THEN

dbms_output.put_line('One or more PDB resulted in an error');

END IF;

END;

.

/

set serveroutput on

exec all_pdb_v$encryption_wallet;

親トピック: 統一モードでの透過的データ暗号化の管理

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

282

Page 283: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

6 分離モードでのキーストアおよびTDEマスター暗号化キーの管理Oracle Cloudデータベース(オンプレミス・データベースではない)では、分離モードを使用すると、プラガブル・データベース(PDB)ごとにキーストアを作成できます。

分離モードでのキーストアおよびTDEマスター暗号化キーの管理について分離モードでは、プラガブル・データベース(PDB)に固有のキーストアがあるため、キーストアおよびTDEマスター暗号化キーの管理をPDBからのみ行います。

分離モードで実行可能な操作分離モードでは、ADMINISTER KEY MANAGEMENTの多くの操作を実行できます。

分離モードのPDBで実行できない操作ADMINISTER KEY MANAGEMENTの操作の中には、分離モードのPDBで実行できないものがいくつかあります。

分離モードでのキーストアの場所とタイプの構成分離モードでは、キーストアの場所とタイプを、パラメータのみ、またはパラメータとALTER SYSTEM文の組合せを使用して構成できます。

分離モードでのキーストアおよびTDEマスター暗号化キーの構成分離モードでは、ソフトウェア・キーストアがPDBに関連付けられます。

分離モードでのハードウェア・キーストアの構成Oracle Databaseでは、ハードウェア・セキュリティ・モジュール(HSM)およびOracle Key Vault(OKV)キーストアという2つの異なるタイプのハードウェア・キーストアがサポートされています。

分離モードでのキーストアおよびTDEマスター暗号化キーの管理分離モードでキーストアとTDEマスター暗号化キーを作成した後は、暗号化キーのキー更新やタグ付けなどの管理タスクを実行できます。

283

Page 284: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの透過的データ暗号化の管理分離モードでは、透過的データ暗号化に対する一般的な管理タスクをいくつか実行できます。

親トピック: 透過的データ暗号化の使用

分離モードでのキーストアおよびTDEマスター暗号化キーの管理について分離モードでは、プラガブル・データベース(PDB)に固有のキーストアがあるため、キーストアおよびTDEマスター暗号化キーの管理をPDBからのみ行います。

統一モードと同様に、まずWALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータを設定することで、分離モードを使用するようにPDBを構成する必要があります。これらのパラメータを設定すると、PDBからキーストアを作成および管理できるようになります。この方法では、次のシナリオが考えられます。

分離モードが設定されていないすべてのPDBに、CDBルートに対する統一モード設定が適用されます。たとえば、CDBルートで作成したキーストアが、そのルートに関連付けられた統一モードのPDBによって使用されます。分離モードで構成されているPDBでは、独自のキーストアの作成および管理を個別に行うことができます。分離モードのPDBには、CDBルートのキーストアとは別に、独自のキーストアを作成できます。

このシナリオは、多くのPDBでは1つのタイプのキーストアを使用する必要があるが、異なるタイプのキーストアを使用する必要があるPDBもいくつか含まれている場合に便利です。異なるタイプのキーストアとは、TDEソフトウェア・キーストア、またはOracleでサポートされているハードウェア・キーストア(Oracle Key Vault、クラウド・キー管理サービスなど)のうちいずれかを指します。Oracleサーバーは単一のPKCS#11ベンダー・ライブラリしかロードできないため、1つのCDB環境に異なるハードウェア・キーストアのタイプを混在させることはできません。必要に応じ、これらのPDBを分離モードで構成して、各PDBが独自のキーストアを使用できるようにすることができます。

PDBを分離モードで構成することの利点は、暗号化されたPDBの数が多い場合に、PDBにおけるキー更新操作のパフォーマンスが、統一モードでのキー更新パフォーマンスに比べて優れていることです。

CDBに暗号化されたPDBが多数含まれる場合は、PDBを分離モードで構成することで、PDBにおけるキー更新操作のパフォーマンスが、スタンドアロン・システムにおけるキー更新操作のパフォーマンスと同等になり、システム全体の暗号化されたPDBの数が増えても低下することがなくなります。

284

Page 285: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック 分離モードでのキーストアおよび マスター暗号化キーの管理

分離モードで実行可能な操作分離モードでは、ADMINISTER KEY MANAGEMENTの多くの操作を実行できます。

これらの操作には、キーストアの作成、バックアップ、オープンや、キーストアのパスワード変更、マージ、クローズなどが含まれます。また、暗号化キーの作成、アクティブ化、タグ付け、移動、エクスポート、インポート、移行や、クライアント・シークレットの追加、更新、削除も実行できます。

表6-1は、分離モードのPDBで実行できるADMINISTER KEY MANAGEMENTの操作を示しています。

表6-1 分離モードでのADMINISTER KEY MANAGEMENTの操作

操作 構文分離モードでのノート

キーストアの作成

ADMINISTER KEY MANAGEMENT

CREATE KEYSTORE

['keystore_location']

IDENTIFIED BY keystore_password;

分離モードのPDBでは、パスワード保護されたキーストア、ローカル自動ログイン・キーストアおよび自動ログイン・キーストアを作成できます。

keystore_location句は、WALLET_ROOTパラメータが設定されている場合のみオプションです。それ以外の場合は、必須。

自動ログイン・キーストアの作成

ADMINISTER KEY MANAGEMENT

CREATE [LOCAL] AUTO_LOGIN KEYSTORE

FROM KEYSTORE ['keystore_location']

IDENTIFIED BY keystore_password;

keystore_locationは、WALLET_ROOTパラメータが設定されている場合はオプションです。

キーストアを開く この操作では、EXTERNAL_STORE句でウォレ

: TDE

285

Page 286: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT

SET KEYSTORE OPEN

[FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE |

keystore_password];

ット内のパスワードが使用されます。非マルチテナント(スタンドアロン)環境では、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION初期化パラメータで設定されている場所にウォレットが構成されます。マルチテナント環境では、WALLET_ROOTの場所のtde_sepsディレクトリ内にウォレットが構成されます。このウォレットにはキーストアのパスワードが格納されます。

分離モードのPDBでは、EXTERNAL_STORE句で使用されるウォレットが、場所WALLET_ROOT/PDB_GUID/tde_sepsに構成されている必要があります。

キーストア・パスワードの変更

ADMINISTER KEY MANAGEMENT

ALTER KEYSTORE PASSWORD

IDENTIFIED BY old_keystore_password

SET new_keystore_password

WITH BACKUP

[USING 'backup_identifier'];

-

キーストアのバックアップ

ADMINISTER KEY MANAGEMENT

BACKUP KEYSTORE

[USING 'backup_identifier']

-

286

Page 287: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

[TO 'keystore_location'];

キーストアの内容を既存のキーストアにマージする ADMINISTER KEY MANAGEMENT

MERGE KEYSTORE 'keystore_location1'

[IDENTIFIED BY keystore1_password]

INTO EXISTING KEYSTORE

'keystore_location2'

IDENTIFIED BY keystore2_password

WITH BACKUP [USING

'backup_identifier'];

-

2つのキーストアの内容をマージして3番目のキーストアを作成する ADMINISTER KEY MANAGEMENT

MERGE KEYSTORE 'keystore_location1'

[IDENTIFIED BY keystore1_password]

AND KEYSTORE 'keystore_location2'

[IDENTIFIED BY keystore2_password]

INTO NEW KEYSTORE

'keystore_location3'

IDENTIFIED BY keystore3_password;

-

キーストアを閉じる

ADMINISTER KEY MANAGEMENT

SET KEYSTORE CLOSE

[IDENTIFIED BY

[EXTERNAL STORE |

keystore_password]];

-

分離モードのPDBのキーストアが開いていると

FORCE句を使用すると、分離モードのPDBのキースト

287

Page 288: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

きにCDBルートのキーストアを閉じる

ADMINISTER KEY MANAGEMENT

FORCE KEYSTORE CLOSE

[IDENTIFIED BY

[EXTERNAL STORE |

keystore_password]];

アが開いていても、CDBルート内のキーストアを閉じることができます。

新しいTDEマスター暗号化キーの作成およびアクティブ化(キー更新) ADMINISTER KEY MANAGEMENT

SET [ENCRYPTION] KEY

[USING TAG 'tag_name']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

keystore_password

]WITH BACKUP

[USING 'backup_identifier'];

-

ユーザー定義のTDEマスター暗号化キーを今すぐ(SET)または後で(CREATE)作成する

ADMINISTER KEY MANAGEMENT [SET |

CREATE] [ENCRYPTION] KEY

'mkid:mk | mk'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE |

keystore_password]

[WITH BACKUP [USING

'backup_identifier']]

[CONTAINER = CURRENT];

-

既存のTDEマスター暗号化キーのアクティブ化 ADMINISTER KEY MANAGEMENT

USE [ENCRYPTION] KEY 'key_id'

[USING TAG 'tag']

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

-

288

Page 289: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

WITH BACKUP

[USING 'backup_identifier'];

TDEマスター暗号化キーのタグ付け

ADMINISTER KEY MANAGEMENT

SET TAG 'tag' FOR 'key_id'

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

WITH BACKUP

[USING 'backup_identifier'];

-

TDEマスター暗号化キーのエクスポート ADMINISTER KEY MANAGEMENT

EXPORT [ENCRYPTION] KEYS

WITH SECRET secret

TO 'filename'

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_id' [, 'key_id' ]... |

( subquery ) }];

-

TDEマスター暗号化キーのインポート ADMINISTER KEY MANAGEMENT

IMPORT [ENCRYPTION] KEYS

WITH SECRET secret

FROM 'filename'

IDENTIFIED BY keystore_password

[WITH BACKUP

[USING 'backup_identifier']];

-

TDEマスター暗号化キーのソフトウェア・キーストア

-

289

Page 290: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

からHSMへの移行 ADMINISTER KEY MANAGEMENT

SET [ENCRYPTION] KEY

IDENTIFIED BY HSM_auth_string

[FORCE KEYSTORE]

MIGRATE USING

software_keystore_password

WITH BACKUP

[USING 'backup_identifier'];

TDEマスター暗号化キーのHSMからソフトウェア・キーストアへの逆移行

ADMINISTER KEY MANAGEMENT

SET [ENCRYPTION] KEY

IDENTIFIED BY

software_keystore_password

REVERSE MIGRATE USING

HSM_auth_string;

-

クライアント・シークレットの追加

ADMINISTER KEY MANAGEMENT

ADD SECRET 'secret'

FOR CLIENT 'client_identifier'

[USING TAG 'tag_name' ]

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

WITH BACKUP

[USING 'backup_identifier'];

-

クライアント・シークレットの更新

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'secret'

FOR CLIENT 'client_identifier'

[USING TAG 'tag_name' ]

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

WITH BACKUP

-

290

Page 291: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[USING 'backup_identifier'];

クライアント・シークレットの削除

ADMINISTER KEY MANAGEMENT

DELETE SECRET

FOR CLIENT 'client_identifier'

IDENTIFIED BY

[EXTERNAL STORE | keystore_password]

WITH BACKUP

[USING 'backup_identifier'];

-

PDBの分離

ADMINISTER KEY MANAGEMENT

ISOLATE KEYSTORE

IDENTIFIED BY

isolated_keystore_password

FROM ROOT KEYSTORE

[FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE |

united_keystore_password]

WITH BACKUP [USING backup_id];

この操作では2つのアクションが実行されます。まず、PDBのTDE_CONFIGURATIONを変更して分離モードにします。次に、TDEマスター暗号化キーと、以前にアクティブであったすべてのTDEマスター暗号化キー(履歴)を、CDBルートのキーストアから、独自のパスワードを持つPDBの新しく作成されたキーストアに移動します。以降は、PDBがここで自分のキーを管理できるようになります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードのPDBで実行できない操作分離モードのPDBで実行できないADMINISTER KEY MANAGEMENTの操作がいくつかあります。

これには次の操作が含まれます。

CONTAINER = ALL句を使用して、各プラガブル・データベース(PDB)で後から使用するた

291

Page 292: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

めの新しいTDEマスター暗号化キーを作成する暗号化キーをCDBルートのキーストアから分離モードで構成されているPDBのキーストアに移動する

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのキーストアの場所とタイプの構成分離モードでは、キーストアの場所とタイプを、パラメータのみ、またはパラメータとALTERSYSTEM文の組合せを使用して構成できます。

分離モードの構成分離モードを構成するには、CDBルートにある初期化パラメータ・ファイルのWALLET_ROOTと、分離するPDBのTDE_CONFIGURATIONを設定します。

例: 古いバージョンの制御ファイルのリストアリストアが必要な古いバージョンの制御ファイルがあり、分離モードで構成されているPDBの数が少ない場合は、TDE_CONFIGURATIONを設定できます。

例: 制御ファイル紛失の問題への対処制御ファイルを紛失した場合は、ALTER SYSTEM文を使用してこの問題に対処できます。

例: Oracle Real Application Clusters環境での分離モードの構成Oracle Real Application Clusters (Oracle RAC)環境で分離モードを構成するには、ALTERSYSTEMを使用します。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードの構成分離モードを構成するには、CDBルートにある初期化パラメータ・ファイルのWALLET_ROOTと、分離するPDBのTDE_CONFIGURATIONを設定します。

CDB環境のWALLET_ROOTパラメータおよびTDE_CONFIGURATIONパラメータの構成は、統一モードの構成時と同様の手順で行いますが、ALTER SYSTEM文のRESET句を使用するのではなく、SET句を使用する点が異なります。この構成を行うには、初期化パラメータ・ファイルにWALLET_ROOTパラメータとTDE_CONFIGURATIONパラメータを追加します。PDBを分離モードで構成するには、PDBのTDE_CONFIGURATIONパラメータに値を設定します。この操作は、ALTER SYSTEM文を使用するか、ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE文を発行することによって行います。この項では、ALTER SYSTEM文を使用する方法について説明します。

PDBのTDE_CONFIGURATIONパラメータの値を設定するときに、システムでpfileとspfileのどちら

292

Page 293: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

が使用されているかに応じて、ALTER SYSTEM文のSCOPE句を適切な値に設定する必要があります。TDE_CONFIGURATIONパラメータの値は、属性と値のペアのリストであり、キーストアのタイプを指定するのは、KEYSTORE_CONFIGURATION属性の値です。その内容は次のとおりです。

FILEは、ソフトウェア・キーストアを示します。

OKVは、Oracle Key Vaultハードウェア・キーストアを示します。

HSMは、ハードウェア・セキュリティ・モジュール・キーストアを示します。

FILE|OKVは、OKVキーストア・タイプからFILEキーストア・タイプへの逆移行が発生しことを示します。FILE|HSMは、HSMキーストア・タイプからFILEキーストア・タイプへの逆移行が発生したことを示します。OKV|FILEは、FILEキーストア・タイプからOKVキーストア・タイプへの移行が発生したことを示します。HSM|FILEは、FILEキーストア・タイプからHSMキーストア・タイプへの移行が発生したことを示します。HSM|FILEには2つの意味があります。FILEからHSMに移行しているという意味か、HSMの使用時に構成が開始されたが現在は自動ログインHSM構成が使用されている(この場合、HSMの資格証明はファイル・システム上のcwallet.ssoファイル内にある)という意味です。

ALTER SYSTEMを使用して、選択したPDBのTDE_CONFIGURATION値を構成すると、CDB環境内のPDBが分離モードになります。この手順のステップでは、個々のPDBを分離モードに構成して、独自のキーストア・タイプを使用できるようにする方法を詳しく説明します。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとしてPDBに接続します。

2. ALTER SYSTEM文を実行して、CDB環境のWALLET_ROOTパラメータおよびTDE_CONFIGURATIONパラメータを構成します。

CDBルートおよびPDBが開いている場合は、SCOPEをbothに設定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SCOPE=both;

CDBルートが開いており、PDBがマウント状態である場合は、scopeをspfileに設定します。

ALTER SYSTEM SET

コピー

コピー

293

Page 294: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SCOPE=spfile;

3. 構成を確認します。

TDE_CONFIGURATIONパラメータの設定を確認するには、次のように指定します。

SHOW PARAMETER TDE_CONFIGURATION

出力には、現在のPDBに対して設定したキーストア構成が反映されている必要があります。異なるキーストア構成が表示される場合(OKVに設定したがFILEと表示される場合など)は、その設定が統一モードでCDBルートに対して設定されたキーストア構成を示している可能性があります。キーストアのモードを確認するには、次のように指定します。

SELECT KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;

出力はISOLATEDとなっている必要があります。

分離モードを構成すると、PDBが統一モードであったときに使用可能であったCDBルートのキーストアが、このPDBで使用できなくなります。この段階で、PDBは固有のキーストアを使用するように構成されます。KEYSTORE_CONFIGURATIONパラメータがFILE(PDBがソフトウェア・キーストアを使用するように構成されていることを示す)であった場合、そのPDBに対して構成されるキーストアの場所は、WALLET_ROOT/PDB-GUID/tdeです。キーストアがその場所に存在し、TDEマスター暗号化キーが含まれている場合、そのキーはこのPDBのみが使用可能で、他のPDBは使用できません。キーストアがその場所に存在しない場合は、ソフトウェア・キーストアを作成して、TDEマスター暗号化キーを設定する手順に進むことができます。分離モードのPDBを、後から統一モードのPDBに戻すことにした場合は、ADMINISTER KEY MANAGEMENTUNITE KEYSTORE文を使用できます。ADMINISTER KEY MANAGEMENT UNITE KEYSTOREを実行すると、PDBのキーストアからCDBルートのキーストアにキーが移されますが、クライアント・シークレットは元の場所に残ります。このため、元の場所にクライアント・シークレットがなかった場合、PDBのキーストアは実質的に「空」のままになります。これで、バックアップして削除できる状態になります。キーストアを削除する場合は、キーストアが空であっても、必ず事前にバックアップを行ってください。

関連項目

コピー

コピー

294

Page 295: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

初期化パラメータ・ファイルの編集による統一モードの構成

初期化パラメータ・ファイルおよびALTER SYSTEMを使用した統一モードの構成

プラガブル・データベースのキーストアの統合

親トピック: 分離モードでのキーストアの場所とタイプの構成

例: 古いバージョンの制御ファイルのリストアリストアが必要な古いバージョンの制御ファイルがあり、分離モードで構成されているPDBの数が少ない場合は、TDE_CONFIGURATIONを設定できます。

CDBルートとPDBの両方がマウント状態である場合は、CDBルートからPDBのキーストア構成のみを変更できます。

1. SYSDBA管理権限を付与されたユーザーとしてCDBルートにログインします。

2. 変更する各PDBに対して、次の構文を使用します。

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=pdb_name;KEYSTORE_CONFIGURATION=

keystore_type" SCOPE=memory;

たとえば、キーストア・タイプとしてFILE(ソフトウェア・キーストア)を使用するhrpdbPDBとsalespdb PDBを構成する場合は、次の構文を使用します。

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=hrpdb;KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=salespdb;KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

3. 各PDBのTDE_CONFIGURATIONパラメータを設定したら、CDBルートにログインして、CDBルート自体のTDE_CONFIGURATIONを設定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";

コピー

コピー

コピー

295

Page 296: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

この段階で、CDBルートはマウント状態になっています。CONTAINER属性を含むALTERSYSTEMを使用して設定されたTDE_CONFIGURATIONパラメータの値は、CDBルートのメモリー内にのみ存在します。構成が各PDBに正しく適用されるようにするには、PDBを閉じてから再オープンする必要があります。分離モードのPDBが開かれると、CDBルートで発行されたALTER SYSTEM文によって設定された構成が制御ファイルから読み取られ、その後、自動的にPDBに適用されます。

4. 各PDBに接続し、PDBを閉じて再オープンします。

ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;

ALTER PLUGGABLE DATABASE pdb_name OPEN;

親トピック: 分離モードでのキーストアの場所とタイプの構成

例: 制御ファイル紛失の問題への対処制御ファイルを紛失した場合は、ALTER SYSTEM文を使用してこの問題に対処できます。

SCOPEをメモリーに設定してこれらの文を実行すると、CONTAINERの値がメモリーに格納されます。分離モードのPDBを開くと、そのPDBに対するこの構成が自動的に更新されます。

Oracle Data Guard環境を使用している場合は、制御ファイルを修正するために、プライマリ・データベースとスタンバイ・データベースの両方で次の文を実行します。

1. SYSDBA管理権限を付与されたユーザーとしてCDBルートにログインします。

2. システムの正確な状態が不明な場合は、RESETを指定してALTER SYSTEMを実行する必要があります。

例:

ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=memory;

3. 変更する各PDBに対して、次の構文を使用します。

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=pdb_name;KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

コピー

コピー

コピー

296

Page 297: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

たとえば、キーストア・タイプとしてFILE(ソフトウェア・キーストア)を使用するhrpdbPDBとsalespdb PDBの場合は、次のように指定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=hrpdb;KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

ALTER SYSTEM SET

TDE_CONFIGURATION="CONTAINER=salespdb;KEYSTORE_CONFIGURATION=FILE"

SCOPE=memory;

4. 各PDBのTDE_CONFIGURATIONパラメータを設定したら、CDBルートにログインして、CDBルート自体のTDE_CONFIGURATIONを設定します。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE";

この段階で、CDBルートはマウント状態になっています。CONTAINER属性を含むALTERSYSTEMを使用して設定されたTDE_CONFIGURATIONパラメータの値は、CDBルートのメモリー内にのみ存在します。構成が各PDBに正しく適用されるようにするには、PDBを閉じてから再オープンする必要があります。分離モードのPDBが開かれると、CDBルートで発行されたALTER SYSTEM文によって設定された構成が制御ファイルから読み取られ、その後、自動的にPDBに適用されます。

5. 各PDBに接続し、PDBを閉じて再オープンします。

ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;

ALTER PLUGGABLE DATABASE pdb_name OPEN;

親トピック: 分離モードでのキーストアの場所とタイプの構成

例: Oracle Real Application Clusters環境での分離モードの構成ALTER SYSTEMを使用して、Oracle Real Application Clusters (Oracle RAC)環境で分離モードを構成できます。

ALTER SYSTEM文の結果が各Oracle RACノードに確実に適用されるようにするには、ALTER

コピー

コピー

コピー

297

Page 298: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SYSTEM文のSID句に、ワイルドカード(*)を次のように指定します。この文は、CDBルートまたはPDBのどちらからでも実行できます。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=keystore_type"

SID='*';

親トピック: 分離モードでのキーストアの場所とタイプの構成

分離モードでのキーストアおよびTDEマスター暗号化キーの構成分離モードでは、ソフトウェア・キーストアがPDBに関連付けられます。

分離モードでのソフトウェア・キーストアの構成について分離モードでは、すべてのタイプのソフトウェア・キーストア(パスワード保護キーストア、資格証明が外部ストアから提供されるパスワード保護キーストア、自動ログイン・キーストア、ローカル自動ログイン・キーストア)を作成できます。

ステップ1: 分離モードで構成されたPDBでのソフトウェア・キーストアの作成パスワード保護されたソフトウェア・キーストアには、キーストアのキーおよび資格証明を保護するためのパスワードが必要になります。

ステップ2: 分離モードのPDBでソフトウェア・キーストアを開く分離モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

ステップ3: 分離モードのPDBのソフトウェア・キーストアでのTDEマスター暗号化キーの設定分離モードのPDBのソフトウェア・キーストアでTDEマスター暗号化キーを設定するには、SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

ステップ4: 分離モードでのデータの暗号化キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのソフトウェア・キーストアの構成について分離モードでは、すべてのタイプのソフトウェア・キーストア(パスワード保護キーストア、資格証明が外部ストアから提供されるパスワード保護キーストア、自動ログイン・キーストア、ローカル自動ログイン・キーストア)を作成できます。

コピー

298

Page 299: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

KEYSTORE_CONFIGURATION属性をFILE(ソフトウェア・キーストアを使用)に設定してPDBを分離モードで構成した後に、そのPDBで暗号化を有効にするには、ソフトウェア・キーストアを作成して、そのソフトウェア・キーストアを開き、そのソフトウェア・キーストア内でTDEマスター暗号化キーを設定する必要があります。この操作の完了後に、PDB内のアクセス可能な表および表領域のデータを暗号化できるようになります。

マルチテナント環境では、ソフトウェア・キーストアの資格証明を保管するための安全な外部ストアを作成できます。この機能を使用すると、キーストア・パスワードを隠すことができます。つまり、ユーザーの操作なしにデータベースにアクセスできるスクリプトやツール(夜間に実行されるバッチ・スクリプトなど)に、キーストア・パスワードを保存する必要がなくなります。WALLET_ROOTパラメータが指定されている場合、外部ストアの場所は、CDBルートの場合はWALLET_ROOT/tde_seps、PDBの場合はWALLET_ROOT/PDB-GUID/tde_sepsとなります。WALLET_ROOTパラメータを設定すると、単一の一元的外部ストアがなくなるため、キーストア・パスワードが更新された場合は、対応する外部ストアも更新する必要があります。WALLET_ROOTパラメータが指定されていない場合は、CDBルートとすべてのPDBの両方について、外部ストアの場所が同じになります。この場合、外部ストアの場所は、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION初期化パラメータで設定する必要があります。WALLET_ROOTパラメータが指定されていない場合は、単一の一元的外部ストアが存在するため、キーストア・パスワードを更新した場合に、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATIONにある一元的外部ストアを更新するだけで済みます。

マルチテナント環境では、ADMINISTER KEY MANAGEMENT文をIDENTIFIED BY EXTERNALSTORE句を使用して実行すると、様々なPDBがこの外部ストアの場所にアクセスできます。このように、パスワードをまとめて配置すると、パスワードの更新は外部ストアで一度のみで済みます。

関連項目

キーストア・パスワードのための外部ストアの構成

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの構成

ステップ1: 分離モードで構成されたPDBでのソフトウェア・キーストアの作成パスワード保護されたソフトウェア・キーストアには、キーストアのキーおよび資格証明を保護するためのパスワードが必要になります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。例:

299

Page 300: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

sqlplus sec_admin@hrpdb as syskm

Enter password: password

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、ADMINISTER KEY MANAGEMENT SQL文を実行してキーストアを作成します。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

['keystore_location']

IDENTIFIED BY software_keystore_password;

ここでは次のように指定します。

keystore_locationは、パスワード保護されたキーストアのキーストア・ディレクトリの場所へのパスです。WALLET_ROOTパラメータで設定されているパスを使用する場合は、keystore_location設定を省略できます。

keystore_locationを指定する場合は、一重引用符(' ')で囲んでください。この場所を見つけるには、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。(キーストアがデフォルトの場所に作成されていない場合、V$ENCRYPTION_WALLETビューのSTATUS列はNOT_AVAILABLEになります。)

software_keystore_passwordは、セキュリティ管理者が作成するキーストアのパスワードです。

たとえば、デフォルトの場所(WALLET_ROOTが設定されているものと仮定)にキーストアを作成するには、次のように指定します。

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE

IDENTIFIED BY password;

keystore altered.

これらのステップを完了すると、構成したWALLET_ROOTの下にあるデフォルトのキーストアの場所に、ewallet.p12ファイル(キーストア)が生成されます。たとえば、WALLET_ROOTパラメータを$ORACLE_BASE/walletに設定し、TDE_CONFIGURATIONパラメータをFILE(分離モード

コピー

コピー

コピー

300

Page 301: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

の に対してソフトウェア・キーストアが構成されることを示す に設定すると、 のキーストアが$ORACLE_BASE/wallet/PDB-GUID/tdeディレクトリに作成されます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの構成

ステップ2: 分離モードのPDBでソフトウェア・キーストアを開く分離モードでソフトウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. ADMINISTER KEY MANAGEMENT文を実行してキーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

keystore altered.

自動ログイン・キーストアが構成されており、現在開いている場合、パスワード保護されたソフトウェア・キーストアを開くように切り替えるには、FORCE KEYSTORE句を次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

keystore altered.

ここでは、キーストア資格証明が外部ストアに存在するため、IDENTIFIED BY EXTERNALSTORE句が文に含まれています。これにより、文自体の中でキーストア・パスワードを指定せずに、パスワード保護されたキーストアを開くことができます。

WALLET_ROOTパラメータが設定されている場合、Oracle Databaseは、パスWALLET_ROOT/PDB_GUID/tde_sepsを検索して、外部ストアを探します。

3. キーストアが開いていることを確認します。

SELECT STATUS FROM V$ENCRYPTION WALLET;

コピー

コピー

コピー

PDB ) PDB

301

Page 302: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目

ソフトウェア・キーストアを開くことについて

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの構成

ステップ3: 分離モードのPDBのソフトウェア・キーストアでのTDEマスター暗号化キーの設定分離モードのPDBでソフトウェア・キーストア内にTDEマスター暗号化キーを設定するには、SETKEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. データベースがREAD WRITEモードでオープンしていることを確認します。ステータスを確認するには、show pdbsコマンドを実行します。

3. ADMINISTER KEY MANAGEMENT SQL文を実行して、ソフトウェア・キーストア内にキーを設定します。たとえば、PDBのキーストアがパスワードで保護されており、PDBとそのキーストアが開いている場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

keystore altered.

キーストアが閉じている場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

keystore altered.

コピー

コピー

302

Page 303: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。

キーストアが閉じている場合は、FORCE KEYSTOREを含める必要があります。これにより、TDEマスター暗号化キーを設定する前に、キーストアが自動的に開きます。また、FORCE KEYSTORE句は、自動ログイン・キーストアが構成されており、現在開いている場合に、パスワード保護されたソフトウェア・キーストアを開くように切り替えます。IDENTIFIED BYはキーストア・パスワードを指定します。または、キーストア・パスワードが外部ストアにある場合は、IDENTIFIED BY EXTERNAL STORE句を使用できます。

4. TDEマスター暗号化キーが設定されていることを確認します。

SELECT MASTERKEY_ACTIVATED FROM V$DATABASE_KEY_INFO;

出力はYESとなっている必要があります。

関連項目

ソフトウェア・キーストアのTDEマスター暗号化キーの設定について

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの構成

ステップ4: 分離モードでのデータの暗号化キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの構成

分離モードでのハードウェア・キーストアの構成Oracle Databaseでは、ハードウェア・セキュリティ・モジュール(HSM)およびOracle Key Vault(OKV)キーストアという2つの異なるタイプのハードウェア・キーストアがサポートされています。

分離モードでのハードウェア・キーストアの構成について

コピー

303

Page 304: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

PDBが分離モードで構成されている場合に、PDBのハードウェア・キーストアを構成できます。

ステップ1: 分離モードのPDBのハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、ベンダーのPKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります。

ステップ2: 分離モードのPDBでハードウェア・キーストアを開く分離モードのPDBでハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

ステップ3: 分離モードのPDBのハードウェア・キーストアでのTDEマスター暗号化キーの設定分離モードのPDBでハードウェア・キーストアを開くと、そのPDBのTDEマスター暗号化キーを設定できるようになります。

ステップ4: 分離モードでのデータの暗号化キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのハードウェア・キーストアの構成についてPDBが分離モードで構成されている場合に、PDBのハードウェア・キーストアを構成できます。

分離モードのPDBのハードウェア・キーストアを構成するには、まずWALLET_ROOTパラメータを設定する必要があります。これが必要な理由は2つあります。1つは、将来ソフトウェア・キーストアに移行できるようにするため、もう1つは、Oracle Key Vaultの構成ファイルがWALLET_ROOTの下の場所から取得されるためです。次に、TDE_CONFIGURATIONパラメータのKEYSTORE_CONFIGURATION属性をHSMまたはOKVに設定し、構成したハードウェア・キーストアを開いて、PDBのTDEマスター暗号化キーを設定する必要があります。これらのタスクを完了すると、PDB内のデータを暗号化できるようになります。

ADMINISTER KEY MANAGEMENT文を実行するときにIDENTIFIED BY句を指定する方法は、ハードウェア・キーストアのタイプによって異なります。ハードウェア・セキュリティ・モジュール(HSM)の場合は、次の構文を使用します。

IDENTIFIED BY "user_name:password"

Oracle Key Vaultキーストアの場合は、user_nameとコロンを省略できますが、パスワードを一重引用符で囲む必要があります。

コピー

304

Page 305: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY "password"

親トピック: 分離モードでのハードウェア・キーストアの構成

ステップ1: 分離モードのPDBのハードウェア・セキュリティ・モジュールの構成サード・パーティのハードウェア・セキュリティ・モジュールを構成するには、ベンダーのPKCS#11ライブラリを正しい場所にコピーして、ベンダーの指示に従う必要があります。

関連項目

ステップ2: ハードウェア・セキュリティ・モジュールの構成

親トピック: 分離モードでのハードウェア・キーストアの構成

ステップ2: 分離モードのPDBでハードウェア・キーストアを開く分離モードのPDBでハードウェア・キーストアを開くには、SET KEYSTORE OPEN句を含むADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。例:

sqlplus sec_admin@hrpdb as syskm

Enter password: password

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、ハードウェア・キーストアを開きます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "hardware_keystore_credentials";

ハードウェア・キーストアのタイプによって、ハードウェア・キーストアのパスワードを指定する方法が異なります。ハードウェア・セキュリティ・モジュールの場合は、user_name:passwordという構文を使用する必要があります。例:

コピー

コピー

コピー

305

Page 306: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:password";

keystore altered.

Oracle Key Vaultキーストアの場合は、パスワードを入力するだけで済みます。IDENTIFIEDBY句でユーザー名を指定することはできません。パスワードは二重引用符で囲みます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "password";

3. データベース・インスタンスを再起動するたびにこの手順を繰り返します。CDBルートのキーストアを最初に開く必要があります。

関連項目

ハードウェア・キーストアを開くことについて

親トピック: 分離モードでのハードウェア・キーストアの構成

ステップ3: 分離モードのPDBのハードウェア・キーストアでのTDEマスター暗号化キーの設定分離モードのPDBでハードウェア・キーストアを開くと、PDBのTDEマスター暗号化キーを設定できるようになります。

分離モードでの新しいTDEマスター暗号化キーの設定これまでに透過的データ暗号化のハードウェア・キーストアを構成したことがない場合は、この手順を実行する必要があります。

分離モードでの以前に構成した暗号化キーの移行以前にソフトウェア・キーストアを構成している場合は、以前に構成したマスター暗号化キーを移行する必要があります。

親トピック: 分離モードでのハードウェア・キーストアの構成

分離モードでの新しいTDEマスター暗号化キーの設定

透過的データ暗号化用にハードウェア・キーストアをまだ構成していない場合は、この手順を完了する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離

コピー

コピー

306

Page 307: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

モードのPDBにログインします。

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. データベースがREAD WRITEモードでオープンしていることを確認します。OPEN_MODEがREAD WRITEに設定されている場合、TDEマスター暗号化キーを設定できます。ステータスを確認するには、show pdbsコマンドを実行します。

3. 次の構文を使用して、TDEマスター暗号化キーを設定します。

ADMINISTER KEY MANAGEMENT SET KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE |

"hardware_keystore_credentials"];

ここでは次のように指定します。

FORCE KEYSTOREは、キーストアが閉じている場合、自動ログイン・キーストアが構成されていて現在開いている場合、またはパスワード保護されたキーストアが構成されていて現在閉じている場合に、パスワード保護されたキーストアをこの操作用に一時的に開きます。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

例:

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY "psmith:password";

コピー

コピー

307

Page 308: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore altered.

4. TDEマスター暗号化キーが設定されていることを確認します。

SELECT MASTERKEY_ACTIVATED FROM V$DATABASE_KEY_INFO;

出力はYESとなっている必要があります。

関連項目

ハードウェア・キーストアのTDEマスター暗号化キーの設定について

親トピック: ステップ3: 分離モードのPDBのハードウェア・キーストアでのTDEマスター暗号化キーの設定

分離モードでの以前に構成した暗号化キーの移行

ソフトウェア・キーストアを以前に構成している場合は、以前に構成したマスター暗号化キーを移行する必要があります。

関連項目

前に構成したTDEマスター暗号化キーの移行

親トピック: ステップ3: 分離モードのPDBのハードウェア・キーストアでのTDEマスター暗号化キーの設定

ステップ4: 分離モードでのデータの暗号化キーストアの構成が完了し、PDBが分離モードで構成されると、PDB内のデータを暗号化できるようになります。

関連項目

表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: 分離モードでのハードウェア・キーストアの構成

分離モードでのキーストアおよびTDEマスター暗号化キーの管理分離モードでキーストアおよびTDEマスター暗号化キーを作成すると、暗号化キーに対してキー

コピー

308

Page 309: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

更新やタグ付けなどの管理タスクを実行できるようになります。

ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアの管理インタフェースを使用する必要があります。ADMINISTER KEY MANAGEMENT文を使用して、この操作を実行することはできません。

分離モードでのキーストア・パスワードの変更PDBが分離モードである場合に、ソフトウェア・キーストアのパスワードを変更できます。

分離モードでのパスワード保護されたソフトウェア・キーストアのバックアップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句を使用すると、パスワード保護されたソフトウェア・キーストアのバックアップを実行できます。

分離モードでのソフトウェア・キーストアのマージ分離モードで、ソフトウェア・キーストアをマージできます。

分離モードでキーストアを閉じるシステム表領域が暗号化されていなければ、分離モードでソフトウェア・キーストアとハードウェア・キーストアの両方を閉じることができます。

分離モードでのユーザー定義のTDEマスター暗号化キーの作成ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

分離モードでの後で使用するためのTDEマスター暗号化キーの作成分離モードで、後で使用するTDEマスター暗号化キーを作成するには、事前にキーストアが開かれている必要があります。

分離モードでのTDEマスター暗号化キーのアクティブ化分離モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USEKEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

分離モードでのTDEマスター暗号化キーのキー更新SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをキー更新できます。

分離モードでのTDEマスター暗号化キーの新しいキーストアへの移動分離モードで、既存のTDEマスター暗号化キーを、既存のソフトウェア・パスワード・キーストアから新しいキーストアに移動できます。

分離モードでのカスタム属性タグの作成分離モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSETTAG句を使用する必要があります。

309

Page 310: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート分離モードでは、様々な方法でTDEマスター暗号化キーをエクスポートおよびインポートできます。

分離モードでのOracle Databaseシークレットの保管シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracle Databaseの内部機能をサポートするデータです。

分離モードでのキーストアの移行分離モードで、ソフトウェア・キーストアとハードウェア・キーストア間の移行操作と逆移行操作を実行できます。

分離モードでの非アクティブなTDEマスター暗号化キーの自動削除分離モードで、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータを使用して、非アクティブなマスター暗号化キーの自動削除を構成できます。

プラガブル・データベースのキーストアの統合PDBキーストアを統合すると、TDEマスター暗号化キーがPDBキーストアからCDBルートのキーストアに移されます。これにより、CDBルートのキーストアの管理者がキーを管理できるようになります。

PDBクローズ時のキーストアの作成閉じているPDBでキーストアを作成すると、新しいキーストアは空になり、PDBが分離モードに変換されます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのキーストア・パスワードの変更PDBが分離モードの場合に、ソフトウェア・キーストアのパスワードを変更できます。

ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアの管理インタフェースを使用する必要があります。ADMINISTER KEY MANAGEMENT文を使用して、この操作を実行することはできません。

分離モードでのパスワード保護ソフトウェア・キーストアのパスワードの変更分離モードでパスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

分離モードでのハードウェア・キーストアのパスワードの変更ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアを閉じた後に、ハードウェア・キーストアの管理インタフェースからパスワードを変更する必要があります。

310

Page 311: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのパスワード保護されたソフトウェア・キーストアのパスワードの変更

分離モードでパスワード保護されたソフトウェア・キーストアのパスワードを変更するには、ADMINISTER KEY MANAGEMENT文を使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、キーストアのパスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

[FORCE KEYSTORE]

IDENTIFIED BY

old_password SET new_password

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。FORCE KEYSTOREは、キーストアが閉じている場合、自動ログイン・キーストアが構成されていて現在開いている場合、またはパスワード保護されたキーストアが構成されていて現在閉じている場合に、パスワード保護されたキーストアをこの操作用に一時的に開きます。old_passwordは、変更する現在のキーストア・パスワードです。

new_passwordは、キーストア用に設定する新しいパスワードです。

次の例では、キーストアのバックアップを作成してから、キーストアのパスワードを変更します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

keystore altered.

この例では同じ操作を実行しますが、自動ログイン・ソフトウェア・キーストアが使用されている場合や、パスワード保護されたソフトウェア・キーストアが閉じている場合のために、FORCE KEYSTORE句を使用します。

コピー

コピー

311

Page 312: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

FORCE KEYSTORE

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

keystore altered.

関連項目

キーストア・パスワードを必要とする操作の実行

ソフトウェア・キーストアのパスワードの変更

親トピック: 分離モードでのキーストア・パスワードの変更

分離モードでのハードウェア・キーストアのパスワードの変更

ハードウェア・キーストアのパスワードを変更するには、ハードウェア・キーストアを閉じた後に、ハードウェア・キーストアの管理インタフェースからパスワードを変更する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. ハードウェア・キーストアを閉じます。

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password";

パスワードが外部に格納されているハードウェア・キーストアの場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY EXTERNAL STORE;

コピー

コピー

コピー

312

Page 313: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. ハードウェア・セキュリティ・モジュールの管理インタフェースから、ハードウェア・セキュリティ・モジュールのパスワードを変更します。

4. 外部ストア内のHSMの資格証明を更新して、「user_name:password」が使用されるようにします。

現時点では、外部ストアに以前のHSM資格証明が含まれていますが、これは機能しなくなっています。

例:

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'user_name:password'

FOR CLIENT 'TDE_WALLET'

TO LOCAL AUTO_LOGIN KEYSTORE

'/etc/ORACLE/WALLETS/orcl/external_store';

5. SQL*Plusでハードウェア・キーストアを開きます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "psmith:new_password";

パスワードが外部に格納されているハードウェア・キーストアの場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY EXTERNAL STORE;

関連項目

キーストア・パスワードを必要とする操作の実行

分離モードでのOracle Databaseシークレットの保管

親トピック: 分離モードでのキーストア・パスワードの変更

分離モードでのパスワード保護されたソフトウェア・キーストアのバック

コピー

コピー

コピー

313

Page 314: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

アップADMINISTER KEY MANAGEMENT文のBACKUP KEYSTORE句により、パスワード保護されたソフトウェア・キーストアをバックアップします。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

例:

sqlplus sec_admin@hrpdb as syskm

Enter password: password

Connected.

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、キーストアをバックアップします。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

[USING 'backup_identifier']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | software_keystore_password]

[TO 'keystore_location'];

ここでは次のように指定します。USING backup_identifierは、バックアップを識別するために指定できるオプション文字列です。この識別子は、一重引用符(' ')で囲みます。この識別子は名前付きキーストア・ファイルに付加されます(ewallet_time-stamp_emp_key_backup.p12など)。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは、パスワード保護されたキーストアに対してBACKUP KEYSTORE操作を行う場合に必須です。その理由は、バックアップは既存のキーストアのコピーにすぎませんが、パスワード保護されたキーストアのTDEマスター暗号化キーのステータスをBACKED UPに設定する必要があり、この変更を行うためにキーストア・パスワードが必要になるためです。

コピー

コピー

314

Page 315: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore_locationは、バックアップ・キーストアが格納されるパスです。PDBロックダウン・プロファイルのEXTERNAL_FILE_ACCESS設定がPDBでブロックされている場合、またはPDBの作成時にPATH_PREFIX変数が設定されている場合は、この設定がPDBに制限されます。keystore_locationを指定しない場合、バックアップは元のキーストアと同じディレクトリに作成されます。この場所は一重引用符(' ')で囲みます。

次の例は、ソフトウェア・キーストアをソース・キーストアと同じ場所にバックアップします。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY

'software_keystore_password';

keystore altered.

次に示すバージョンでは、キーストアのパスワードが外部に保管されているため、EXTERNAL STORE句が使用されています。

ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE

USING 'hr.emp_keystore'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

この文を実行すると、ewallet_identifier.p12ファイル(ewallet_time-stamp_hr.emp_keystore.p12など)が、キーストアのバックアップ場所に作成されます。

関連項目

パスワード保護されたソフトウェア・キーストアのバックアップ

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのソフトウェア・キーストアのマージ分離モードで、ソフトウェア・キーストアをマージできます。

コピー

コピー

315

Page 316: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ分離モードで、MERGE KEYSTORE句を含むADMINISTER KEY MANAGEMENT文を使用して、1つのソフトウェア・キーストアを別の既存のソフトウェア・キーストアにマージできます。

分離モードでの2つのソフトウェア・キーストアの3番目の新しいキーストアへのマージ分離モードで、2つのソフトウェア・キーストアを3番目の新しいキーストアにマージして、既存の2つのキーストアを変更せずに、新しいキーストアに両方のソース・キーストアのキーを格納できます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでの1つのソフトウェア・キーストアの既存のソフトウェア・キーストアへのマージ分離モードで、MERGE KEYSTORE句を含むADMINISTER KEY MANAGEMENT文を使用して、1つのソフトウェア・キーストアを別の既存のソフトウェア・キーストアにマージできます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、ソフトウェア・キーストアをマージします。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore1_location'

[IDENTIFIED BY software_keystore1_password]

INTO EXISTING KEYSTORE 'keystore2_location'

IDENTIFIED BY software_keystore2_password

[WITH BACKUP [USING 'backup_identifier]];

ここでは次のように指定します。keystore1_locationは、マージ後も変更されないまま残される1つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

IDENTIFIED BY句は、1つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore1_passwordは、1つ目のキーストアのパスワードです。keystore2_locationは、1つ目のキーストアがマージされる2つ目のキーストアのデ

コピー

316

Page 317: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ィレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

software_keystore2_passwordは、2つ目のキーストアのパスワードです。

ターゲット・キーストア(keystore2)は、キーストアのマージ操作後もパスワード保護されたキーストアのままになります。

関連項目

ソフトウェア・キーストアのマージについて

親トピック: 分離モードでのソフトウェア・キーストアのマージ

分離モードでの2つのソフトウェア・キーストアの3番目の新しいキーストアへのマージ

分離モードで、2つのソフトウェア・キーストアを3番目の新しいキーストアにマージして、既存の2つのキーストアを変更せずに、新しいキーストアに両方のソース・キーストアのキーを格納できます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、キーストアをマージします。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE 'keystore1_location'

[IDENTIFIED BY software_keystore1_password] AND KEYSTORE

'keystore2_location'

[IDENTIFIED BY software_keystore2_password]

INTO NEW KEYSTORE 'keystore3_location'

IDENTIFIED BY software_keystore3_password;

ここでは次のように指定します。

keystore1_locationは、マージ後も変更されないまま残される1つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

IDENTIFIED BY句は、1つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore1_passwordは、1つ目のキーストアの現在のパスワードです。

コピー

317

Page 318: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore2_locationは、2つ目のキーストアのディレクトリの場所です。このパスは、一重引用符(' ')で囲みます。

IDENTIFIED BY句は、2つ目のキーストアがパスワード保護されたキーストアの場合は必要です。software_keystore2_passwordは、2つ目のキーストアの現在のパスワードです。keystore3_locationは、マージされた新しいキーストアのディレクトリの場所を指定します。このパスは、一重引用符(' ')で囲みます。その場所に既存のキーストアがすでに存在する場合は、コマンドが終了してエラーが発生します。software_keystore3_passwordは、マージ後のキーストアの新しいパスワードです。

次の例は、自動ログイン・ソフトウェア・キーストアをパスワード保護されたキーストアとマージして、マージしたパスワード保護されたキーストアを新しいロケーションに作成します。

ADMINISTER KEY MANAGEMENT MERGE KEYSTORE

'/etc/ORACLE/KEYSTORE/DB1'

AND KEYSTORE '/etc/ORACLE/KEYSTORE/DB2'

IDENTIFIED BY existing_password_for_keystore_2

INTO NEW KEYSTORE '/etc/ORACLE/KEYSTORE/DB3'

IDENTIFIED BY new_password_for_keystore_3;

keystore altered.

関連項目

ソフトウェア・キーストアのマージについて

親トピック: 分離モードでのソフトウェア・キーストアのマージ

分離モードでキーストアを閉じるシステム表領域が暗号化されていなければ、分離モードでソフトウェア・キーストアとハードウェア・キーストアの両方を閉じることができます。

分離モードでソフトウェア・キーストアを閉じる分離モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。

分離モードでハードウェア・キーストアを閉じるハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を含むADMINISTER

コピー

318

Page 319: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

KEY MANAGEMENT文を使用する必要があります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでソフトウェア・キーストアを閉じる

分離モードで、パスワード保護されたキーストア、自動ログイン・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアを閉じることができます。

アクセス時に自動的に開かれる自動ログイン・キーストアの場合は、まず自動的に開くことができない新しい場所に移動してから、手動で閉じる必要があります。自動ログイン・キーストアからパスワード保護されたキーストアに構成を変更する場合は、自動ログイン・キーストアが使用されなくなるように構成を変更し(自動ログイン・キーストアを自動的に開くことができない別の場所に移動する)、その後、自動ログイン・キーストアを閉じる必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、ソフトウェア・キーストアを閉じます。次の2つのADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE文の相違点は、パスワード保護されたキーストアの場合はパスワードの指定が必要になる点だけです。

パスワード保護されたソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY [EXTERNAL STORE | software_keystore_password];

パスワード保護されたキーストアを閉じると、すべての暗号化操作と復号化操作が無効になります。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。自動ログイン・ソフトウェア・キーストアまたはローカル自動ログイン・ソフトウェア・キーストアの場合は、次のように指定します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE;

この文を実行しても、キーストアのステータスがCLOSEDに変更されるとはかぎりません。その理由は、cwallet.ssoファイルもOracle Databaseが検出できない場所に移動しないかぎり、バックグラウンド・ジョブまたはバックグラウンド・プロセスによって自動ログイン・キーストアが自動的に再オープンされる可能性があるためです。このため、ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE文が正常に実行さ

コピー

コピー

319

Page 320: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

れた後でも、ステータスが常にOPENと表示される可能性があります。

関連項目

キーストアを閉じることについて

親トピック: 分離モードでキーストアを閉じる

分離モードでハードウェア・キーストアを閉じるハードウェア・キーストアを閉じるには、SET KEYSTORE CLOSE句を含むADMINISTER KEYMANAGEMENT文を使用する必要があります。

Oracle Key Vaultキーストアの場合は、パスワードを入力するだけで済みます。IDENTIFIEDBY句でユーザー名を指定することはできません。パスワードは二重引用符で囲みます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、ハードウェア・キーストアを閉じます。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY [EXTERNAL STORE |

"hardware_keystore_credentials"];

たとえば、HSMの場合は、次のとおりです。

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE

IDENTIFIED BY "psmith:password";

キーストアを閉じると、すべての暗号化操作と復号化操作が無効になります。データを暗号化または復号化しようとしたり、暗号化データにアクセスしようとすると、エラーが発生します。

関連項目

キーストアを閉じることについて

親トピック: 分離モードでキーストアを閉じる

分離モードでのユーザー定義のTDEマスター暗号化キーの作成

コピー

コピー

320

Page 321: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ユーザー定義のTDEマスター暗号化キーを作成するには、SET | CREATE [ENCRYPTION]KEY句を含むADMINISTER KEY MANAGEMENT文を使用します。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、ユーザー定義のTDEマスター暗号化キーを作成します。

ADMINISTER KEY MANAGEMENT SET | CREATE [ENCRYPTION] KEY

'mkid:mk | mk'

[USING ALGORITHM 'algorithm']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。

SET | CREATE: マスターを作成して、すぐにTDEマスター暗号化キーをアクティブ化する場合はSETと入力し、後から使用するためのキーを作成して、まだアクティブ化しない場合はCREATEと入力します。

mkidおよびmk:

mkidは、TDEマスター暗号化キーIDであり、16バイトの16進数エンコード値です。ユーザーが指定するか、Oracle Databaseに生成させることができます。mkは、TDEマスター暗号化キーであり、32バイト(AES256、ARIA256およびGOST256アルゴリズムの場合)または16バイト(SEED128アルゴリズムの場合)のいずれかの16進数エンコード値です。ユーザーが指定するか、OracleDatabaseに生成させることができます。

mkid:mk|mkid句を省略したが、mk値を含めた場合、Oracle Databaseはmkのmkidを生成します。mkid:mk|mkid句全体を省略した場合、Oracle Databaseはこれらの値を生成します。

USING ALGORITHM: サポートされている次のアルゴリズムのいずれかを指定します。

AES256

ARIA256

SEED128

GOST256

アルゴリズムを省略した場合は、デフォルトのAES256が使用されます。

コピー

321

Page 322: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。

次の例には、ユーザー作成のTDEマスター暗号化キーが含まれますが、TDEマスター暗号化キーIDは含まれないため、TDEマスター暗号化キーIDが生成されます。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

'3D432109DF88967A541967062A6F4E460E892318E307F017BA048707B402493C'

USING ALGORITHM 'GOST256'

FORCE KEYSTORE

IDENTIFIED BY keystore_password;

次の例では、マスター暗号化IDおよびTDEマスター暗号化キーの両方のためにユーザー定義のキーが作成されます。アルゴリズムの指定が省略されているため、デフォルトのアルゴリズムAES256が使用されます。

ADMINISTER KEY MANAGEMENT CREATE ENCRYPTION KEY

'10203040506070801112131415161718:3D432109DF88967A541967062A6F4E

460E892318E307F017BA048707B402493C'

IDENTIFIED BY keystore_password;

関連項目

サポートされる暗号化と整合性のアルゴリズム

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでの後で使用するためのTDEマスター暗号化キーの作成分離モードで、後で使用するTDEマスター暗号化キーを作成するには、事前にキーストアが開かれている必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次の構文を使用して、TDEマスター暗号化キーを作成します。

コピー

コピー

322

Page 323: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT CREATE KEY

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは、パスワード保護されたキーストアに対してBACKUP KEYSTORE操作を行う場合に必須です。その理由は、バックアップは既存のキーストアのコピーにすぎませんが、パスワード保護されたキーストアのTDEマスター暗号化キーのステータスをBACKED UPに設定する必要があり、この変更を行うためにキーストア・パスワードが必要になるためです。keystore_locationは、バックアップ・キーストアが格納されるパスです。PDBロックダウン・プロファイルのEXTERNAL_FILE_ACCESS設定がPDBでブロックされている場合、またはPDBの作成時にPATH_PREFIX変数が設定されていない場合は、この設定がPDBに制限されます。keystore_locationを指定しない場合、バックアップは元のキーストアと同じディレクトリに作成されます。この場所は一重引用符(' ')で囲みます。

例:

ADMINISTER KEY MANAGEMENT CREATE KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP;

3. 必要に応じて、TDEマスター暗号化キーをアクティブ化します。

a. キーIDを確認します。

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

コピー

コピー

コピー

323

Page 324: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

b. このキーIDを使用して、キーをアクティブ化します。

ADMINISTER KEY MANAGEMENT USE KEY

'AWsHwVYC2U+Nv3RVphn/yAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

USING TAG 'quarter:second;description:Activate Key on

standby'

IDENTIFIED BY password

WITH BACKUP;

関連項目

後で使用するためのTDEマスター暗号化キーの作成

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのTDEマスター暗号化キーのアクティブ化分離モードでTDEマスター暗号化キーをアクティブ化するには、キーストアを開き、USE KEY句を含むADMINISTER KEY MANAGEMENTを使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せて、キーの識別子を確認します。

例:

SELECT KEY_ID FROM V$ENCRYPTION_KEYS;

KEY_ID

----------------------------------------------------

ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. このキー識別子を使用して、次の構文を使用してTDEマスター暗号化キーをアクティブ化します。

コピー

コピー

324

Page 325: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT USE KEY

'key_identifier_from_V$ENCRYPTION_KEYS'

[USING TAG 'tag']

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。

例:

ADMINISTER KEY MANAGEMENT USE KEY

'ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP;

関連項目

TDEマスター暗号化キーのアクティブ化について

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのTDEマスター暗号化キーのキー更新SET KEY句を含むADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをキー更新できます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 自動ログインを有効化したキーストアのTDEマスター暗号化キーをキー更新する場合、.ssoファイルによって識別される自動ログイン・キーストアと.p12ファイルによって識別される暗号化キーストアの両方が存在することを確認する必要があります。これらのファイルのロケーションは、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列

コピー

コピー

325

Page 326: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を問い合せることで確認できます。すべてのデータベース・インスタンスのWRL_PARAMETER値を見つけるには、GV$ENCRYPTION_WALLETビューを問い合せます。

3. 次の構文を使用して、TDEマスター暗号化キーをキー更新します。

ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY

[FORCE KEYSTORE]

[USING TAG 'tag_name']

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性および情報です。この設定は、一重引用符(' ')で囲みます。FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、このキーストア用に作成されたパスワードです。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

keystore altered.

関連項目

TDEマスター暗号化キーのキー更新について

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのTDEマスター暗号化キーの新しいキーストアへの移動

コピー

コピー

326

Page 327: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでは、既存のTDEマスター暗号化キーを既存のソフトウェア・パスワード・キーストアから新しいキーストアに移動できます。

この機能を使用すると、キーストアの一部またはすべてのキーを新しいキーストアに移動できます。キーを新しいキーストアに移動し、古いキーストアをバックアップした後は、必要に応じてこの古いキーストアを削除できます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. V$ENCRYPTION_KEYSビューのCREATION_TIME列とKEY_ID列を問い合せて、移動するキーのキー識別子を確認します。例:

SELECT CREATION_TIME, KEY_ID FROM V$ENCRYPTION_KEYS;

CREATION TIME

----------------------------------------------------

22-SEP-17 08.55.12.956170 PM +00:00

KEY_ID

----------------------------------------------------

ARaHD762tUkkvyLgPzAi6hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

3. 次の構文を使用して、新しいキーストアにキーを移動します。

ADMINISTER KEY MANAGEMENT

MOVE [ENCRYPTION] KEYS

TO NEW KEYSTORE 'keystore_location1'

IDENTIFIED BY keystore1_password

FROM [FORCE] KEYSTORE

IDENTIFIED BY keystore_password

[WITH IDENTIFIER IN

{ 'key_identifier' [, 'key_identifier' ]... | ( subquery ) }]

[WITH BACKUP [USING 'backup_identifier'] ];

ここでは次のように指定します。

keystore_location1は、新しいキーストア.p12ファイルを格納するwalletディレ

コピー

コピー

327

Page 328: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

クトリへのパスです。デフォルトでは、このディレクトリは$ORACLE_BASE/admin/db_unique_name/walletです。

FORCEは、この操作のためにキーストアを一時的に開きます。

keystore_passwordは、キーの移動元であるキーストアのパスワードです。

例:

ADMINISTER KEY MANAGEMENT MOVE KEYS

TO NEW KEYSTORE '$ORACLE_BASE/admin/orcl/wallet'

IDENTIFIED BY keystore_password

FROM FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH IDENTIFIER IN

(SELECT KEY_ID FROM V$ENCRYPTION_KEYS WHERE ROWNUM < 2)

WITH BACKUP;

キーが新しいキーストアに移されると、古いキーストアからそれらのキーがなくなります。4. 古いキーストアを削除するには、walletディレクトリに移動して、次の手順を実行します。

a. 削除するキーストアを含む.p12ファイルをバックアップします。

b. キーストアを含む.p12ファイルを手動で削除します。

キーストアの場所を検索するには、キーストアを開いてから、V$ENCRYPTION_WALLETビューのWRL_PARAMETER列を問い合せます。

関連項目

キーストアを削除することの危険性

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのカスタム属性タグの作成分離モードでカスタム属性タグを作成するには、ADMINISTER KEY MANAGEMENT文のSETTAG句を使用する必要があります。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 必要に応じて、V$ENCRYPTION_KEY動的ビューのTAG列を問い合せて、TDEマスター暗号化キーの既存のタグのリストを確認します。

コピー

328

Page 329: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

TDEマスター暗号化キーの新しいタグを作成すると、そのTDEマスター暗号化キーの既存のタグは上書きされます。

3. 次の構文を使用して、カスタム属性タグを作成します。

ADMINISTER KEY MANAGEMENT SET TAG 'tag'

FOR 'master_key_identifier'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup_identifier']];

ここでは次のように指定します。tagは、定義する関連の属性または情報です。この情報は一重引用符(' ')で囲みます。master_key_identifierは、tagが設定されるTDEマスター暗号化キーを識別します。TDEマスター暗号化キー識別子のリストを確認するには、V$ENCRYPTION_KEYS動的ビューのKEY_ID列を問い合せます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。IDENTIFIED BYは次のいずれかの設定にできます。

EXTERNAL STOREは、外部ストアに格納されたキーストア・パスワードを使用して、キーストア操作を実行します。keystore_passwordは、このキーストア用に作成されたパスワードです。

backup_identifierは、タグの値を定義します。この設定は一重引用符(' ')で囲み、それぞれの値をコロンで区切ります。

たとえば、2つの値(1番目は特定のセッションID、2番目は特定の端末IDを取得)を使用するタグを作成するには、次のようにします。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

USING TAG 'sessionid=3205062574:terminal=xcvt'

IDENTIFIED BY keystore_password

WITH BACKUP;

keystore altered.

コピー

コピー

329

Page 330: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

セッションID (3205062574)と端末ID (xcvt)はどちらも、SYS_CONTEXT関数でUSERENVネームスペースを使用するか、USERENV関数を使用することで、値を導出できます。

関連項目

カスタム属性タグの作成について

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート分離モードでは、様々な方法でTDEマスター暗号化キーをエクスポートおよびインポートできます。

分離モードでのTDEマスター暗号化キーのエクスポート分離モードで、ADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをエクスポートできます。

分離モードでのTDEマスター暗号化キーのインポートIMPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEYMANAGEMENT文を使用して、TDEマスター暗号化キーをインポートできます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのTDEマスター暗号化キーのエクスポート分離モードで、ADMINISTER KEY MANAGEMENT文を使用して、TDEマスター暗号化キーをエクスポートできます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、TDEマスター暗号化のキーストアをエクスポートします。

ADMINISTER KEY MANAGEMENT EXPORT [ENCRYPTION] KEYS

WITH SECRET "export_secret"

TO 'file_path'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH IDENTIFIER IN 'key_id1', 'key_id2', 'key_idn' |

(SQL_query)];

コピー

330

Page 331: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。export_secretは、エクスポートするキーが含まれるエクスポート・ファイルを暗号化するために指定できるパスワードです。このシークレットを二重引用符(" ")で囲むか、シークレットにスペースが使用されていない場合は引用符を省略できます。file_pathは、キーのエクスポート先ファイルの完全パスと名前です。このパスは、一重引用符(' ')で囲みます。標準ファイル・システムにのみエクスポートできます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。key_id1、key_id2、key_idnは、エクスポートするTDEマスター暗号化キーの1つ以上のTDEマスター暗号化キー識別子の文字列です。各キー識別子はカンマで区切り、それぞれのキー識別子を一重引用符(' ')で囲みます。TDEマスター暗号化キーの識別子を確認するには、V$ENCRYPTION_KEYS動的ビューのKEY_ID列を問い合せます。SQL_queryは、TDEマスター暗号化キー識別子のリストをフェッチする問合せです。これによって、通常はTDEマスター暗号化キーの識別子が含まれる1つの列のみが返されます。この問合せは、現在のユーザー権限で実行されます。

関連項目

TDEマスター暗号化キーのエクスポートおよびインポート

親トピック: 分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート

分離モードでのTDEマスター暗号化キーのインポートIMPORT [ENCRYPTION] KEYS WITH SECRET句を含むADMINISTER KEY MANAGEMENT文によって、TDEマスター暗号化キーをインポートできます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。SYSDBA管理者に正しいPDBを問い合せてください。現在のコンテナを確認するには、SHOWCON_NAMEコマンドを実行します。

2. 次のSQL文を実行します。

ADMINISTER KEY MANAGEMENT IMPORT [ENCRYPTION] KEYS

WITH SECRET "import_secret"

FROM 'file_name'

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING 'backup identifier']];

コピー

331

Page 332: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。import_secretは、エクスポート操作時にキーの暗号化に使用されたものと同じパスワードです。このシークレットを二重引用符(" ")で囲むか、シークレットにスペースが使用されていない場合は引用符を省略できます。file_nameは、キーのインポート元ファイルの完全パスと名前です。この設定は、一重引用符(' ')で囲みます。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。

関連項目

TDEマスター暗号化キーのエクスポートおよびインポート

親トピック: 分離モードでのTDEマスター暗号化キーのエクスポートおよびインポート

分離モードでのOracle Databaseシークレットの保管シークレットとは、Oracle GoldenGateなどの外部クライアントをデータベースに統合するOracleDatabaseの内部機能をサポートするデータです。

分離モードでのソフトウェア・キーストアへのOracle Databaseシークレットの保管ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文を使用して、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。

分離モードでのハードウェア・キーストアへのOracle Databaseシークレットの保管ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文を使用して、シークレットの追加、シークレットの更新、およびキーストアからのシークレットの削除を行うことができます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのソフトウェア・キーストアへのOracle Databaseシークレットの保管ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文を使用して、キーストアでのシークレットの追加、シークレットの更新、およびシークレットの削除を行うことができます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

332

Page 333: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. 次の構文を使用して、ソフトウェア・キーストア内のデータベース・シークレットを追加、更新または削除します。

シークレットを追加するには:

ADMINISTER KEY MANAGEMENT

ADD SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[WITH BACKUP [USING backup_id]]

| [FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id]]];

シークレットを更新するには:

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[WITH BACKUP [USING backup_id]]

| [FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id]]];

シークレットを削除するには:

ADMINISTER KEY MANAGEMENT

DELETE SECRET FOR CLIENT 'client_identifier'

[FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY [EXTERNAL STORE | keystore_password]

[WITH BACKUP [USING backup_id]]];

仕様部は次のとおりです。

secretは、格納、更新、または削除するクライアントの秘密キーです。既存のシークレットおよびそれらのクライアント識別子に関する情報を確認するに

コピー

コピー

コピー

333

Page 334: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は、V$CLIENT_SECRETS動的ビューを問い合せます。

client_identifierは、シークレットの識別に使用される英数字の文字列です。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。

関連項目

Oracle Databaseのシークレットの格納

親トピック: 分離モードでのOracle Databaseのシークレットの保管

分離モードでのハードウェア・キーストアへのOracle Databaseシークレットの保管ADMINISTER KEY MANAGEMENT ADD SECRET|UPDATE SECRET|DELETE SECRET文を使用して、キーストアでのシークレットの追加、シークレットの更新、およびシークレットの削除を行うことができます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、ハードウェア・キーストア内のデータベース・シークレットを追加、更新または削除します。

シークレットを追加するには:

ADMINISTER KEY MANAGEMENT

ADD SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials"]

[WITH BACKUP [USING backup_id]];

シークレットを更新するには:

ADMINISTER KEY MANAGEMENT

UPDATE SECRET 'secret' FOR CLIENT 'client_identifier'

[USING TAG 'tag']

[TO [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials"

[WITH BACKUP [USING backup_id]];

コピー

コピー

334

Page 335: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

シークレットを削除するには:

ADMINISTER KEY MANAGEMENT

DELETE SECRET FOR CLIENT 'client_identifier'

[FROM [[LOCAL] AUTO_LOGIN] KEYSTORE keystore_location

[FORCE KEYSTORE]

IDENTIFIED BY "hardware_keystore_credentials";

仕様部は次のとおりです。

secretは、格納、更新、または削除するクライアントの秘密キーです。既存のシークレットおよびそれらのクライアント識別子に関する情報を確認するには、V$CLIENT_SECRETS動的ビューを問い合せます。

client_identifierは、シークレットの識別に使用される英数字の文字列です。

FORCE KEYSTOREはこの操作のためにパスワード保護されたキーストアを一時的に開きます。この操作のためにはキーストアを開く必要があります。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれかのハードウェア・キーストアの資格証明を参照します。HSMの場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、キーストアを作成したユーザーのパスワードのみを入力します。このパスワードは引用符で囲みます。

関連項目

Oracle Databaseのシークレットの格納

親トピック: 分離モードでのOracle Databaseのシークレットの保管

分離モードでのキーストアの移行分離モードで、ソフトウェア・キーストアとハードウェア・キーストア間の移行操作と逆移行操作を実行できます。

分離モードでのパスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行分離モードで、パスワード保護されたソフトウェア・キーストアからハードウェア・キース

コピー

335

Page 336: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

トアに移行できます。

分離モードでのハードウェア・キーストアからパスワード保護されたソフトウェア・キーストアへの移行分離モードで、ハードウェア・キーストアからパスワード保護されたソフトウェア・キーストアに移行できます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

分離モードでのパスワード保護されたソフトウェア・キーストアからハードウェア・キーストアへの移行

分離モードで、パスワード保護されたソフトウェア・キーストアからハードウェア・キーストアに移行できます。

ソフトウェア・キーストアとハードウェア・キーストアの両方を同時に開く場合は、ソフトウェア・キーストアのパスワードがハードウェア・キーストアと同じである必要があるか、移行の完了後にソフトウェア・キーストアの自動ログイン・キーストアを作成できるかのどちらかです。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. ハードウェア・キーストアのパスワードを、ソフトウェア・キーストアのパスワードと一致するように設定します。Oracle Data PumpやOracle Recovery Managerなどの一部のOracleツールでは、古いソフトウェア・キーストアからのTDEマスター暗号化キーを使用してエクスポートまたはバックアップされたデータを復号化するために、古いソフトウェア・キーストアにアクセスする必要があります。

ソフトウェア・キーストアのパスワードをハードウェア・キーストアと同じになるように設定するには、次の構文を使用します。

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

[FORCE KEYSTORE]

IDENTIFIED BY software_keystore_password

SET "hardware_keystore_credentials"

WITH BACKUP [USING 'backup_identifier'];

ここでは次のように指定します。software_keystore_passwordは、このキーストアが作成されたときに割り当てられたパスワードです。hardware_keystore_credentialsは、HSMまたはOracle Key Vaultのいずれ

コピー

336

Page 337: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

かのハードウェア・キーストアの資格証明を参照します。 の場合は、“user_name:password”の形式を使用して資格証明を指定します。二重引用符で囲み、コンポーネントをコロンで区切ります。ここで、user_nameはHSMを作成したユーザーであり、passwordはこのユーザーのパスワードです。Oracle Key Vaultの場合は、データベース・エンドポイントをOracle Key Vaultに登録したときに使用したパスワードのみを入力します。このパスワードは引用符で囲みます。

または、ソフトウェア・キーストアの自動ログイン・キーストアを作成するには、次の構文を使用します。

ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE

FROM KEYSTORE 'keystore_location'

IDENTIFIED BY software_keystore_password;

3. Oracle Key Vault管理者ガイド内の手順に従って分離モードのPDB用にOracle Key Vaultをプロビジョニングして、Oracle Key Vaultソフトウェアをエンドポイントにインストールします。

4. キーストアの構成を次のように設定することで、ハードウェア・キーストアを新しいプライマリにし、パスワードで保護されたソフトウェア・キーストアをセカンダリにします。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=OKV|FILE";

5. 次の構文を使用して、ハードウェア・キーストアを移行します。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY "hardware_keystore_credentials"

[FORCE KEYSTORE]

MIGRATE USING software_keystore_password

[WITH BACKUP [USING 'backup_identifier']];

移行の完了後、データベースを再起動したり、ハードウェア・キーストアを手動で再度開く必要はありません。

関連項目

コピー

コピー

コピー

HSM

337

Page 338: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

移行後のキーストアの順序

キーストアとOracle Key Vault間の移行

Oracle Key Vault管理者ガイド

親トピック: 分離モードでのキーストアの移行

分離モードでのハードウェア・キーストアからパスワード保護されたソフトウェア・キーストアへの移行

分離モードで、ハードウェア・キーストアからパスワード保護されたソフトウェア・キーストアに移行できます。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. PDBエンドポイントを登録してあることと、Oracle Key Vault構成が$WALLET_ROOT/PDB_GUID/okvの場所に存在することを確認します。ソフトウェア・キーストアとハードウェア・キーストアの両方を同時に開く場合は、ソフトウェア・キーストアのパスワードがハードウェア・キーストアと同じである必要があるか、逆移行の完了後にソフトウェア・キーストアの自動ログイン・キーストアを作成できるかのどちらかです。

3. TDE_CONFIGURATIONパラメータを次のように設定することで、FILEを新しいプライマリ・キーストアにし、OKVをセカンダリ・キーストアにします。

ALTER SYSTEM SET

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE|OKV";

4. これで、キーストアの構成が完了しました。次の文を発行して、ハードウェア・キーストアから、パスワードで保護されたソフトウェア・キーストアに逆移行します。

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY

IDENTIFIED BY software_keystore_password

REVERSE MIGRATE USING "hardware_keystore_credentials"

[WITH BACKUP [USING 'backup_identifier']];

5. 必要に応じて、新しく移行されたソフトウェア・キーストアのパスワードを変更します。例:

コピー

コピー

338

Page 339: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT ALTER KEYSTORE PASSWORD

IDENTIFIED BY

old_password SET new_password

WITH BACKUP USING 'pwd_change';

これらのステップが完了すると、移行プロセスによってキーストアのキーがメモリーに自動的にリロードされます。データベースを再起動したり、ソフトウェア・キーストアを手動で再度開く必要はありません。以前のキーは、暗号化されたバックアップで使用されているか、Oracle DataPumpやOracle Recovery Managerなどのツールによって使用されている可能性が高いため、逆移行の後でもハードウェア・キーストアが必要な場合があります。自動ログイン・キーストアを作成し、それにHSM_PASSWORDクライアント・シークレットを配置する必要があります。例:

ADMINISTER KEY MANAGEMENT ADD SECRET 'user_name:password'

FOR CLIENT 'HSM_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE software_keystore_location

WITH BACKUP;

関連項目

ハードウェア・キーストアからの再移行について

移行後のキーストアの順序

キーストアとOracle Key Vault間の移行

親トピック: 分離モードでのキーストアの移行

分離モードでの非アクティブなTDEマスター暗号化キーの自動削除分離モードで、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータを使用して、非アクティブなマスター暗号化キーの自動削除を構成できます。

1. 分離モードのPDBのスタンバイ・データベースが存在するサーバーにログインします。

2. データベースのinit.oraファイルを特定します。デフォルトでは、init.oraファイルは$ORACLE_HOME/dbsディレクトリ内にあります。

3. init.oraファイルを編集して、REMOVE_INACTIVE_STANDBY_TDE_MASTER_KEY初期化パラメータを追加します。例:

remove_inactive_standby_tde_master_key = true

コピー

コピー

コピー

339

Page 340: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

このパラメータをTRUEに設定すると、非アクティブなマスター暗号化キーの自動削除が有効になります。FALSEに設定すると、自動削除が無効になります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

プラガブル・データベースのキーストアの統合PDBキーストアを統合すると、TDEマスター暗号化キーがPDBキーストアからCDBルートのキーストアに移されます。これにより、CDBルートのキーストアの管理者がキーを管理できるようになります。

クライアント・シークレットは移動されません。これらは、PDBが分離モードで構成されていたときに使用されていたキーストアに残されます。PDBキーストアを統合する前に、このキーストアからクライアント・シークレットを削除することをお薦めします。同様に、PDBを分離モードにした場合も、CDBルートのキーストアに格納されているクライアント・シークレットは移動されません。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. 次の構文を使用して、PDBのキーストアを統合します。これにより、TDEマスター暗号化キーが、PDBのキーストアからCDBルートのキーストアに移されます。

ADMINISTER KEY MANAGEMENT UNITE KEYSTORE

IDENTIFIED BY isolated_keystore_password

WITH ROOT KEYSTORE [FORCE KEYSTORE]

IDENTIFIED BY

[EXTERNAL STORE | keystore_password_of_cdb_root]

[WITH BACKUP [USING backup_id]];

ここでは次のように指定します。

FORCE KEYSTOREは、自動ログイン・キーストアが開いている(および使用されている)か、キーストアが閉じている場合に、この操作のためにパスワード保護されたキーストアを一時的に開きます。united_keystore_password: このパスワード情報を知っていても、UNITEKEYSTORE操作を実行するユーザーが、PDBに対してADMINISTER KEY MANAGEMENTUNITE KEYSTORE操作を実行するための権限を得ることはありません。

コピー

コピー

340

Page 341: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

PDBのキーストアをCDBルート内のキーストアに統合すると、PDBに関連付けられていた以前にアクティブであったすべてのTDEマスター暗号化キー(履歴)が、CDBルートのキーストアに移されます。

3. 分離モードのPDBが統一モードのPDBになっていることを確認します。

SELECT KEYSTORE_MODE FROM V$ENCRYPTION_WALLET;

出力はUNITEDとなっている必要があります。

キーストアはなくなっていますが、そのマスター暗号化キーは、CDBルート内のキーストアに移されています。後から統一モードのPDBを分離モードのPDBに戻すことにした場合は、ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE文を使用できます。

関連項目

プラガブル・データベースのキーストアの分離

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

PDBクローズ時のキーストアの作成閉じているPDBでキーストアを作成すると、新しいキーストアは空になり、PDBが分離モードに変換されます。

PDBクローズ時のキーストアの作成について閉じているPDBでキーストアを作成すると、キー更新操作で誤って問題が発生する可能性がありますが、このキーストアの作成は元に戻すことができます。

PDBクローズ時のキーストア作成操作を元に戻すPDBで誤ってキーストアを作成した(それによってPDBが分離モードで構成された)場合は、キーストアの作成操作を元に戻す必要があります。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

PDBクローズ時のキーストアの作成について

閉じているPDBでキーストアを作成すると、キー更新操作で誤って問題が発生する可能性がありますが、このキーストアの作成は元に戻すことができます。

以前のリリースでは、閉じているPDBでキーストアを作成しようとすると、この操作が中止され、「ORA-65040: プラガブル・データベース内からの操作は許可されていません」というエラーが表示されていました。Oracle Databaseリリース18c以降では、利便性のために、PDBのキーストアが閉じているときにPDBでADMINISTER KEY MANAGEMENT CREATE KEYSTORE文を実行して

コピー

341

Page 342: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

も、Oracle Databaseによってその操作が中止されることはなくなりました。

閉じられたPDBが暗号化を使用するように構成されていない(つまりADMINISTER KEY MANAGEMENT SET KEY文が実行されたことがない)場合は、ADMINISTER KEY MANAGEMENT CREATE KEYSTOREを実行して、空のキーストアが作成され、PDBの構成が分離モードに変更されると、この空のキーストア内にTDEマスター暗号化キーを作成できます。

しかし、PDBがすでに暗号化を使用するように構成されている場合は、そのPDBが統一モードで構成されている可能性があります(この場合、そのTDEマスター暗号化キーはCDBルートのキーストア内で管理されています)。

このような場合に、閉じられたPDBで誤ってADMINISTER KEY MANAGEMENT CREATE KEYSTORE文を実行すると、追加の(空の)キーストアが作成され、PDBが分離モードで構成されます。これを行うと、PDBが(統一モードになっている必要があるが)分離モードに変更される一方で、TDEマスター暗号化キーは引き続きCDBルートのキーストアにあるため、PDBの構成に誤りが生じることになります。この構成上の誤りによって、後からADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY文を使用してTDEマスター暗号化キーをキー更新しようとした場合に、問題が生じる可能性があります。暗号化がすでに有効化されており、キーが設定されている場合、Oracle DatabaseはADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY文をキー更新操作として処理するため、この場合は「ORA-28362: マスター・キーが見つかりません」というエラ ーが表示されます。キー更新操作を実行するには、Oracle DatabaseがPDBの現在アクティブなTDEマスター暗号化キーを特定する必要があります。しかし、PDBの構成にこのような誤りがあると、PDBが分離モードになっており、必要なキーはCDBルートのキーストア内にあるため、Oracle DatabaseがTDEマスター暗号化キーを特定できません。つまり、PDBのキーストアを検索するようにPDBが構成されることはなく、キー更新操作も失敗します。

PDBのこの構成上の誤りを修正するには、PDBを統一モードに再構成して、空のキーストアを削除する必要があります。(キーストアを削除するときは、必ず事前にバックアップを作成してください。)PDBの構成を統一モードに戻すと、現在アクティブなTDEマスター暗号化キーに対して、キー更新や、TDEマスター暗号化キーを対象としたその他の操作を、再び実行できるようになります。

後からこのPDBを分離モードに構成するには、PDBを開き、ADMINISTER KEY MANAGEMENT ISOLATE KEYSTORE文を実行します。これにより、PDBが分離され、そのTDEマスター暗号化キ ーと、以前にアクティブであったキー(履歴)が、CDBルートのキーストアから、新しく作成された分離PDBのキーストアに移されます。

関連項目

PDBクローズ時のキーストア作成操作を元に戻す

親トピック: PDBクローズ時のキーストアの作成

342

Page 343: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

PDBクローズ時のキーストア作成操作を元に戻すPDBで誤ってキーストアを作成した(それによってPDBが分離モードで構成された)場合は、キーストアの作成操作を元に戻す必要があります。

この手順は、すでに暗号化が有効化されている(つまり、すでにTDEマスター暗号化キーが存在する)閉じられたPDBでキーストアを作成した場合に使用します。

1. ADMINISTER KEY MANAGEMENT権限またはSYSKM権限が付与されたユーザーとして、分離モードのPDBにログインします。

2. V$ENCRYPTION_WALLET動的ビューのKEYSTORE_MODE列を問い合せて、PDBのモードを確認します。

3. V$ENCRYPTION_WALLETの出力がISOLATEDである場合は、ALTER SYSTEM文を実行して、PDBを統一モードに再構成します。

pfileが使用されている場合は、次の文を使用して、TDE_CONFIGURATIONパラメータをクリアします。

ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=MEMORY;

Oracle Real Application Clusters環境では、次のように、SIDパラメータを指定します。

ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=MEMORY SID='*';

spfileが使用されている場合は、次の文を使用して、TDE_CONFIGURATIONパラメータをクリアします。

ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=BOTH;

Oracle Real Application Clusters環境では、次のように、SIDパラメータを指定します。

ALTER SYSTEM RESET TDE_CONFIGURATION SCOPE=BOTH SID='*';

コピー

コピー

コピー

コピー

343

Page 344: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

4. WALLET_ROOT/PDB_GUID/tdeディレクトリで、誤って作成されたewallet.p12キーストア・ファイルを見つけてバックアップします。

5. 誤って作成された空のキーストア・ファイルを削除します。

この段階で、PDBが統一モードになり、以降は正しいキーストアおよびTDEマスター暗号化キーに対して、キー更新操作を実行できるようになります。

親トピック: PDBクローズ時のキーストアの作成

分離モードでの透過的データ暗号化の管理分離モードでは、透過的データ暗号化に対する一般的な管理タスクをいくつか実行できます。

分離モードでの1つのCDBから別のCDBへのPDBの移動分離モードで、PDBを1つのCDBから別のCDBに自動的に移動できます(ロード・バランシングや新機能の追加を行う場合など)。

分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン分離モードで、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。

分離モードでの暗号化データを含むPDBのCDBへのクローニングKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをクローニングできます。

分離モードで、暗号化されたデータを含むPDBのリモート・クローニングを2つのCDB間で実行するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文は、暗号化されたデータを含むPDBをリモートからクローニングできます。

分離モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文は、暗号化されたデータを含むクローニングされたPDBをCDB間で再配置できます。

分離モードでのキーストアの開閉操作の機能分離モードでのキーストアの開閉操作がどのように機能するかを知っておく必要があります。

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート分離モードで、ADMINISTER KEY MANAGEMENT EXPORTのEXPORT句およびIMPORT句を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。

親トピック: 分離モードでのキーストアおよびTDEマスター暗号化キーの管理

344

Page 345: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの1つのCDBから別のCDBへのPDBの移動分離モードで、PDBを1つのCDBから別のCDBに自動的に移動できます(ロード・バランシングや新機能の追加を行う場合など)。

PDBにTDEで暗号化された表または表領域がある場合は、ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE動的システム・パラメータをTRUEに設定して、PDBがPDB移動操作にTDEキーを含めるようにすることができます。このパラメータにより、PDBが別のCDBに移された後、TDEキーをPDBにインポートするときに、キーストア・パスワードを手動で指定する必要がなくなります。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDEがTRUEに設定されている場合、データベースではメモリーにキーストア・パスワードをキャッシュし、システム・レベルで不明瞭化し、インポート操作のために使用します。ONE_STEP_PLUGIN_FOR_PDB_WITH_TDEのデフォルトはFALSEです。

1. PDB移動操作を開始する前に、SYSDBA管理権限を付与されたユーザーとしてCDBルートにログインします。例:

sqlplus c##sec_admin as sysdba

Enter password: password

2. ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE動的初期化パラメータをTRUEに設定します。例:

ALTER SYSTEM SET ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE = TRUE;

3. PDBを移動(再配置)します。

関連項目

Oracle Multitenant管理者ガイド

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン分離モードで、暗号化データを含むPDBをCDBにプラグインできます。反対に、このPDBをCDBからアンプラグすることもできます。

コピー

コピー

345

Page 346: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの暗号化データを含むPDBのアンプラグ(暗号化データを含む)PDBを、あるCDBからアンプラグし、必要に応じて別のCDBにプラグインできます。

分離モードでの暗号化データを含むPDBのCDBへのプラグイン暗号化データを含むPDBをCDBにプラグインすると、そのPDB内で暗号化キーを設定できます。

分離モードでのハードウェア・キーストアにマスター暗号化キーが格納されたPDBのアンプラグハードウェア・キーストアを使用するように構成された1つのCDBからPDBをアンプラグして、ハードウェア・キーストアを使用するように構成された別のCDBにプラグインできます。

分離モードでのHSMにマスター・キーが格納されたPDBのプラグADMINISTER KEY MANAGEMENT文を使用すると、ハードウェア・キーストアのマスター暗号化キーを、別のCDBに移されたPDBにインポートできます。

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードでの暗号化データを含むPDBのアンプラグ(暗号化データを含む)PDBを、あるCDBからアンプラグし、必要に応じて別のCDBにプラグインできます。

統一モードとは異なり、ALTER PLUGGABLE DATABASE文でENCRYPT句を指定する必要はありません。アンプラグされるデータベースには、データ・ファイルおよび他の関連ファイルが含まれています。各PDBには独自の一意のキーストアがあるため、アンプラグするPDBのTDEマスター暗号化キーをエクスポートする必要はありません。PDBがすでにアンプラグされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。

PDBのアンプラグ時に通常使用する方法と同じ方法で、分離モードのPDBをアンプラグします。例:

ALTER PLUGGABLE DATABASE pdb1

UNPLUG INTO '/oracle/data/pdb1.xml';

関連項目

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

コピー

346

Page 347: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

分離モードでの暗号化データを含むPDBのCDBへのプラグイン

暗号化データを含むPDBをCDBにプラグインすると、そのPDB内で暗号化キーを設定できます。

統一モードとは異なり、CREATE PLUGGABLE DATABASE文でDECRYPT句を指定する必要はありません。アンプラグされたPDBを別のCDBにプラグインする際、この操作は以前のキーの履歴を無効にするため、キー・バージョンは0に設定されます。キー・バージョンは、V$ENCRYPTED_TABLESPACES動的ビューのKEY_VERSIONを問い合せて確認できます。同様に、制御ファイルが失われ再作成された場合、以前のキーの履歴は0にリセットされます。PDBがすでにプラグインされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。

1. アンプラグされたPDBをCDBにプラグインして、PDBを作成します。

たとえば、PDBデータをメタデータXMLファイルにエクスポートした場合は、次のように指定します。

CREATE PLUGGABLE DATABASE CDB1_PDB2

USING '/tmp/cdb1_pdb2.xml'

NOCOPY KEYSTORE

IDENTIFIED BY password;

PDBをアーカイブ・ファイルにエクスポートした場合は、次のように指定します。

CREATE PLUGGABLE DATABASE CDB1_PDB2

USING '/tmp/cdb1_pdb2.pdb';

プラグ操作後のPDBのオープン操作中に、Oracle DatabaseによってPDBに暗号化データが含まれるかどうかが判別されます。その場合、PDBはRESTRICTEDモードでオープンされます。V$ENCRYPTION_KEYS動的ビューを問い合せることで、ソース・データベースに暗号化データがあるかどうかや、キーストアにTDEマスター暗号化キーが設定されているかどうかを確認できます。

2. PDBを開きます。

例:

ALTER PLUGGABLE DATABASE CDB1 PDB2 OPEN;

コピー

コピー

コピー

347

Page 348: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. CDBルートのキーストアを開きます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY password;

必要に応じて、PDB内のキーストアを開きます。4. PDBでキーストアを開き、PDBのTDEマスター暗号化キーを設定します。

例:

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

親トピック: 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

分離モードでのハードウェア・キーストアにマスター暗号化キーが格納されたPDBのアンプラグ

ハードウェア・キーストアを使用するように構成された1つのCDBからPDBをアンプラグして、ハードウェア・キーストアを使用するように構成された別のCDBにプラグインできます。

1. PDBをアンプラグします。PDBがすでにアンプラグされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。

2. アンプラグされたPDBのマスター暗号化キーを、ソースCDBで使用されていたハードウェアから、宛先CDBで使用されているハードウェアに移動します。

マスター・キーをハードウェア・キーストア間で移動する方法については、ハードウェア・キーストアの資料を参照してください。

関連項目

Oracle Multitenant管理者ガイド

親トピック: 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

コピー

コピー

348

Page 349: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの に格納されたマスター・キーを含む のプラグADMINISTER KEY MANAGEMENT文を使用すると、ハードウェア・キーストアのマスター暗号化キーを、別のCDBに移されたPDBにインポートできます。

1. アンプラグされた分離モードのPDBを、ハードウェア・キーストアを使用するように構成された宛先CDBにプラグインします。PDBがすでにプラグインされているかどうかを確認するには、DBA_PDBSデータ・ディクショナリ・ビューのSTATUS列を問い合せます。プラグイン操作の後、プラグインされたPDBは制限モードになります。

2. ソースCDBで構成されていたHSMのマスター・キーが、宛先CDBのハードウェア・キーストアで使用可能であることを確認します。

3. プラグされたPDBに、ADMINISTER KEY MANAGEMENTまたはSYSKM権限を付与されたユーザーとしてログインします。

4. プラグインされたPDBのキーストアを開きます。

たとえば、PDB1というPDBの場合は、次のようになります。

ALTER SESSION SET CONTAINER = PDB1;

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY "harware_keystore_credentials";

5. ハードウェア・キーストアのマスター暗号化キーをPDBにインポートします。

ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS

WITH SECRET "hardware_keystore" FROM 'hardware_keystore'

IDENTIFIED BY "hardware_keystore_credentials";

6. PDBを閉じて再オープンします。

ALTER PLUGGABLE DATABASE PDB1 CLOSE;

ALTER PLUGGABLE DATABASE PDB1 OPEN;

関連項目

Oracle Multitenant管理者ガイド

親トピック: 分離モードでの暗号化データを含むPDBのCDBに対するアンプラグとプラグイン

コピー

コピー

コピー

HSM PDB

349

Page 350: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの暗号化データを含むPDBのCDBへのクローニングKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをクローニングできます。

1. 分離モードのPDBに、ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとしてログインします。

2. クローニングを計画しているPDBのソフトウェア・キーストアが開いていることを確認します。

V$ENCRYPTION_WALLETビューのSTATUS列を問い合せると、ソフトウェア・キーストアが開いているかどうかを確認できます。

例:

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN FORCE KEYSTORE

IDENTIFIED BY keystore_password;

3. PDBをクローニングします。

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3 FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、結局は独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つようになるため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

4. クローニングされたPDBのマスター暗号化キーをキー更新します。

例:

コピー

コピー

350

Page 351: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

統一モードでの暗号化データを含むクローニングされたPDBの管理について

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードで、暗号化されたデータを含むPDBのリモート・クローニングを2つのCDB間で実行するKEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むPDBをリモートからクローニングできます。

1. 分離モードのPDBに、ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとしてログインします。

2. V$ENCRYPTION_WALLETビューのSTATUS列を問い合せて、クローニングするPDBのソフトウェア・キーストアが開いていることを確認します。

3. リモートからクローニングするPDBのデータベース・リンクを作成します。データベース・リンクを作成するには、CREATE DATABASE LINK SQL文を使用します。リモートPDBまたは非CDBのクローニングに必要なデータベース・リンクの前提条件に従って、データベース・リンクを作成する必要があります。

4. PDBのクローニングを実行するには、CREATE PLUGGABLE DATABASE文をKEYSTOREIDENTIFIED BY句を指定して使用します。

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3

FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

コピー

コピー

351

Page 352: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、最終的には独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

5. リモートからクローニングされたPDBのマスター暗号化キーをキー更新します。

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

キーストアはキー更新操作中に開いている必要があるため、この例では、FORCEKEYSTOREが含まれています。

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

統一モードでの暗号化データを含むクローニングされたPDBの管理について

統一モードのPDBでソフトウェア・キーストアを開く

Oracle Multitenant管理者ガイド

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードで、暗号化データを含むクローニングされたPDBをCDB間で再配置する

コピー

352

Page 353: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

KEYSTORE IDENTIFIED BY句を含むCREATE PLUGGABLE DATABASE文によって、暗号化データを含むクローニングされたPDBをCDB間で再配置できます。

1. 分離モードのPDBに、ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとしてログインします。

2. V$ENCRYPTION_WALLETビューのSTATUS列を問い合せて、クローニングするPDBのソフトウェア・キーストアが開いていることを確認します。

3. リモートからクローニングするPDBのデータベース・リンクを作成します。データベース・リンクを作成するには、CREATE DATABASE LINK SQL文を使用します。リモートPDBまたは非CDBのクローニングに必要なデータベース・リンクの前提条件に従って、データベース・リンクを作成する必要があります。

4. PDBをクローニングするには、CREATE PLUGGABLE DATABASE文をKEYSTOREIDENTIFIED BY句を指定して使用します。

例:

CREATE PLUGGABLE DATABASE cdb1_pdb3

FROM cdb1_pdb1

FILE_NAME_CONVERT=('cdb1_pdb1', 'pdb3/cdb1_pdb3') KEYSTORE

IDENTIFIED BY keystore_password;

keystore_passwordをcdb1_pdb3クローンが作成されるCDBのキーストアのパスワードに置き換えます。

クローニングされたPDBの作成後、暗号化データは、元のPDBのマスター暗号化キーを使用して、クローンにより引き続きアクセスできます。PDBがクローニングされた後、暗号化された表領域にユーザー・データがある場合があります。ソースPDBのマスター暗号化キーが宛先PDBにコピーされているため、この暗号化データには引き続きアクセスできます。クローンはソースPDBのコピーでありながらも、最終的には独自の動作に従い、独自のデータおよびセキュリティ・ポリシーを持つため、クローニングされたPDBのマスター暗号化キーをキー更新する必要があります。

5. ALTER PLUGGABLE DATABASE文を使用して再配置操作を実行します。例:

ALTER PLUGGABLE DATABASE cdb1_pdb3

OPEN RELOCATE TO 'need instance name example';

6. リモートからクローニングされたPDBのマスター暗号化キーをキー更新します。

コピー

コピー

353

Page 354: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

ADMINISTER KEY MANAGEMENT SET KEY

FORCE KEYSTORE

IDENTIFIED BY keystore_password

WITH BACKUP USING 'emp_key_backup';

キーストアはキー更新操作中に開いている必要があるため、この例では、FORCEKEYSTOREが含まれています。

クローニングされたPDBのマスター暗号化キーをキー更新するまで、クローンでは引き続き元のPDBのマスター暗号化キーを使用できます。ただし、これらのマスター暗号化キーは、クローニングされたPDBのV$動的ビューには表示されません。マスター暗号化キーをキー更新すると、クローニングされたPDBで独自の一意のキーが使用されるようになり、そのキーがV$ビューに表示されます。

関連項目

統一モードでの暗号化データを含むクローニングされたPDBの管理について

統一モードのPDBでソフトウェア・キーストアを開く

Oracle Multitenant管理者ガイド

Oracle Multitenant管理者ガイド

Oracle Database SQL言語リファレンス

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードでのキーストアの開閉操作の機能分離モードでキーストアの開閉操作がどのように機能するかを知っておく必要があります。

分離モードの各PDBに関して、透過的データ暗号化の操作が続行できるように、PDBでパスワード保護されたソフトウェア・キーストアまたはハードウェア・キーストアを明示的に開く必要があります。(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)PDBのキーストアを閉じることによって、PDBのすべての透過的データ暗号化操作がブロックされます。

PDBにおけるキーストアの開閉操作は、PDBにおけるキーストアの開閉状態によって異なります。

次の点に注意してください。

コピー

354

Page 355: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

マルチテナント環境では、各PDBについて個別のキーストア・パスワードを作成できます。

個別のPDBでパスワード保護されたソフトウェア・キーストアまたはハードウェア・キーストアを手動で開くには、事前にCDBルートのキーストアを開いておく必要があります。自動ログイン・キーストアが使用されているか、キーストアが閉じている場合は、キーストアを開くまたは閉じるときに、ADMINISTER KEY MANAGEMENT文にFORCE KEYSTORE句を含めます。キーストアがパスワード用に外部ストアを使用するパスワード保護されたソフトウェア・キーストアである場合は、IDENTIFIED BY句をEXTERNAL STOREに設定します。

個々のPDBでTDEマスター暗号化キーを設定するには、事前にCDBルートでキーを設定する必要があります。(自動ログイン・ソフトウェア・キーストアおよびローカル自動ログイン・ソフトウェア・キーストアは自動的に開きます。)これらを最初にrootからまたはPDBから、手動で開く必要はありません。分離モードで構成されたPDBがあり、そのキーストアが開いている場合は、CDBルート内のキーストアを閉じようとすると、「ORA-46692 ウォレットをクローズできません」というエラーが発生して失敗します。この動作をオーバーライドするには、ADMINISTER KEYMANAGEMENT文でFORCE CLOSE句を使用します。

CDBルートでADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN文を実行し、CONTAINER句をALLに設定すると、統一モードで構成されている各PDBでのみキーストアが開かれ、分離モードで構成されているPDBのキーストアは開かれません。

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート分離モードでは、ADMINISTER KEY MANAGEMENT EXPORTのEXPORT句およびIMPORT句を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポートについて分離モードでは、CDB以外のデータベースでこのキーをエクスポートおよびインポートする場合と同じ方法で、CDBルートからマスター暗号化キーをエクスポートおよびインポートできます。

分離モードでのPDBのマスター暗号化キーのエクスポートまたはインポート分離モードでは、ADMINISTER KEY MANAGEMENT文を使用して、PDBのマスター暗号化キーをエクスポートまたはインポートできます。

例: 分離モードでのPDBからのマスター暗号化キーのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS文によって、PDBのマスタ

355

Page 356: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ー暗号化キーをエクスポートできます。

例: 分離モードでのPDBへのマスター暗号化キーのインポートADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS文によって、PDBにマスター暗号化キーをインポートできます。

親トピック: 分離モードでの透過的データ暗号化の管理

分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポートについて

分離モードでは、CDB以外のデータベースでこのキーをエクスポートおよびインポートする場合と同じ方法で、CDBルートからマスター暗号化キーをエクスポートおよびインポートできます。

また、PDB内からマスター暗号化キーをエクスポートおよびインポートすることで、PDBに属するすべてのマスター暗号化キーをエクスポートおよびインポートできます。PDBでのマスター暗号化キーのエクスポート操作およびインポート操作では、PDBのアンプラグおよびプラグイン操作がサポートされます。PDBのアンプラグ操作およびプラグイン操作では、PDBに属するすべてのマスター暗号化キー、およびメタデータが対象になります。したがって、PDB内からキーをエクスポートする場合、ADMINISTER KEY MANAGEMENT EXPORT文のWITH IDENTIFIER句は許可されません。WITH IDENTIFIER句は、CDBルートでのみ使用できます。

CDBルートに自動ログイン・キーストアがある場合、またはキーストアが閉じている場合は、FORCE KEYSTORE句を含める必要があります。キーストアがパスワードに外部ストアを使用するように構成されている場合、IDENTIFIED BY EXTERNAL STORE句を使用します。たとえば、このシナリオにおいてエクスポート操作を実行するには、次のようにします。

ADMINISTER KEY MANAGEMENT EXPORT KEYS

WITH SECRET "my_secret"

TO '/etc/TDE/export.exp'

FORCE KEYSTORE

IDENTIFIED BY EXTERNAL STORE;

このADMINISTER KEY MANAGEMENT EXPORT操作では、キーがエクスポートされるだけでなく、PDB環境(およびクローニング操作)に必要なメタデータも作成されます。

PDBの内部では、マスター暗号化キーのエクスポート操作によって、キーがエクスポートされるPDBと同じGUIDを持つPDBにより作成またはアクティブ化されたキーがエクスポートされます。基本的に、エクスポートが実行されるPDBに属しているすべてのキーがエクスポートされます。

PDB内のエクスポート・ファイルからマスター暗号化キーがインポートされるのは、そのマスタ

コピー

356

Page 357: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ー暗号化キーが同じGUIDを持つ別のPDBからエクスポートされている場合のみです。CDBへのPDBのプラグインをサポートするため、インポートでは、WITH IDENTIFIER句なしでエクスポートされたCDB以外のマスター暗号化キーを含むエクスポート・ファイルからもマスター暗号化キーがインポートされます。PDB名やデータベースIDなどのPDB固有の詳細は、CDBごとに変化する可能性があるため、PDB固有の情報は、更新されたPDB情報を反映するようにインポート時に変更されます。

ノート: PDB内では、PDB全体のキーのみエクスポートできます。問合せまたは識別子に基づいた選択的なエクスポート機能はrootに制限されています。

親トピック: 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

分離モードでのPDBのマスター暗号化キーのエクスポートまたはインポート分離モードでは、ADMINISTER KEY MANAGEMENT文によって、PDBのマスター暗号化キーをエクスポートまたはインポートできます。

1. 分離モードのPDBに、ADMINISTER KEY MANAGEMENT権限またはSYSKM権限を付与されたユーザーとしてログインします。

2. エクスポートまたはインポート操作を実行します。

例:

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS

WITH SECRET "hr_secret" TO '/tmp/export.p12'

FORCE KEYSTORE

IDENTIFIED BY password;

この操作を行うにはキーストアが開いている必要があるため、FORCE KEYSTORE句が含まれていることを確認してください。

関連項目

例: 分離モードでのPDBからのマスター暗号化キーのエクスポート

親トピック: 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

例: 分離モードでのPDBからのマスター暗号化キーのエクスポートADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS文によって、PDBのマスター暗号化キーをエクスポートできます。

例6-1は、PDB hrpdbからマスター暗号化キーをエクスポートする方法を示しています。この例で

コピー

357

Page 358: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は、自動ログイン・キーストアが使用されているか、キーストアが閉じている場合のために、FORCE KEYSTORE句が含められています。

例6-1 PDBからマスター暗号化キーをエクスポート

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS

WITH SECRET "my_secret" TO '/tmp/export.p12'

FORCE KEYSTORE

IDENTIFIED BY password;

親トピック: 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

例: 分離モードでのPDBへのマスター暗号化キーのインポートADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS文によって、PDBにマスター暗号化キーをインポートできます。

例6-2は、PDB hrpdbにマスター暗号化キーをインポートする方法を示しています。

例6-2 PDBにマスター暗号化キーをインポート

ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS

WITH SECRET "my_secret"

FROM '/tmp/export.p12'

FORCE KEYSTORE

IDENTIFIED BY password

WITH BACKUP;

親トピック: 分離モードでのPDBのマスター暗号化キーのエクスポートおよびインポート

コピー

コピー

このページは役に立ちましたか?

358

Page 360: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

7 透過的データ暗号化を使用する場合の一般的な考慮事項透過的データ暗号化を使用するときは、セキュリティ、パフォーマンス、記憶域のオーバーヘッドなどの要因を考慮する必要があります。

暗号化データの圧縮とデータ重複除外表領域の暗号化を使用して、Oracle Databaseでは表領域の暗号化前に表と索引を圧縮します。

透過的データ暗号化のセキュリティに関する考慮事項TDEポリシーを作成する場合には、Oracle Databaseのすべての機能のときと同様に、セキュリティを考慮する必要があります。

透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド透過的データ暗号化のパフォーマンスは変わる場合があります。

透過的データ暗号化と組み合せて使用するためのアプリケーションの変更アプリケーションで透過的データ暗号化を使用するよう、変更することができます。

ALTER SYSTEMおよびorapkiとADMINISTER KEY MANAGEMENTとの対応ALTER SYSTEM文の多くの句は、ADMINISTER KEY MANAGEMENT文に対応しています。

PKI暗号化での透過的データ暗号化の使用PKIによる暗号化は非推奨となっていますが、これをまだ使用している場合は、考慮する必要のある問題がいくつかあります。

暗号化済の列のある表への外部ファイルからのデータのロードSQL*Loaderを使用して、ファイルから暗号化列がある表へのデータ・ロードを実行できます。

透過的データ暗号化とデータベースのクローズ操作データベースを閉じる前にソフトウェア・キーストアまたはハードウェア・キーストアが開

360

Page 361: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

いていることを確認する必要があります。

親トピック: 透過的データ暗号化の使用

暗号化データの圧縮とデータ重複除外表領域の暗号化を使用して、Oracle Databaseでは表領域の暗号化前に表と索引を圧縮します。

これにより、保存の暗号化のセキュリティを確保しながら、圧縮による、容量とパフォーマンス上のメリットを最大限に得ることができます。CREATE TABLESPACE SQL文には、COMPRESSとENCRYPT句の両方が含まれます。

列暗号化を使用すると、Oracle Databaseでは列を暗号化した後でデータを圧縮します。これは、圧縮には、暗号化された列で最小限の有効性があることを意味します。注目すべき例外が1つあります。列がSecureFiles LOBであり、暗号化がSecureFiles LOB暗号化を使用して実装され、圧縮(重複除外の場合もあり)がSecureFiles LOB圧縮および重複除外を使用して実装されている場合、圧縮は暗号化の前に実行されます。表領域の暗号化のCREATE TABLESPACE文と同様に、COMPRESSとENCRYPT句の両方が含まれます。

関連項目:

拡張圧縮オプションの詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照してください。

SecureFiles LOB記憶域の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照

SecureFiles圧縮の詳細は、Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイドを参照してください。

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

透過的データ暗号化のセキュリティに関する考慮事項TDEポリシーを作成する場合には、Oracle Databaseのすべての機能のときと同様に、セキュリティを考慮する必要があります。

透過的データ暗号化のセキュリティに関する一般的なアドバイス透過的データ暗号化(TDE)を使用する場合のセキュリティに関する考慮事項は、全システム・セキュリティの広範囲に適用されます。

透過的データ暗号化の列暗号化固有のアドバイスセキュリティに関するその他の考慮事項は、TDEを使用している場合の通常のデータベース操作およびネットワーク操作に適用されます。

361

Page 362: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

平文の断片のセキュリティの管理一定期間存在する可能性のある古い平文の断片は削除する必要があります。

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

透過的データ暗号化のセキュリティに関する一般的なアドバイス透過的データ暗号化(TDE)を使用する場合のセキュリティに関する考慮事項は、全システム・セキュリティの広範囲に適用されます。

次の一般的なガイドラインに従ってください。

データベースのデータの機密度、必要な保護、および対処するリスクのレベルを識別します。たとえば、厳密な保護を必要とする機密度の高いデータは、AES256アルゴリズムで暗号化できます。それほど機密度の高くないデータベースは、パフォーマンス上の利点を得るために、no saltまたはnomacオプションを使用して保護できます。

データおよびキーストアの保護にとって許容できるコストと利点を評価します。キーの保護によって、使用するキーストアのタイプ(自動ログイン・ソフトウェア・キーストア、パスワードベースのソフトウェア・キーストアまたはハードウェア・キーストア)が決定されます。TDEとデータベースに個別のセキュリティ管理者を割り当てることを検討します。

TDEに個別の排他的キーストアを割り当てることを検討します。

暗号化データのための保護されたバックアップ手順を実施します。

親トピック: 透過的データ暗号化のセキュリティに関する考慮事項

透過的データ暗号化の列暗号化固有のアドバイスセキュリティに関するその他の考慮事項は、TDEを使用している場合の通常のデータベース操作およびネットワーク操作に適用されます。

暗号化列のデータは、データ・ファイル、UNDOログ、REDOログおよびシステム・グローバル領域(SGA)のバッファ・キャッシュ内では暗号化されたままになります。一方、データは式の評価時に復号化されるため、ディスク上のスワップ・ファイルには復号化後のデータを表示できます。権限のあるオペレーティング・システム・ユーザーは、このデータを表示できる可能性があります。

TDEを使用して暗号化された列値は、暗号化された形式でデータ・ファイルに格納されます。ただし、これらのデータ・ファイルには、表に対する過去のデータ操作で残されたゴースト・コピーと呼ばれるプレーン・テキストの断片が含まれている場合があります。これは、オペレーティング・システムによってファイルが削除された後に、ディスク上にデータが残存している場合に類似しています。

362

Page 363: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 透過的データ暗号化のセキュリティに関する考慮事項

平文の断片のセキュリティの管理一定期間存在する可能性のある古い平文の断片は削除する必要があります。

古いプレーン・テキストの断片は、それらの値を含んでいるブロックがデータベースによって上書きされるまで、しばらく存在し続ける可能性があります。権限のあるオペレーティング・システム・ユーザーがデータベースのアクセス制御をバイパスした場合、表領域を保持するデータ・ファイル内のこれらの値に直接アクセスされる可能性があります。

このリスクを最小限に抑えるには:

1. 新しいデータ・ファイルに新しい表領域を作成します。

CREATE TABLESPACE文を使用して、この表領域を作成できます。

2. 暗号化列を含む表を新しい表領域に移動します。ALTER TABLE.....MOVE文を使用できます。

元の表領域のすべてのオブジェクトについて、このステップを繰り返します。3. 元の表領域を削除します。

DROP TABLESPACE tablespace INCLUDING CONTENTS KEEP DATAFILES文を使用できます。データ・ファイルは、プラットフォーム固有のユーティリティを使用して安全に削除することをお薦めします。

4. 古いデータ・ファイルを安全に削除するには、プラットフォームおよびファイル・システムに固有のユーティリティを使用してください。このようなユーティリティの例には、shred(Linuxの場合)やsdelete (Windowsの場合)などがあります。

親トピック: 透過的データ暗号化のセキュリティに関する考慮事項

透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド透過的データ暗号化のパフォーマンスは変わる場合があります。

透過的データ暗号化のパフォーマンスのオーバーヘッド透過的データ暗号化の表領域暗号化には、パフォーマンスのオーバーヘッドが多少伴います。

透過的データ暗号化の記憶域のオーバーヘッドTDE表領域暗号化には記憶域のオーバーヘッドはありませんが、TDE列暗号化には多少の記憶域のオーバーヘッドが伴います。

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

363

Page 364: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化のパフォーマンスのオーバーヘッド透過的データ暗号化の表領域暗号化には、パフォーマンスのオーバーヘッドが多少伴います。

アプリケーションに対する実際のパフォーマンスの影響は異なることがあります。TDE列暗号化がパフォーマンスに影響を与えるのは、暗号化列に対してデータの取得または挿入が行われた場合のみです。暗号化されていない列に関係する操作の場合は、これらの列が暗号化列を含む表内にあっても、パフォーマンスが低下することはありません。暗号化列のデータへのアクセスでは多少のパフォーマンス・オーバーヘッドが伴いますが、発生する正確なオーバーヘッドは異なる場合があります。

全体的なパフォーマンスのオーバーヘッドは、暗号化列の数とそのアクセス頻度によって異なります。暗号化するのが最も妥当な列は、最高機密のデータを含む列です。

既存の表で暗号化を有効化すると、表の特性を変更する他のALTER TABLE操作と同様に、完全な表更新が行われます。大規模な既存の表で暗号化を有効化する前に、データベース・サーバーに与えるパフォーマンスおよびREDOログの潜在的な影響を考慮する必要があります。

表に対する書込み操作は、暗号化の有効化中、TDE表キーのキー更新中または暗号化アルゴリズムの変更中は一時的に実行できなくなる場合があります。このような処理が実行されている場合は、表のオンライン再定義を使用して、表への書込み操作が可能かどうかを確認できます。

大規模な表に対してTDE列暗号化を有効化している場合は、操作に対応できるよう、REDOログのサイズを大きくする必要があることがあります。

索引付けされた列の暗号化には、索引のない列の暗号化よりも多くの時間を要します。索引が作成された列を暗号化する必要がある場合は、索引を削除してから列をNO SALTで暗号化し、その後で索引を再度作成できます。

暗号化列に索引を付ける場合、索引は暗号化された値に対して作成されます。暗号化列の値を問い合せると、SQL問合せで使用される値がOracle Databaseで透過的に暗号化されます。その後、暗号化された値を使用して、索引の参照が実行されます。

ノート: 索引付けされた暗号化列のレンジ・スキャンを実行する必要がある場合は、TDE列暗号化のかわりにTDE表領域暗号化を使用します。

関連項目:

外部表への暗号化列の作成

オンラインでの表の再定義の詳細は、Oracle Database管理者ガイドを参照してください。

親トピック: 透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド

364

Page 365: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化の記憶域のオーバーヘッドTDE表領域暗号化には記憶域のオーバーヘッドはありませんが、TDE列暗号化には多少の記憶域のオーバーヘッドが伴います。

暗号化列のデータには、プレーン・テキスト・データより多くの記憶域が必要です。さらに、TDEでは、暗号化された値が16バイトの倍数に拡張されます。これは、クレジット・カード番号の格納に9バイトが必要な場合、クレジット・カード番号を暗号化して格納するには、さらに7バイトが必要になることを意味します。

暗号化された各値は、20バイトの整合性チェックにも関連付けられます。これは、NOMACパラメータを使用して列を暗号化した場合には当てはまりません。saltを使用してデータを暗号化した場合は、暗号化された各値を格納するために、さらに16バイトの記憶域が必要になります。

暗号化された各値の記憶域の最大オーバーヘッドは1から52バイトです。

関連項目

外部表への暗号化列の作成

親トピック: 透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド

透過的データ暗号化と組み合せて使用するためのアプリケーションの変更アプリケーションで透過的データ暗号化を使用するよう、変更することができます。

1. TDE用のソフトウェアまたはハードウェア・キーストアを構成し、マスター暗号化キーを設定します。

詳細は、次の各項を参照してください。ソフトウェア・キーストアの構成

ハードウェア・キーストアの構成

2. V$ENCRYPTION_KEYSビューのKEY_ID列を問い合せることで、マスター暗号化キーが作成されていることを確認します。

3. 透過的データ暗号化による保護が必要な機密列(クレジット・カード・データが含まれるものなど)を特定します。

4. TDE列暗号化またはTDE表領域暗号化のどちらを使用するか決定します。

詳細は、次の各項を参照してください。透過的データ暗号化列暗号化の動作

透過的データ暗号化表領域暗号化の動作

365

Page 366: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

5. キーストアを開きます。

詳細は、次の各項を参照してください。ステップ3: ソフトウェア・キーストアを開く

ステップ3: ハードウェア・キーストアを開く

6. 列または表領域を暗号化します。

詳細は、次の各項を参照してください。表の列の暗号化

表領域およびデータベースの暗号化変換

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

ALTER SYSTEMおよびorapkiとADMINISTER KEYMANAGEMENTとの対応ALTER SYSTEM文の多くの句は、ADMINISTER KEY MANAGEMENT文に対応しています。

表7-1では、透過的データ暗号化でのALTER SYSTEM文およびorapkiユーティリティの使用と、以前のリリースのADMINISTER KEY MANAGEMENT文を比較しています。

表7-1 ALTER SYSTEMおよびorapkiとADMINISTER KEY MANAGEMENTとの対応

動作 ALTER SYSTEMまたはorapkiADMINISTER KEYMANAGEMENT

キーストアの作成 ソフトウェア・キーストアの場合(以前のリリースではウォレットと呼ばれていました) :

ALTER SYSTEM SET

ENCRYPTION KEY

["certificate_ID"]

IDENTIFIED

BY

keystore_password;

ハードウェア・キーストアの場合、ハードウェア・セキュリティ・モジュールを構成した後で、キーストアを利用できるようになります。

ソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT

CREATE KEYSTORE

'keystore_location'

IDENTIFIED BY

software_keystore_password

ハードウェア・キーストアの場合、ハードウェア・セキュリティ・モジュールを構成した後で、キーストアを利用できるようになります。

:

366

Page 367: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

自動ログイン・キーストアの作成

orapki wallet

create -wallet

wallet_location

-auto_login [-pwd

password]

ソフトウェア・キーストアの場合

ADMINISTER KEY MANAGEMENT

CREATE [LOCAL]

AUTO_LOGIN KEYSTORE FROM

KEYSTORE

'keystore_location'

IDENTIFIED BY

software_keystore_password;

このタイプのキーストアは、ソフトウェア・キーストアのみに適用されます。

キーストアを開く

ALTER SYSTEM SET

ENCRYPTION

WALLET OPEN

IDENTIFIED BY

password;

ADMINISTER KEY MANAGEMENT

SET KEYSTORE

OPEN IDENTIFIED BY

keystore_password

[CONTAINER = ALL |

CURRENT];

キーストアを閉じる

ALTER SYSTEM SET

ENCRYPTION

WALLET CLOSE

IDENTIFIED BY

password;

ソフトウェア・キーストアとハードウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT

SET KEYSTORE

CLOSE IDENTIFIED BY

keystore_password

[CONTAINER = ALL |

CURRENT];

ハードウェア・キーストアからソフトウェア・キーストアへの移行

使用不可

ADMINISTER KEY MANAGEMENT

SET ENCRYPTION

KEY IDENTIFIED BY

software_keystore_password

367

Page 368: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

REVERSE MIGRATE USING

"user_name:password"

[WITH BACKUP [USING

'backup_identifier']];

ソフトウェア・キーストアからハードウェア・キーストアへの移行 ALTER SYSTEM SET

ENCRYPTION KEY

IDENTIFIED BY

"user_name:password"

MIGRATE

USING

wallet_password;

ADMINISTER KEY MANAGEMENT

SET ENCRYPTION

KEY IDENTIFIED BY

"user_name:password"

MIGRATE USING

software_keystore_password;

キーストア・パスワードの変更

orapki wallet

change_pwd

-wallet

wallet_location

[-oldpwd password

]

[-newpwd password]

パスワードベースのソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT

ALTER KEYSTORE

PASSWORD IDENTIFIED BY

software_keystore_old_

password

SET

software_keystore_new_

password

[WITH BACKUP [USING

'backup_identifier']];

ハードウェア・キーストアの場合、キーストアを閉じてハードウェア・セキュリティ・モジュール・インタフェースで変更してから、再びキーストアを開きます。

パスワードベースのソフトウェア・キーストアのバッ

使用不可

ADMINISTER KEY MANAGEMENT

368

Page 369: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

クアップBACKUP KEYSTORE

[USING

'backup_identifier']

IDENTIFIED BY

software_keystore_password

[TO 'keystore_location'];

2つのソフトウェア・キーストアから3つ目の新しいキーストアへのマージ

使用不可

ADMINISTER KEY MANAGEMENT

MERGE KEYSTORE

'keystore1_location'

[IDENTIFIED BY

software_keystore1_password]

AND KEYSTORE

'keystore2_location'

[IDENTIFIED BY

software_keystore2_password]

INTO NEW KEYSTORE

'keystore3_location'

IDENTIFIED BY

software_keystore3_password;

1つのソフトウェア・キーストアから別の既存のキーストアへのマージ

使用不可

ADMINISTER KEY MANAGEMENT

MERGE KEYSTORE

'keystore1_location'

[IDENTIFIED BY

software_keystore1_password]

INTO EXISTNG KEYSTORE

'keystore2_location'

369

Page 370: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY

software_keystore2_password

[WITH BACKUP [USING

'backup_identifier']];

マスター暗号化キーの設定またはキー更新

ソフトウェア・ウォレットの場合:

ALTER SYSTEM SET

ENCRYPTION KEY

["certificate_ID"]

IDENTIFIED

BY

keystore_password;

ハードウェア・セキュリティ・モジュールの場合:

ALTER SYSTEM SET

ENCRYPTION KEY

IDENTIFIED BY

"user_name:password"

ノート: ALTER SYSTEM SETENCRYPTION KEY文は、暗号化キーをキー更新した後、V$ENCRYPTION_KEYS動的ビューを更新しません。

ADMINISTER KEY MANAGEMENT

SET ENCRYPTION KEY [USING

TAG 'tag']

IDENTIFIED BY

keystore_password

WITH BACKUP [USING

'backup_identifier']

[CONTAINER = ALL |

CURRENT];

暗号化キーをキー更新した後、V$ENCRYPTION_KEYS動的ビューが更新されます。

後で使用するマスター暗号化キーの作成

使用不可

ADMINISTER KEY MANAGEMENT

CREATE KEY

[USING TAG 'tag']

IDENTIFIED BY

keystore_password

[WITH BACKUP [USING

'backup_identifier']]

370

Page 371: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[CONTAINER =

(ALL|CURRENT)];

マスター暗号化キーのアクティブ化

使用不可

ADMINISTER KEY MANAGEMENT

USE KEY

'key_identifier' [USING

TAG 'tag']

IDENTIFIED BY

keystore_password

[WITH BACKUP [USING

'backup_identifier']];

マスター暗号化キーのカスタム・タグの作成

使用不可

ADMINISTER KEY MANAGEMENT

SET TAG 'tag'

FOR

'master_key_identifier'

IDENTIFIED BY

keystore_password

[WITH BACKUP [USING

'backup_identifier']];

マスター暗号化キーのエクスポート

使用不可

ADMINISTER KEY MANAGEMENT

EXPORT [ENCRYPTION] KEYS

WITH SECRET

"export_secret"

TO 'file_path'

IDENTIFIED BY

software_keystore_password

[WITH IDENTIFIER IN

'key_id1', 'key_id2',

'key idn' |

371

Page 372: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

(SQL_query)]

マスター暗号化キーのインポート

使用不可

ADMINISTER KEY MANAGEMENT

IMPORT [ENCRYPTION] KEYS

WITH SECRET

"import_secret" |

FROM 'file_name'

IDENTIFIED BY

software_keystore_password

[WITH BACKUP [USING

'backup_identifier']];

キーストアへのOracleDatabaseのシークレットの格納

使用不可 ソフトウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT

ADD SECRET|UPDATE

SECRET|DELETE SECRET

"secret" FOR CLIENT

'client_identifier'

[USING TAG'tag']

IDENTIFIED BY

keystore_password

[WITH BACKUP [USING

'backup_identifier'];

ハードウェア・キーストアの場合:

ADMINISTER KEY MANAGEMENT

ADD SECRET|UPDATE

SECRET|DELETE SECRET

"secret" FOR CLIENT

'client_identifier'

372

Page 373: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

[USING TAG 'tag']

IDENTIFIED BY

"user_name:password"

[WITH BACKUP [USING

'backup_identifier'];

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

PKI暗号化での透過的データ暗号化の使用PKIによる暗号化は非推奨となっていますが、これをまだ使用している場合は、考慮する必要のある問題がいくつかあります。

ノート: PKI暗号化と透過的データ暗号化を組み合せた使用は非推奨です。透過的データ暗号化を構成するには、ADMINISTER KEY MANAGEMENT SQL文を使用します。

ソフトウェア・マスター暗号化キーとPKIキー・ペアとの併用マスター暗号化キーは、暗号化用に指定されたPKI証明書の既存のキー・ペアにすることができます。

PKI暗号化とTDEの表領域およびハードウェア・キーストアPKI暗号化は、2つのキー(公開キーと秘密キー)を使用してデータを暗号化する暗号システムです。

PKIキー・ペアのバックアップおよびリカバリソフトウェア・キーストアの場合、透過的データ暗号化では、列暗号化のためにマスター暗号化キーとしてPKI非対称キー・ペアを使用できます。

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

ソフトウェア・マスター暗号化キーとPKIキー・ペアとの併用マスター暗号化キーは、暗号化用に指定されたPKI証明書の既存のキー・ペアにすることができます。

次の点に注意してください。

組織内にすでにPKIをデプロイしている場合は、キー供託およびリカバリなどのPKIサービスを活用できます。ただし、現在のPKIアルゴリズムを使用する暗号化では、対称キー暗号化よりもはるかに多くのシステム・リソースが必要になります。マスター暗号化キーとしてPKIキー・ペアを使用すると、データベース内の暗号化列にアクセスする場合にパフォーマンスが大幅に低下する可能性があります。

373

Page 374: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

PKIベースのキーの場合、証明書の失効を強制すると、暗号化されたデータベース内の情報すべてにアクセスできなくなる可能性があるため、証明書失効リストは強制されません。ただし、同じ証明書を使用してマスター暗号化キーを再び作成することはできません。

親トピック: PKI暗号化での透過的データ暗号化の使用

PKI暗号化とTDEの表領域およびハードウェア・キーストアPKI暗号化は、2つのキー(公開キーと秘密キー)を使用してデータを暗号化する暗号システムです。

PKIベースの暗号化をTDE表領域暗号化やハードウェア・キーストアと一緒に使用することはできません。

親トピック: PKI暗号化での透過的データ暗号化の使用

PKIキー・ペアのバックアップおよびリカバリソフトウェア・キーストアの場合、透過的データ暗号化では、列暗号化のためにマスター暗号化キーとしてPKI非対称キー・ペアを使用できます。

これにより、データベースでは、主要な認証局ベンダーの既存のキーのバックアップ、供託およびリカバリ機能を使用できます。

現在のキー供託またはリカバリ・システムでは、秘密キーのバージョンまたは秘密キーのリカバリに役立つ情報は、通常、キーのリカバリ機能を提供する認証局に保管されます。秘密キーが失われた場合、認証局に連絡し、キーのリカバリ・プロセスを開始することで、元のキーおよび証明書をリカバリできます。

通常、キーのリカバリ・プロセスは自動化されており、ユーザーは認証局に対して特定の認証資格証明を提示する必要があります。リカバリ対象となるキーおよびその関連証明書が、キーストアにインポート可能なPKCS#12ファイルである必要があることを除き、TDEでは、キーのリカバリ・プロセスに制限を設けていません。この要件は、主要な認証局のキーのリカバリ・メカニズムと同じです。

元の証明書および秘密キーを含むPKCS#12ファイルの取得後は、以前のキーストアと同じ場所に空のキーストアを作成する必要があります。その後、同じユーティリティを使用してPKCS#12ファイルを新しいキーストアにインポートできます。キーストアを保護するために強力なパスワードを選択する必要があります。

ADMINISTER KEY MANAGEMENT文を使用してキーストアを作成して正しい暗号化キーをインポートした後、データベースにログオンして、SQLプロンプトで次のALTER SYSTEM文を実行し、リカバリ・プロセスを完了します。

ALTER SYSTEM SET ENCRYPTION KEY "cert_id" IDENTIFIED BY

keystore_password;

コピー

374

Page 375: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。

cert_idは、マスター暗号化キーとして使用する証明書の証明書IDです。

keystore_passwordは、作成するパスワードです。

ノート: ALTER SYSTEM文を使用して、PKIキー・ペア専用の暗号化キーを再生成する必要があります。この制約はPKI以外の暗号化キーには適用されません。

親トピック: PKI暗号化での透過的データ暗号化の使用

暗号化済の列のある表への外部ファイルからのデータのロードSQL*Loaderを使用して、ファイルから暗号化列がある表へのデータ・ロードを実行できます。

SQL*Loaderを使用する場合、ORACLE_LOADERタイプの外部表の列定義にENCRYPT句を含めることはできませんが、ORACLE_DATAPUMPタイプの外部表の列定義にこの句を含めることはできる点に注意してください。

タイプORACLE_LOADERの外部表

タイプORACLE_LOADERの外部表の列定義にENCRYPT句を含めることができない理由は、タイプORACLE_LOADERの外部表の内容が、ユーザー指定の平文の「バッキング・ファイル」からのものである必要があり、このような平文ファイルにはTDE暗号化データを含めることができないためです。タイプORACLE_LOADERの外部表の定義にENCRYPT句を使用した場合、外部表内のTDE暗号化された列に問い合せると、問合せは失敗します。これは、TDEが外部データが暗号化されていることを期待しているので、ロード時に自動的に復号化を試行するためです。「バッキング・ファイル」は平文のみを含むため、このアクションは失敗します。タイプORACLE_DATAPUMPの外部表

タイプORACLE_DATAPUMPの外部表でTDE列暗号化を使用できます。これは、ORACLE_DATAPUMPタイプの外部表では、「バッキング・ファイル」が常にOracleDatabaseによって作成される(アンロード操作中)ために、暗号化済データで移入されるためのサポートがあるからです。

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

透過的データ暗号化とデータベースのクローズ操作データベースを閉じる前にソフトウェア・キーストアまたはハードウェア・キーストアが開いて

375

Page 376: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

いることを確認する必要があります。

データベースのクローズ操作中は、マスター暗号化キーが必要になる場合があります。データベースのクローズ操作では、ソフトウェア・キーストアまたはハードウェア・キーストアを自動的に閉じます。

関連項目

ステップ3: ソフトウェア・キーストアを開く

ステップ3: ハードウェア・キーストアを開く

親トピック: 透過的 データ暗号化を使用する場合の一般的な考慮事項

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

376

Page 377: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

8 他の Oracle機能における透過的データ暗号化の使用Oracle Data Encryptionは、Oracle Data GuardやOracle Real ApplicationClustersなどのOracle機能とともに使用できます。

透過的データ暗号化とエクスポートおよびインポート操作との連携Oracle Data Pumpによって、暗号化列を含む表をエクスポートおよびインポートしたり、ダンプ・セット全体を暗号化することができます。

透過的データ暗号化とOracle Data Guardとの連携Oracle Data Guardプライマリ・データベースおよびセカンダリ・データベースは、ソフトウェア・キーストアとハードウェア・セキュリティ・モジュールの両方を共有できます。

透過的データ暗号化とOracle Real Application Clustersとの連携Oracle Real Application Clusters (Oracle RAC)ノードでは、ソフトウェア・キーストアとハードウェア・セキュリティ・モジュールの両方を共有できます。

透過的データ暗号化とSecureFilesとの連携LOBが格納されるSecureFilesには、圧縮、重複除外および暗号化の3つの機能があります。

透過的データ暗号化とOracle Call Interfaceとの連携透過的データ暗号化は、Oracle Call Interface (OCI)の動作に影響しません。

透過的データ暗号化とエディションとの連携透過的データ暗号化は、Oracle Databaseのエディション機能に影響しません。

マルチデータベース環境で機能するように透過的データ暗号化を構成同じサーバー上の各Oracle Database (同じOracleバイナリを共有しているが異なるデータ・ファイルを使用しているデータベースなど)は、それぞれ独自のTDEキーストアにアクセスする必要があります。

親トピック: 透過的データ暗号化の使用

377

Page 378: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化とエクスポートおよびインポート操作との連携Oracle Data Pumpによって、暗号化列を含む表をエクスポートおよびインポートしたり、ダンプ・セット全体を暗号化することができます。

暗号化データされたデータのエクスポートおよびインポートについて暗号化列を持つ表のエクスポートとインポートには、Oracle Data Pumpを使用できます。

暗号化された列のある表のエクスポートおよびインポートENCRYPTION=ENCRYPTED_COLUMNS_ONLY設定を使用して、暗号化された列のある表をエクスポートおよびインポートできます。

Oracle Data Pumpを使用してダンプ・セット全体を暗号化Oracle Data Pumpによって、透過的データ暗号化列のみではなく、ダンプ・セット全体を暗号化できます。

暗号化されたデータ・ディクショナリ・データでのOracle Data Pumpの使用Oracle Data Pumpは、暗号化されたパスワードおよびその他の暗号化されたデータの保護を提供します。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

暗号化データされたデータのエクスポートおよびインポートについて暗号化列を持つ表のエクスポートとインポートには、Oracle Data Pumpを使用できます。

ソフトウェアおよびハードウェアの両方のキーストアに関して、暗号化された列を含む表をエクスポートする必要がある際に次の点が重要です。

転送中も機密データが解読されないように保つ必要があります。

権限のあるユーザーは、宛先にインポートされたデータを復号化できる必要があります。

Oracle Data Pumpを使用して暗号化列を含む表をエクスポートおよびインポートする場合、ENCRYPTIONパラメータを使用してダンプ・ファイル・セットのデータを暗号化できるようにします。ENCRYPTIONパラメータには、次の値を指定できます。

ENCRYPTED_COLUMNS_ONLY: 暗号化列が暗号化された形式でダンプ・ファイル・セットに書き込まれます。DATA_ONLY: すべてのデータが暗号化された形式でダンプ・ファイル・セットに書き込まれます。METADATA_ONLY: すべてのメタデータがダンプ・ファイル・セットに暗号化された形式で書き込まれます。

378

Page 379: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ALL: すべてのデータとメタデータが暗号化された形式でダンプ・ファイル・セットに書き込まれます。NONE: ダンプ・ファイル・セットに対して暗号化は使用されません。

親トピック: 透過的データ暗号化とエクスポートおよびインポート操作の連携

暗号化された列のある表のエクスポートおよびインポートENCRYPTION=ENCRYPTED_COLUMNS_ONLY設定を使用して、暗号化された列のある表をエクスポートおよびインポートできます。

1. 暗号化列を含む表のエクスポートを試行する前に、キーストアが開いていることを確認します。

マルチテナント環境では、プラガブル・データベース(PDB)内のデータをエクスポートする場合、ウォレットがPDB内でオープン状態であることを確認します。rootにエクスポートする場合、ウォレットがroot内でオープン状態であることを確認します。キーストアが開いているかどうかを確認するには、V$ENCRYPTION_WALLETビューのSTATUS列を問い合せます。キーストアを開く必要がある場合は、次のSQL文を実行します。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY software_keystore_password

[CONTAINER = ALL | CURRENT];

software_keystore_password設定は、キーストアのパスワードです。キーストアが開いている必要があるのは、暗号化列の復号化にはTDE表キーを使用する必要があり、そのためにはTDEマスター暗号化キーへのアクセスが必要なためです。列は、エクスポートされる前にパスワードを使用して再暗号化されます。

2. エクスポート・ダンプ・ファイル・セットの列データを暗号化する際に使用するパスワードを、ENCRYPTION_PASSWORDパラメータを使用して指定し、EXPDPコマンドを実行します。次に、employee_data表をエクスポートする例を示します。ENCRYPTION_PWD_PROMPT= YES設定によって、対話式でパスワードを求めるプロンプトの表示が可能となり、これは推奨されるセキュリティ上の措置となっています。

expdp hr TABLES=employee_data DIRECTORY=dpump_dir

DUMPFILE=dpcd2be1.dmp ENCRYPTION=ENCRYPTED_COLUMNS_ONLY

コピー

コピー

379

Page 380: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ENCRYPTION_PWD_PROMPT = YES

Password: password_for_hr

3. エクスポートされたデータをターゲット・データベースにインポートするには、ENCRYPTION_PASSWORDパラメータによって設定されエクスポート操作に使用したものと同じパスワードを確実に指定してください。

このパスワードは、データの復号化に使用されます。データは、ターゲット・データベースに生成された新しいTDE表キーを使用して再暗号化されます。ターゲット・データベースがTDEマスター暗号化キーにアクセスするためには、キーストアが開いている必要があります。次に、employee_data表をインポートする例を示します。

impdp hr TABLES=employee_data DIRECTORY=dpump_dir

DUMPFILE=dpcd2be1.dmp

ENCRYPTION_PWD_PROMPT = YES

Password: password_for_hr

親トピック: 透過的データ暗号化とエクスポートおよびインポート操作の連携

Oracle Data Pumpを使用してダンプ・セット全体を暗号化Oracle Data Pumpによって、透過的データ暗号化列のみではなく、ダンプ・セット全体を暗号化できます。

インポートでは、パスワードまたはキーストアTDEマスター暗号化キーのいずれかを使用してデータを復号化できます。パスワードを指定しなかった場合、データの復号化にはキーストアのTDEマスター暗号化キーが使用されます。ターゲット・データベースにおいて、キーストアが存在して開いている必要があります。この開いているキーストアは、ターゲット・データベースで列暗号化データを再暗号化する際にも必要です。

ENCRYPTION_MODE=TRANSPARENT設定を使用すると、キーストアに格納されているTDEマスター暗号化キーを使用してダンプ・ファイル・セットを透過的に暗号化できます。この場合、パスワードは不要です。キーストアは、ターゲット・データベースに存在して開かれている必要があり、インポート操作中に列暗号化メタデータを正常に復号化するためにソース・データベースのTDEマスター暗号化キーを含んでいる必要があります。

この開いているキーストアは、ターゲット・データベースで列暗号化メタデータを再暗号化する際にも必要です。キーストアがすでにターゲット・データベースに存在している場合には、ソー

コピー

380

Page 381: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ス・データベースのキーストアから現在の マスター暗号化キーをエクスポートし、ターゲット・データベースのキーストアにインポートできます。

ENCRYPTION_MODEパラメータを使用して、暗号化モードを指定します。ENCRYPTION_MODE=DUALによって、キーストアに格納されているTDEマスター暗号化キーと指定したパスワードを使用してダンプ・セットが暗号化されます。

たとえば、二重暗号化モードを使用して、暗号化されたデータをエクスポートする場合、次のようにします。

expdp hr DIRECTORY=dpump_dir1

DUMPFILE=hr_enc.dmp

ENCRYPTION=all

ENCRYPTION_PASSWORD=encryption_password

ENCRYPTION_PWD_PROMPT=yes

ENCRYPTION_ALGORITHM=AES256

ENCRYPTION_MODE=dual

Password: password_for_hr

Encryption Password: password_for_encryption

関連項目

TDEマスター暗号化キーのエクスポートおよびインポート

Oracle Databaseユーティリティ

外部表への暗号化列の作成

親トピック: 透過的データ暗号化とエクスポートおよびインポート操作の連携

暗号化されたデータ・ディクショナリ・データでのOracle Data Pumpの使用Oracle Data Pumpの操作では、暗号化されたパスワードおよびその他の暗号化されたデータが保護されます。

ソース・データベースでの固定ユーザー・データベース・パスワードの暗号化を有効にすると、Oracle Data Pumpエクスポート操作のダンプにより、データベース・リンクのパスワードの既知の無効なパスワードが格納されます。このパスワードは、エクスポート操作によってデータベースから抽出された暗号化パスワードのかわりに適用されています。「ORA-39395: 警告: インポート後、オブジェクト<データベース・リンク名>にパスワードの再設定が必要です」という警告メッセージが結果として表示されます。Oracle Database 18c以上のデータベースにデータをインポ

コピー

TDE

381

Page 382: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ートした場合、無効なパスワードを持つデータベース・リンク・オブジェクトがターゲット・データベースに作成されたときにこの同じ警告が表示されます。これが発生すると、次のようにデータベース・リンクのパスワードをリセットする必要があります。

ALTER DATABASE LINK database_link_name CONNECT TO schema_name

IDENTIFIED BY password;

データベース・リンクについての情報を検索するために、V$DBLINK動的ビューを問い合せることができます。

固定ユーザー・データベース・パスワードの暗号化がソース・データベースで無効になっている場合、Data Pumpに対する変更はありません。不明瞭化されたデータベース・リンクのパスワードは、以前のリリースと同様にエクスポートおよびインポートされます。

この場合、Oracleでは、次のことをお薦めします。

不明瞭化されたデータベース・リンクのパスワードをさらに保護できるように、expdpコマンドでENCRYPTION_PASSWORDパラメータを設定します。

画面にエコーされるのではなく、プロンプトから対話式にパスワードを入力できるように、ENCRYPTION_PWD_PROMPTパラメータをYESに設定します。

ENCRYPTION_PASSWORDとENCRYPTION_PWD_PROMPTの両方のパラメータがインポート操作で使用できます。ENCRYPTION_PWD_PROMPTは、expdpおよびimpdpのコマンドライン・クライアントでのみ使用できるのに対して、ENCRYPTION_PASSWORDは、コマンドライン・クライアントとDBMS_DATAPUMP PL/SQLパッケージの両方で使用できます。

インポート操作時に、キーストアが開いているか閉じているかにより、暗号化パスワードが指定されている必要があるかどうかの動作が影響を受けます。キーストアがエクスポート操作中に開いていて、暗号化パスワードを指定した場合は、インポート操作中にパスワードを指定する必要はありません。キーストアがエクスポート操作中に閉じられている場合は、インポート操作中にパスワードを指定する必要があります。

関連項目

Oracle Databaseリファレンス

Oracle Databaseユーティリティ

親トピック: 透過的データ暗号化とエクスポートおよびインポート操作の連携

透過的データ暗号化とOracle Data Guardとの連携Oracle Data Guardプライマリ・データベースおよびセカンダリ・データベースは、ソフトウェア・

コピー

382

Page 383: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストアとハードウェア・セキュリティ・モジュールの両方を共有できます。

Oracle Data Guardでの透過的データ暗号化の使用についてソフトウェアおよびハードウェアの両方のキーストアに関して、Oracle Data Guardは透過的データ暗号化(TDE)をサポートしています。

Oracle Data Guard環境でのTDEおよびOracle Key Vaultの構成TDEおよびOracle Key Vaultと連携できるように、マルチテナント環境でOracle Data Guardを構成できます。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

Oracle Data Guardでの透過的データ暗号化の使用についてソフトウェアおよびハードウェアの両方のキーストアに関して、Oracle Data Guardは透過的データ暗号化(TDE)をサポートしています。

プライマリ・データベースでTDEを使用する場合、Data Guard構成の各スタンバイ・データベースには、プライマリ・データベースからの暗号化キーストアのコピーが必要です。プライマリ・データベースでTDEマスター暗号化キーを再設定した場合は、そのTDEマスター暗号化キーが格納されているプライマリ・データベースから各スタンバイ・データベースにキーストアをコピーする必要があります。

次の点に注意してください。

ウォレットベースのTDEによるキー更新操作では、新しいTDEマスター暗号化キーがまだ使用可能でないため、スタンバイ・データベースでの管理リカバリ・プロセス(MRP)が失敗します。この問題を回避するには、プライマリ・データベースでADMINISTER KEYMANAGEMENT CREATE KEY文を使用して、新しいTDEマスター暗号化キーをウォレットに挿入します。ウォレットをスタンバイ・データベースにコピーしてから、プライマリでADMINISTER KEY MANAGEMENT USE KEY文を実行します。

データをスタンバイ・データベースに転送する場合、ログ・ファイル内の暗号化データは暗号化されたままです。暗号化データは転送中も暗号化されたままです。

関連項目

ソフトウェア・キーストアのマージ

親トピック: 透過的データ暗号化とOracle Data Guardとの連携

Oracle Data Guard環境でのTDEおよびOracle Key Vaultの構成TDEおよびOracle Key Vaultと連携できるように、マルチテナント環境でOracle Data Guardを構成できます。

383

Page 384: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次のシナリオでは、フィジカル・スタンバイ・データベースが1つでシングル・インスタンスのマルチテナントOracle Data Guard環境でのOracle Key Vaultを使用した構成を示します。プライマリ・データベースおよびスタンバイ・データベースのバージョンはリリース19.6以降である必要があります。この手順を完了するには、各ステップを示されている順序で実行する必要があります。手順を完了すると、Oracle Data Guardでは、TDEキー管理にOracle Key Vaultのみが使用され、データベース・サーバー上にTDEウォレットはありません。プライマリ・データベースとスタンバイ・データベースの両方のアラート・ログをモニターすることをお薦めします。

1. プライマリ・データベースとスタンバイ・データベースの両方で、opatch lspatchesコマンドを実行してパッチ・リリースを確認します。

$ORACLE_HOME/OPatch/opatch lspatches

次のような出力が表示されます。

31281355;Database Release Update : 19.7.0.0.200414 (30869156)

29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)

2. データベース管理者がOracleデータベースをOracle Key Vaultに自動的に登録できるように、Oracle Key Vault管理者が準備したOracle Key Vaultデプロイメント・スクリプトをダウンロードします。Oracleデータベースをエンドポイントとして自動的に登録するスクリプトの作成方法の例は、Oracle Key Vault管理者ガイドを参照してください。デプロイメント・スクリプトは、データベース管理者がダウンロードできる共有ファイル・システムにあります。これらのデプロイメント・スクリプトには2つの異なるバージョンがあります。primary.zipファイルはプライマリ・データベース用で、secondary.zipファイルはすべてのスタンバイ・データベース用です。これらのスクリプトは、Oracle Data GuardまたはOracle RAC環境に使用できます。Oracle Key Vault管理者が準備してデプロイメント・スクリプトに追加する別のコンポーネントは、Oracle Key Vaultに接続するデプロイメント・スクリプトのすべての詳細を含む構成ファイルです。

3. データベース管理者が共有の場所からダウンロードするためにOracle Key Vault管理者が作成した2つのデプロイメント・スクリプト(primary.zipおよびsecondary.zip)をコピーします。

a. primary.zipファイルをプライマリ・データベースにコピーします。

コピー

コピー

384

Page 385: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

$ scp user@ip_address:/path/to/file/primary.zip .

b. secondary.zipファイルをスタンバイ・データベースにコピーします。

$ scp user@ip_address:/path/to/file/secondary.zip .

4. それぞれのサーバーで、zipファイルを解凍します。

$ unzip primary.zip

$ unzip secondary.zip

5. primary-run-me.shおよびsecondary-run-me.shスクリプトを実行します。これらのスクリプトには、Oracle Key VaultでRESTful APIが実行するコマンドが含まれています。Oracle Key Vault RESTfulサービスがこれらのコマンドを実行し、一意のウォレットおよびエンドポイント名でこのデータベースをOracle Key Vaultに登録します。

a. プライマリ・データベース: 例:

$ ./primary-run-me.sh

create_wallet -w $ORACLE_SID

create_endpoint -e $ORACLE_SID_on_short_host_name -t

ORACLE_DB -q LINUX64 -d "long_host_name, 192.0.2.101"

set_default_wallet -e $ORACLE_SID_on_short_host_name -w

$ORACLE_SID

provision -v default_password -e

$ORACLE_SID_on_short_host_name -y

Oracle_Key_Vault_installation_directory

b. スタンバイ・データベース: 例:

$ ./secondary-run-me.sh

create_endpoint -e $ORACLE_SID_on_short_host_name -t

コピー

コピー

コピー

コピー

コピー

385

Page 386: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ORACLE_DB -q LINUX64 -d "long_host_name, 192.0.2.102"

set_default_wallet -e $ORACLE_SID_on_short_host_name -w

$ORACLE_SID

provision -v default_password -e

$ORACLE_SID_on_short_host_name -y

Oracle_Key_Vault_installation_directory

6. プライマリ・データベースおよびスタンバイ・データベースで、次のディレクトリを作成します。例:

$ mkdir -pv /u01/opt/oracle/product/okv

$ mkdir -pv /u01/opt/oracle/product/tde

$ mkdir -pv /u01/opt/oracle/product/tde_seps

ここでは次のように指定します。

/u01/opt/oracle/productディレクトリは、後のステップでWALLET_ROOTとして定義されます。/u01/opt/oracle/product/okvは、Oracle Key Vaultクライアント・ソフトウェアのインストール・ディレクトリです。TDE_CONFIGURATIONパラメータの設定方法に応じて、Oracle Databaseはwallet_root/okv内のOracle Key Vaultクライアント・ソフトウェアを検索します。/u01/opt/oracle/product/tdeには、将来のOracle Key Vaultパスワードのみを含む自動ログイン・ウォレットが格納され、自動ログインのOracle Key Vault構成が有効になります。Oracle Databaseでは、TDE_CONFIGURATIONの設定方法に応じて、TDEウォレットまたはOracle Key Vaultの自動オープン・ウォレットがwallet_root/tdeで検索されます。/u01/opt/oracle/product/tde_sepsには、将来のOracle Key Vaultパスワードのみを含む自動ログイン・ウォレットが格納されます。これにより、SQL*PlusコマンドラインからOracle Key Vaultパスワードが非表示になり、場合によっては、Oracleデータベース管理者とOracle Key Vault管理者との間で義務の分離を強化するためにデータベース管理者にも非表示になる可能性があります。

7. まず、プライマリ・データベースでRESTful APIを実行します。これは、スタンバイ・データベースのデプロイメント・スクリプトが、プライマリ・データベースのスクリプトによって作成されるOracle Key Vaultの共有仮想ウォレットの存在に依存するためです。

コピー

386

Page 387: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

$ java -jar okvrestservices.jar -c config.ini

次のメッセージが表示されることを確認します。

The endpoint software for Oracle Key Vault installed

successfully

8. プライマリ・データベースおよびスタンバイ・データベースで、root.shスクリプトを実行してPKCS#11ライブラリをデプロイします。

# /u01/opt/oracle/product/okv/bin/root.sh

次の出力が表示されます。

Creating directory: /opt/oracle/extapi/64/hsm/oracle/1.0.0/

Copying PKCS library to /opt/oracle/extapi/64/hsm/oracle/1.0.0/

Setting PKCS library file permissions

9. プライマリ・データベースから、次にスタンバイの順で、okvutil changepwdコマンドを実行してインストールしたウォレットのパスワードを変更します。すべてのデータベース管理者が同じデプロイメント・スクリプトをダウンロードしたため、すべてのデータベースのパスワードがOracle Key Vaultで同じになります。このステップにより、各データベースが一意のパスワードを持つようになります。

$ /u01/opt/oracle/product/okv/bin/okvutil changepwd -t wallet -l

/u01/opt/oracle/product/okv/ssl/

Enter wallet password: default_password

Enter new wallet password: Oracle_Key_Vault_password

Confirm new wallet password: Oracle_Key_Vault_password

Wallet password changed successfully

10. プライマリ・データベースおよびスタンバイ・データベースで、次の文を実行します。

a. 次の文を実行して、Oracle Key Vaultパスワードをシークレットとして自動オープン・ウォレットに追加し、SQL*PlusコマンドラインのOracle Key Vaultパスワード

コピー

コピー

コピー

コピー

コピー

387

Page 388: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

をEXTERNAL STOREに置き換えます。

ADMINISTER KEY MANAGEMENT ADD SECRET

'Oracle_Key_Vault_password'

FOR CLIENT 'OKV_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE

'/u01/opt/oracle/product/tde_seps';

b. 次の文を実行して、Oracle Key Vaultパスワードをシークレットとして自動オープン・ウォレットに追加し、自動オープンのOracle Key Vaultを有効にします。

ADMINISTER KEY MANAGEMENT ADD SECRET

'Oracle_Key_Vault_password'

FOR CLIENT 'HSM_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE '/u01/opt/oracle/product/tde';

c. 常に新しい表領域を暗号化するようにプライマリ・データベースおよびスタンバイ・データベースを構成します。

ALTER SYSTEM SET ENCRYPT_NEW_TABLESPACES = ALWAYS SCOPE =

BOTH;

d. 必要に応じて、パッチ30398099がインストールされている場合は、データベースのデフォルト・アルゴリズムをAES128からAES192またはAES256に変更します。次のパラメータの前にアンダースコアがあることに注意してください。

ALTER SYSTEM SET "_tablespace_encryption_default_algorithm"

= 'AES256' SCOPE = BOTH;

e. プライマリ・データベースおよびスタンバイ・データベースで、WALLET_ROOT静的初期化パラメータを定義します。

コピー

コピー

コピー

コピー

388

Page 389: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ALTER SYSTEM SET WALLET_ROOT = '/u01/opt/oracle/product'

SCOPE = SPFILE;

f. 前述のALTER SYSTEM SET WALLET_ROOT文が有効になるように、プライマリ・データベースおよびスタンバイ・データベースを再起動します。

g. データベースの再起動後、Oracle Key Vaultを最初のキーストアとして使用し、WALLET_ROOT/tdeの自動オープン・ウォレットをセカンダリ・キーストアとして使用するようにTDEを構成します。プライマリ・データベースおよびスタンバイ・データベースの両方で次の文を実行します。

ALTER SYSTEM SET TDE_CONFIGURATION =

"KEYSTORE_CONFIGURATION=OKV|FILE" SCOPE = BOTH;

11. プライマリ・データベースで、最初のTDEマスター暗号化キーをOracle Key Vaultに作成します。スタンバイ・データベースのalert.logを確認します。スタンバイ・データベースはOracleKey Vaultの共有仮想ウォレットで正しいマスター・キーを検出するため、管理リカバリ・プロセス(MRP)は停止しないでください。

a. プライマリ・ルート・コンテナ: 最初のマスター暗号化キーを設定します。

TDE構成を変更しないすべてのADMINISTER KEY MANAGEMENT文では、パスワードはEXTERNAL STOREに置き換えられます。これにより、Oracle Key Vault管理者はOracle Key Vaultパスワードをデータベース管理者と共有する必要がなくなるため、データベース管理者とOracle Key Vault管理者の業務を分離できます。

sqlplus sys as syskm

Enter password: password

ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY EXTERNAL

STORE

CONTAINER = CURRENT;

b. すべてのプライマリPDB: オープンしているPDBごとに最初のタグ付きマスター・キーを設定します。PDBキーにタグを付ける利点は、後で特定のPDBに属するものと簡単に識別できることです。

コピー

コピー

コピー

389

Page 390: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SELECT ' ADMINISTER KEY MANAGEMENT SET KEY

USING TAG '''||SYS_CONTEXT('USERENV', 'CON_NAME')||' '||

TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')||'''

IDENTIFIED BY EXTERNAL STORE;' "SET KEY COMMAND" FROM DUAL;

c. このSELECT文の生成済出力を実行します。例:

ADMINISTER KEY MANAGEMENT SET KEY

USING TAG 'pdb_name date time'

IDENTIFIED BY EXTERNAL STORE;

12. ルート・コンテナで次のステップを実行します。

a. 必要に応じて、ルート・コンテナのUSERS表領域を暗号化します。技術的には可能ですが、ルート・コンテナのSYSTEM、SYSAUX、TEMPおよびUNDO表領域は暗号化しないでください。例:

ALTER TABLESPACE USERS ENCRYPTION ONLINE USING 'AES256'

ENCRYPT;

b. スタンバイ・データベースのalert.logをよく見て、そこにあるUSERS表領域も暗号化されていることを確認します。

c. SYSKM管理権限を持つユーザーとして、AES256アルゴリズムを使用してデータ・ディクショナリを暗号化します。

ALTER DATABASE DICTIONARY ENCRYPT CREDENTIALS CONTAINER =

CURRENT;

13. オプションで、PDBのUSERS、SYSTEMおよびSYSAUX表領域を暗号化します。暗号化された表領域のデータは、TEMPまたはUNDOに書き込まれる前に追跡され、自動的に

コピー

コピー

コピー

コピー

390

Page 391: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化されるため、 および 表領域の暗号化はオプションです。

ALTER TABLESPACE USERS ENCRYPTION ONLINE USING 'AES256' ENCRYPT;

ALTER TABLESPACE SYSTEM ENCRYPTION ONLINE ENCRYPT;

ALTER TABLESPACE SYSAUX ENCRYPTION ONLINE USING 'AES256'

ENCRYPT;

SYSTEM表領域は、データベースのデフォルト・アルゴリズム(パッチ30398099の適用後に変更されていないかぎりAES128)でのみ暗号化できます。このパッチがなく、SYSTEM表領域をAES256で暗号化する場合は、SYSTEM表領域をキー更新してAES256を使用する必要があります。例:

ALTER TABLESPACE SYSTEM ENCRYPTION ONLINE USING 'AES256' REKEY;

スタンバイ・データベースのalert.logをよく見て、暗号化およびキー更新操作がそこにも適用されていることを確認します。

14. プライマリ・データベースPDBで表領域および表を作成します。プライマリ・データベースに表領域を作成するとき、その文に暗号化キーワードがない場合があります。それは、パッチ30398099の適用後にデータベースのデフォルト・アルゴリズムが変更されていないかぎり、デフォルトではAES128を使用して暗号化されます。スタンバイ・データベースのalert.logをよく見て、暗号化された表領域がそこにも作成されていることを確認します。

CREATE TABLESPACE protected DATAFILE SIZE 50M;

CREATE TABLE SYSTEM.TEST TABLESPACE protected

AS SELECT * FROM DBA_OBJECTS;

15. 暗号化された表領域に格納されている表から選択できることを確認します。

SELECT COUNT(*), OWNER FROM SYSTEM.TEST

GROUP BY OWNER

ORDER BY 1 DESC;

コピー

コピー

コピー

コピー

TEMP UNDO

391

Page 392: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

16. スタンバイ・データベースで、次の問合せを実行して、ルート・コンテナの暗号化された表領域、すべてのPDBおよび暗号化アルゴリズムをリストします。

SELECT C.NAME AS PDB_NAME, T.NAME AS TBS_NAME, E.ENCRYPTIONALG

AS ALG

FROM V$TABLESPACE T, V$ENCRYPTED_TABLESPACES E, V$CONTAINERS C

WHERE E.TS# = T.TS# AND E.CON_ID = T.CON_ID AND E.CON_ID =

C.CON_ID ORDER BY E.CON_ID, T.NAME;

PDB_NAME TBS_NAME ALG

--------------- -------------------- -------

CDB$ROOT USERS AES256

FINPDB PROTECTED01 AES256

FINPDB SYSAUX AES256

FINPDB SYSTEM AES256

FINPDB USERS AES256

17. オプションで、構成を検証します。

a. プライマリ・データベースとスタンバイ・データベース間でOracle Data Guardスイッチオーバーを実行します。Oracle Data Guard概要および管理を参照してください。新しいプライマリ・データベースで次のステップを実行します。

b. PDBの暗号化された表から選択します。Oracle Key Vaultへの自動オープン接続があるため、次の問合せではOracle Key Vaultパスワードを入力する必要がありません。

SELECT COUNT(*), OWNER FROM SYSTEM.TEST

GROUP BY OWNER

ORDER BY 1 DESC;

24 rows selected.

c. PDBのキーを更新します。

SELECT ' ADMINISTER KEY MANAGEMENT SET KEY

コピー

コピー

コピー

392

Page 393: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

USING TAG '''||SYS_CONTEXT('USERENV', 'CON_NAME')||' '||

TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')||'''

IDENTIFIED BY EXTERNAL STORE;' "REKEY COMMAND" FROM DUAL;

d. このSELECT文の生成済出力を実行します。例:

ADMINISTER KEY MANAGEMENT SET KEY

USING TAG 'pdb_name date time'

IDENTIFIED BY EXTERNAL STORE;

e. ルート・コンテナで、SYSKM管理権限を持つユーザーとしてデータ・ディクショナリのキー更新を行います。

ALTER DATABASE DICTIONARY REKEY CREDENTIALS CONTAINER =

CURRENT;

f. Oracle Data Guardスイッチオーバーをさらに実行します。Oracle Data Guard概要および管理を参照してください。

g. PDBの暗号化された表から選択します。Oracle Key Vaultへの自動オープン接続があるため、次の問合せではOracle Key Vaultパスワードを入力する必要がありません。

SELECT COUNT(*), OWNER FROM SYSTEM.TEST

GROUP BY OWNER

ORDER BY 1 DESC;

24 rows selected.

h. PDBのキーを更新します。

SELECT ' ADMINISTER KEY MANAGEMENT SET KEY

USING TAG '''||SYS_CONTEXT('USERENV', 'CON_NAME')||' '||

TO CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')||'''

コピー

コピー

コピー

コピー

393

Page 394: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

IDENTIFIED BY EXTERNAL STORE;' "REKEY COMMAND" FROM DUAL;

i. このSELECT文の生成済出力を実行します。例:

ADMINISTER KEY MANAGEMENT SET KEY

USING TAG 'pdb_name date time'

IDENTIFIED BY EXTERNAL STORE;

親トピック: 透過的データ暗号化とOracle Data Guardとの連携

透過的データ暗号化とOracle Real Application Clustersとの連携Oracle Real Application Clusters (Oracle RAC)ノードでは、ソフトウェア・キーストアとハードウェア・セキュリティ・モジュールの両方を共有できます。

Oracle Real Application Clustersでの透過的データ暗号化の使用についてOracle Databaseでは、Oracle Real Application Clusters (Oracle RAC)ノードがソフトウェア・キーストアを共有できます。

Oracle Real Application ClustersにおけるOracle Key Vault用のTDEの構成Oracle Exadata Cloud at Customer (ExaCC)およびその他のサーバーのOracle Real ApplicationClusters (Oracle RAC)でTDEを、Oracle Key Vaultによって実現される一元管理されたキー管理のために構成できます。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

Oracle Real Application Clustersでの透過的データ暗号化の使用についてOracle Databaseでは、Oracle Real Application Clusters (Oracle RAC)ノードがソフトウェア・キーストアを共有できます。

Oracle Key VaultまたはPKCS11互換のハードウェア・セキュリティ・モジュールを使用するTDE構成では、データベースの各インスタンスから外部キー・マネージャへのネットワーク接続が使用されます。Oracle Key Vaultでは、Oracle RAC対応データベースのインスタンスごとに1つのエンドポイントを作成し、Oracle RAC対応データベースごとに1つの仮想ウォレットを作成する必要があります。次に、その仮想ウォレットを、そのデータベースに属するすべてのエンドポイントのデフォルト・ウォレットにします。Oracle RAC対応のData Guard構成では、すべてのインスタンス(プライマリおよびすべてのスタンバイ・データベース)で1つの仮想ウォレットが共有されます。この構成では、関連するすべてのインスタンスが自動的に同期されるため、キー設定操作と

コピー

394

Page 395: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キー更新操作は完全に透過的に行われます。これにより、クラスタ内のその他の各ノードにソフトウェア・キーストアを手動でコピーする必要がなくなります。オラクル社は、共有ファイル・システム上にソフトウェア・キーストアを作成することをお薦めします。

Oracleでは、Oracle RACノードごとの個別のTDEウォレットの使用はサポートされていません。かわりに、Oracle RAC環境でTDE用の共有ウォレットを使用してください。これによってすべてのインスタンスが、同じ共有ソフトウェア・キーストアにアクセスできます。対象の環境でOracleAutomatic Storage Management Cluster File System (Oracle ACFS)を使用している場合は、これが共有ウォレットの推奨される場所です。Oracle ACFSを使用できない場合は、Oracle Automatic StorageManagement (Oracle ASM)でウォレットを直接共有する(+DATA/$ORACLE_UNQNAME/WALLETSなど)という方法もあります。

キーストア操作(キーストアの開閉、TDEマスター暗号化キーのキー更新など)は、任意の1つのOracle RACインスタンスで実行可能です。内部的には、Oracleデータベースにより、各OracleRACノードでキーストアのコンテキストが同期されます。こうすることで、キーストア操作の結果が、クラスタ内の他のすべてのOracle RACインスタンスに表示されます。同様に、TDEマスター暗号化キーのキー更新操作が実行されると、新しいキーが各Oracle RACインスタンスで使用可能になります。TDEマスター暗号化キーのエクスポート、キーストアのパスワードのローテーション、キーストアのマージ、キーストアのバックアップを含む他のキーストア操作なども、1つのインスタンスのみから実行できます。

共有ファイル・システムを使用する場合は、次のようにすべてのOracle RACインスタンスのWALLET_ROOT静的システム・パラメータが同じ共有ソフトウェア・キーストアの場所を指していることを確認します。

ALTER SYSTEM SET WALLET_ROOT = '+DATA/$ORACLE_UNQNAME/WALLETS' SCOPE

= SPFILE SID ='*';

ALTER SYSTEM SET TDE_CONFIGURATION = "KEYSTORE_CONFIGURATION=FILE"

SCOPE = BOTH SID = '*';

ノート:

ENCRYPTION_WALLET_LOCATIONパラメータが設定されている場合、このパラメータは非推奨となったことに注意してください。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用することをお薦めします。Oracle Real Application Clusters (Oracle RAC)インスタンスごとの個別のウォレットでのTDEマスター暗号化キーの格納はサポートされていません。かわりに、オンプレミスまたはクラウドベースのデータベース・デプロイメント、Oracle AutomaticStorage Management (Oracle ASM)またはOracle ASM Cluster File System (Oracle

コピー

395

Page 396: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ACFS)間の集中キー管理用のOracle Key Vaultを使用してローカル共有ウォレットを提供します。

親トピック: 透過的データ暗号化とOracle Real Application Clustersとの連携

Oracle Real Application ClustersにおけるOracle Key Vault用のTDEの構成Oracle Exadata Cloud at Customer (ExaCC)およびその他のサーバーのOracle Real Application Clusters(Oracle RAC)でTDEを、Oracle Key Vaultによって実現される一元管理されたキー管理のために構成できます。

次のシナリオでは、マルチテナント2ノードOracle RAC構成があると想定しています。この手順では、示されている順序で次のステップを実行する必要があります。この手順を完了すると、OracleRAC環境では、透過的データ暗号化のキー管理のためにOracle Key Vaultのみが使用されます。この手順では、Oracle Databaseリリース19cの2020年1月(19.6)以降のアップグレードがインストール済であることを前提としています。

開始する前に、実行中のOracle RACデータベースのアラート・ログを監視します。デフォルトのOracle Databaseリリース19cインストールに含まれているJavaバージョンを使用すると、RESTfulサービスを備えたOracle Key Vaultクライアントをインストールできます。RESTfulAPIのprovisionコマンドには、OracleデータベースのJavaホームを指す/usr/bin/java内のシンボリック・リンクが必要です。例:

# ln -sv $ORACLE_HOME/jdk/jre/java /usr/bin/java

1. データベース管理者がOracleデータベースをOracle Key Vaultに自動的に登録できるように、Oracle Key Vault管理者が準備したOracle Key Vaultデプロイメント・スクリプトをダウンロードします。Oracleデータベースをエンドポイントとして自動的に登録するスクリプトの作成方法の例は、Oracle Key Vault管理者ガイドを参照してください。デプロイメント・スクリプトは、データベース管理者がダウンロードできる共有ファイル・システムにあります。これらのデプロイメント・スクリプトには2つの異なるバージョンがあります。1つのスクリプトは最初のノード(このプロシージャではリード・ノードと呼ばれます)のみを対象とし、もう1つのスクリプトはその他のすべてのノード(このプロシージャではセカンダリ・ノードと呼ばれます)を対象としています。これらのスクリプトは、Oracle RACまたはOracle Data Guard環境に使用できます。Oracle Key Vault管理者が準備してデプロイメント・スクリプトに追加する別のコンポーネントは、Oracle Key Vaultに接続するデプロイメント・スクリプトのすべての詳細を含む構成ファイルです。

2. データベース管理者が共有の場所からダウンロードするためにOracle Key Vault管理者が作成した2つのデプロイメント・スクリプト(primary.zipおよびsecondary.zip)をコピーし

コピー

396

Page 397: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ます。

a. primary.zipファイルをリード・ノードにコピーします。

$ scp user@ip_address:/path/to/file/primary.zip .

b. secondary.zipファイルを各セカンダリ・ノードにコピーします。

$ scp user@ip_address:/path/to/file/secondary.zip .

3. zipファイルを解凍します。

a. リード・ノード: primary.zipファイルを解凍します。

$ unzip primary.zip

b. セカンダリ・ノード: secondary.zipファイルを解凍します。

$ unzip secondary.zip

4. primary-run-me.shおよびsecondary-run-me.shスクリプトを実行します。これらのスクリプトには、Oracle Key VaultでRESTful APIが実行するコマンドが含まれています。Oracle Key Vault RESTfulサービスがこれらのコマンドを実行し、一意のウォレットおよびエンドポイント名でこのデータベースをOracle Key Vaultに登録します。

a. リード・ノード: このスクリプトは、Oracle Key Vaultで共有ウォレット(リードとすべてのセカンダリ・ノード用)およびエンドポイントを作成し、リード・ノード用のこのエンドポイントを共有ウォレットに関連付け、Oracle Key Vaultクライアントをダウンロードして既存のインストール・ディレクトリにインストールします。WALLET_ROOT構成では、このディレクトリはwallet_root/okvです。

$ more primary-run-me.sh

#!/bin/bash

export EP_NAME=${ORACLE_SID^^}_on_${HOSTNAME/.*}

cat > /home/oracle/script.txt << EOF

コピー

コピー

コピー

コピー

コピー

397

Page 398: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

create_wallet -w $ORACLE_UNQNAME

create_endpoint -e $EP_NAME -t ORACLE_DB -q LINUX64 -d

"$HOSTNAME, $(hostname -i)"

set_default_wallet -e $EP_NAME -w $ORACLE_UNQNAME

provision -v default_password -e $EP_NAME -y

Oracle_Key_Vault_installation_directory

EOF

more script.txt

次のような出力が表示されます。

create_wallet -w database_name

create_endpoint -e instance_name_on_short_host_name -t

ORACLE_DB -q LINUX64 -d "full_host_name, node_IP_address"

set_default_wallet -e instance_name_on_short_host_name -w

database_name

provision -v default_password -e

instance_name_on_short_host_name -y

Oracle_Key_Vault_installation_directory

b. セカンダリ・ノード: このスクリプトは、セカンダリ・ノードのエンドポイントのみを作成し、セカンダリ・ノードのエンドポイントを共有ウォレットに関連付けて、OracleKey Vaultクライアントをダウンロードして各セカンダリ・ノードの既存のインストール・ディレクトリにインストールします。

$ more secondary-run-me.sh

#!/bin/bash

export EP_NAME=${ORACLE_SID^^}_on_${HOSTNAME/.*}

cat > /home/oracle/script.txt << EOF

create_endpoint -e $EP_NAME -t ORACLE_DB -q LINUX64 -d

"$HOSTNAME, $(hostname -i)"

set_default_wallet -e $EP_NAME -w $ORACLE_UNQNAME

provision -v default_password -e $EP_NAME -y

Oracle_Key_Vault_installation_directory

EOF

more script.txt

コピー

コピー

398

Page 399: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次のような出力が表示されます。

create_endpoint -e instance_name_on_short_host_name -t

ORACLE_DB -q LINUX64 -d "full_host_name, node_IP_address"

set_default_wallet -e instance_name_on_short_host_name -w

database_name

provision -v default_password -e

instance_name_on_short_host_name -y

Oracle_Key_Vault_installation_directory

5. すべてのノードで次のディレクトリを作成します。例:

$ mkdir -pv /u01/opt/oracle/product/okv

$ mkdir -pv /u01/opt/oracle/product/tde

$ mkdir -pv /u01/opt/oracle/product/tde_seps

ここでは次のように指定します。

/u01/opt/oracle/productディレクトリは、後のステップでWALLET_ROOTとして定義されます。/u01/opt/oracle/product/okvは、Oracle Key Vaultクライアント・ソフトウェアのインストール・ディレクトリです。TDE_CONFIGURATIONパラメータの設定方法に応じて、Oracle Databaseはwallet_root/okv内のOracle Key Vaultクライアント・ソフトウェアを検索します。/u01/opt/oracle/product/tdeには、将来のOracle Key Vaultパスワードのみを含む自動ログイン・ウォレットが格納され、自動ログインのOracle Key Vault構成が有効になります。Oracle Databaseでは、TDE_CONFIGURATIONの設定方法に応じて、TDEウォレットまたはOracle Key Vaultの自動オープン・ウォレットがwallet_root/tdeで検索されます。/u01/opt/oracle/product/tde_sepsには、将来のOracle Key Vaultパスワードのみを含む自動ログイン・ウォレットが格納されます。これにより、SQL*PlusコマンドラインからOracle Key Vaultパスワードが非表示になり、場合によっては、Oracleデータベース管理者とOracle Key Vault管理者との間で義務の分離を強化するためにデータベース管理者にも非表示になる可能性があります。

6. すべてのセカンダリ・ノードが、リード・ノードによって作成されるOracle Key Vault内の共

コピー

コピー

399

Page 400: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

有ウォレットの存在に依存するため、最初にリード・ノードでRESTful APIを実行します。

$ java -jar okvrestservices.jar -c config.ini

次のような出力が表示されます。

[Line 1 OK] [CREATE WALLET] [3E48990A-82A0-48BC-ACEC-FF80CB380D38][Line 2 OK] [CREATE ENDPOINT] [6FA40F80-558C-456A-84E3-

25AE73B245DD]

[Line 3 OK] [SET DEFAULT WALLET] [FINRAC1_on_rac19a:FINRAC]

[Line 4 OK] [GET ENROLLMENT TOKEN] [FINRAC1_on_rac19a]

The endpoint software for Oracle Key Vault installed

successfully.

[Line 4 OK] [PROVISION]

[Line 4 OK] [CLEANUP]

ウォレットのUUIDを書き留めます(これは、行1に表示され、太字で表示されます)。

このコマンドをリード・ノードで実行した後、すべてのセカンダリ・ノードで実行します。

7. Oracle Key Vaultクライアントが正常にインストールされた後、root.shスクリプトを実行して、すべてのノードにPKCSライブラリをインストールします。

# Oracle_Key_Vault_installation_directory/bin/root.sh

次の出力が表示されます。

Creating directory: /opt/oracle/extapi/64/hsm/oracle/1.0.0/

Copying PKCS library to /opt/oracle/extapi/64/hsm/oracle/1.0.0/

Setting PKCS library file permissions

8. すべてのノードでOracle Key Vault okvutil changepwdコマンドを実行して、インストールしたOracle Key Vaultクライアントのパスワードを変更します。すべてのデータベース管理者が同じデプロイメント・スクリプトをダウンロードしたため、すべてのデータベースのパスワードがOracle Key Vaultで同じになります。このステップによ

コピー

コピー

コピー

コピー

400

Page 401: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

り、各データベースが一意のパスワードを持つようになります。

$ /u01/opt/oracle/product/okv/bin/okvutil changepwd -t wallet -l

/u01/opt/oracle/product/okv/ssl/

Enter wallet password: default_password

Enter new wallet password: Oracle_Key_Vault_password

Confirm new wallet password: Oracle_Key_Vault_password

Wallet password changed successfully

9. すべてのノードで、ローカル自動ログイン・ウォレットにOracle Key Vaultパスワードを追加して、新しく変更したパスワードをデータベース管理者に対して非表示にします。

sqlplus c##sec_admin as syskm

Enter password: password

ADMINISTER KEY MANAGEMENT ADD SECRET 'Oracle_Key_Vault_password'

FOR CLIENT 'OKV_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE '/u01/opt/oracle/product/tde_seps';

10. ルート・コンテナで、ALTER SYSTEM文を実行して静的WALLET_ROOTパラメータを設定し、すべてのインスタンスの暗号化ウォレットの場所を構成します。

CONNECT AS SYSDBA

ALTER SYSTEM SET WALLET_ROOT = '/u01/opt/oracle/product/'

SCOPE = SPFILE SID = '*';

11. データベースを再起動します。任意のノードでこのコマンドを実行します。

$ srvctl stop database -db database_name -o immediate

$ srvctl start database -db database_name

コピー

コピー

コピー

コピー

401

Page 402: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

12. ウォレットがOracle Key Vaultクラスタ・ノード間でレプリケートされているかどうかチェックします。

$ java -jar okvrestservices.jar -c

/u01/opt/oracle/product/okv/conf/okvclient.ora

-j /home/oracle -u restadmin -r check_object_status -b WALLET

-x 3E48990A-82A0-48BC-ACEC-FF80CB380D38

ここでは次のように指定します。

-c /u01/opt/oracle/product/okv/conf/okvclient.oraでは、RESTfulAPIで完全な構成ファイル(okvclient.ora)を使用してOracle Key Vaultのクラスタリング機能を利用できるようになります。-j /home/oracleは、config.iniファイル内のclient_walletエントリに対応するエントリです。-u restadminは、config.iniファイル内のusrエントリに対応するエントリです。-r check_object_statusは、Oracle Key Vault内のオブジェクトのステータスをチェックします。-b WALLETは、-r check_object_statusでチェックされるオブジェクト・タイプです。-x 3E48990A-82A0-48BC-ACEC-FF80CB380D38は、ステップ6でOracle KeyVaultにウォレットを作成したときに表示される生成済UUIDです。

次のような出力が表示されます。ステータスがACTIVEの場合、続行します。ステータスがPENDINGの場合は、ステータスがACTIVEになるまで待機します。

[Line 0 OK] [CHECK OBJECT STATUS] [ACTIVE]

13. ルート・コンテナで、ALTER SYSTEM文を使用して、動的TDE_CONFIGURATIONパラメータを設定します。例:

ALTER SYSTEM SET TDE_CONFIGURATION =

"KEYSTORE_CONFIGURATION=OKV"

SCOPE = BOTH SID = '*';

コピー

コピー

コピー

402

Page 403: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

14. オプションで、Oracleパッチ30398099を適用した後で、データベースのデフォルトの暗号化アルゴリズムを定義します。デフォルトでは、Oracle Databaseは、暗号化アルゴリズムを指定しない暗号化句にAES128アルゴリズムを適用します。パッチ30398099では、AES128、AES192およびAES256の各暗号化アルゴリズムから選択できます。このパッチを適用した場合は、次のコマンドを実行して暗号化句を設定できます。

ALTER SYSTEM SET "_TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM" =

'encryption_algorithm'

SCOPE = BOTH SID = '*';

15. ルート・コンテナでキーストアを開くと、ルート・コンテナおよびすべてのオープンPDBを対象としたOracle Key Vaultへの接続が開きます。データベースでは、ステップ9で作成したローカル自動ログイン・ウォレットからOracle KeyVaultパスワードが自動的に取得されるため、Oracle Key Vaultのパスワードは、その後のすべてのADMINISTER KEY MANAGEMENTコマンドでEXTERNAL STOREに置換されていることに注意してください。

ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN

IDENTIFIED BY EXTERNAL STORE CONTAINER = ALL;

16. ルート・コンテナで、マスター暗号化キーを設定します。

ADMINISTER KEY MANAGEMENT SET KEY

IDENTIFIED BY EXTERNAL STORE

CONTAINER = CURRENT;

17. このコンテナ内のすべてのPDBでタグ付きマスター暗号化キーを作成し、アクティブ化します。タグ付きマスター暗号化キーをPDBに追加する利点は、特定のPDBに属するキーを簡単に識別できることです。

a. 各PDBに接続し、次のSELECT文を実行して、PDBのマスター暗号化キーのタグとしてPDB名とタイムスタンプを含むADMINISTER KEY MANAGEMENTコマンドを作成します。

コピー

コピー

コピー

403

Page 404: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CONNECT sec_admin@pdb_name AS SYSKM

Enter password: password

SELECT ' ADMINISTER KEY MANAGEMENT SET KEY

USING TAG '''||SYS_CONTEXT('USERENV', 'CON_NAME')||' '||

TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')||'''

IDENTIFIED BY EXTERNAL STORE;' "SET KEY COMMAND" FROM DUAL;

b. このSELECT文の生成済出力を実行します。例:

ADMINISTER KEY MANAGEMENT SET KEY

USING TAG 'pdb_name date time'

IDENTIFIED BY EXTERNAL STORE;

18. すべてのノードで、自動ログイン・ウォレットにOracle Key Vaultパスワードを追加し、Oracle Key Vaultへの自動ログイン接続を有効にします。Oracle RACでは、このステップは必須です。自動ログイン接続をOracle Key Vaultに含めることは、Oracle RACノードが自動的に再起動される場合(たとえば、opatchautoパッチ・ツールを使用して四半期ごとのリリース・アップグレードを適用する場合)に特に重要です。

ADMINISTER KEY MANAGEMENT ADD SECRET 'Oracle_Key_Vault_password'

FOR CLIENT 'HSM_PASSWORD'

TO LOCAL AUTO_LOGIN KEYSTORE '/u01/opt/oracle/product/tde';

19. ルート・コンテナで、ALTER SYSTEM文を実行して、TDE_CONFIGURATIONパラメータを変更します。例:

ALTER SYSTEM SET TDE_CONFIGURATION =

"KEYSTORE_CONFIGURATION=OKV|FILE"

SCOPE = BOTH SID = '*';

コピー

コピー

コピー

コピー

404

Page 405: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

20. CREATE TABLESPACEコマンドに暗号化句が含まれていない場合でも、AES128アルゴリズム(またはステップ14で指定したアルゴリズム)を使用して新しい表領域を常に暗号化するように、データベースのデフォルトの動作を変更します。任意のノードでこの文を1回実行します。

ALTER SYSTEM SET ENCRYPT_NEW_TABLESPACES = ALWAYS SCOPE = BOTH

SID = '*';

21. ルートから、SYS.LINK$およびSYS.SCHEDULER$_CREDENTIALシステム表にあるデータベース・リンクについてAES256を使用して機密資格証明データを暗号化します。このコマンドには、SYSKM管理権限が必要です。

sqlplus c##sec_admin as syskm

Enter password: password

ALTER DATABASE DICTIONARY ENCRYPT CREDENTIALS;

22. PDBにログインし、表領域を作成します。たとえば、protectedという名前の表領域を作成するには、次のようにします。

CREATE TABLESPACE protected DATAFILE SIZE 50M;

23. 暗号化句が省略されていても、表領域が暗号化されていることを確認します。

SELECT C.NAME AS pdb_name, T.NAME AS tablespace_name,

E.ENCRYPTIONALG AS ALG

FROM V$TABLESPACE T, V$ENCRYPTED_TABLESPACES E, V$CONTAINERS C

WHERE E.TS# = T.TS# AND E.CON_ID = T.CON_ID AND E.CON_ID =

C.CON_ID

ORDER BY E.CON_ID, T.NAME;

24. 作成した暗号化済の表領域に、表を作成します。例:

コピー

コピー

コピー

コピー

405

Page 406: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE TABLE SYSTEM.test TABLESPACE protected

AS SELECT * FROM DBA_OBJECTS;

25. この表から選択して、暗号化データを読み取れることを確認します。

SELECT COUNT(*), OWNER FROM SYSTEM.test

GROUP BY OWNER

ORDER BY 1 DESC;

26. PDBで、既存の表領域を暗号化します。オプションで、SYSTEM、SYSAUXおよびUSERS表領域を暗号化します。暗号化アルゴリズムを省略すると、デフォルトのアルゴリズム(AES128またはステップ14で指定したアルゴリズム)が適用されます。

ALTER TABLESPACE tablespace_name ENCRYPTION ONLINE ENCRYPT;

27. オプションで、構成を検証します。

a. Oracle Key Vaultへの自動ログインが機能していることを確認します。これは、データベースを再起動し、PDBにログインし、暗号化された表から選択することでテストできます。データベースを再起動するには:

$ srvctl stop database -db database_name -o immediate

$ srvctl start database -db database_name

PDBにログインした後、SYSTEM.test表から選択します。

SELECT COUNT(*), OWNER FROM SYSTEM.test

GROUP BY OWNER

ORDER BY 1 DESC;

b. オープンしているすべてのPDBでマスター暗号化キーの再キー操作が成功していることを確認します。最初に、SYSKM管理権限を持つユーザーとして次のSELECT文を実行し、PDB名とタイムスタンプを含むADMINISTER KEY MANAGEMENTコマンドを作成します。

コピー

コピー

コピー

コピー

コピー

406

Page 407: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SELECT ' ADMINISTER KEY MANAGEMENT SET KEY

USING TAG '''||SYS_CONTEXT('USERENV', 'CON_NAME')||' '||

TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS')||'''

FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE;' "RE-KEY

COMMAND" FROM DUAL;

次に、このSELECT文の生成済出力を実行します。

ADMINISTER KEY MANAGEMENT SET KEY

USING TAG 'pdb_name date time'

FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE;

c. ルート・コンテナから、以前に暗号化された機密資格証明データをSYS.LINK$システム表およびSYS.SCHEDULER$_CREDENTIALシステム表に再入力します。このコマンドには、SYSKM管理権限が必要です。

ALTER DATABASE DICTIONARY REKEY CREDENTIALS;

d. protected表領域とその表testを削除します。

DROP TABLESPACE protected

INCLUDING CONTENTS AND DATAFILES;

関連項目

サポートされる暗号化と整合性のアルゴリズム

親トピック: 透過的データ暗号化とOracle Real Application Clustersとの連携

透過的データ暗号化とSecureFilesとの連携LOBが格納されるSecureFilesには、圧縮、重複除外および暗号化の3つの機能があります。

透過的データ暗号化およびSecureFilesについてSecureFilesの暗号化では、LOBの暗号化機能を提供するためにTDEを使用します。

例: 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成

コピー

コピー

コピー

コピー

407

Page 408: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE TABLE文によって、暗号化を指定してSecureFiles LOBを作成できます。

例: 列パスワードを指定したSecureFiles LOBの作成CREATE TABLE文によって、列パスワードを指定してSecureFiles LOBを作成できます。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

透過的データ暗号化およびSecureFilesについてSecureFilesの暗号化では、LOBの暗号化機能を提供するためにTDEを使用します。

表を作成または変更する際に、SecureFiles記憶域を使用する必要があるSecureFiles暗号化やLOB列を指定できます。現在の透過的データ暗号化(TDE)構文を使用するか、またはLOB列に関するLOBパラメータの一部としてENCRYPT句を使用することによって、LOB列の暗号化を有効化できます。現在の構文またはLOBパラメータにおけるDECRYPTオプションによって、暗号化を無効化できます。

親トピック: 透過的データ暗号化とSecureFilesとの連携

例: 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成CREATE TABLE文によって、暗号化を指定してSecureFiles LOBを作成できます。

例8-1では、CREATE TABLE文でSecureFiles LOBを作成する方法を示しています。

例8-1 特定の暗号化アルゴリズムを使用したSecureFiles LOBの作成

CREATE TABLE table1 ( a BLOB ENCRYPT USING 'AES256')

LOB(a) STORE AS SECUREFILE (

CACHE

);

親トピック: 透過的データ暗号化とSecureFilesとの連携

例: 列パスワードを指定したSecureFiles LOBの作成CREATE TABLE文によって、列パスワードを指定してSecureFiles LOBを作成できます。

例8-2では、暗号化された列に対してパスワード保護を使用するSecureFiles LOBの作成例を示しています。

LOB列のすべてのLOBが、同じ暗号化の指定で暗号化されます。

例8-2 列パスワードを指定したSecureFiles LOBの作成

コピー

408

Page 409: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CREATE TABLE table1 (a VARCHAR2(20), b BLOB)

LOB(b) STORE AS SECUREFILE (

CACHE

ENCRYPT USING 'AES192' IDENTIFIED BY password

);

親トピック: 透過的データ暗号化とSecureFilesとの連携

透過的データ暗号化とOracle Call Interfaceとの連携透過的データ暗号化は、Oracle Call Interface (OCI)の動作に影響しません。

多くの実用的な目的のために、TDEは行の受渡し機能を除き、OCIに対して透過的です。行を使用可能にするキーは受信ポイントでは使用できないため、OCIの行の受渡し機能をTDEで使用できません。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

透過的データ暗号化とエディションとの連携透過的データ暗号化は、Oracle Databaseのエディション機能に影響しません。

多くの実用的な目的のために、TDEはエディションに対して透過的です。表は常に非エディション化オブジェクトです。TDEの列暗号化によって、表の列が暗号化されます。エディションは、TDEの表領域の暗号化によって影響されません。

親トピック: 他の Oracle機能における透過的データ暗号化の使用

マルチデータベース環境で機能するように透過的データ暗号化を構成同じサーバー上の各Oracle Database (同じOracleバイナリを共有しているが異なるデータ・ファイルを使用しているデータベースなど)は、それぞれ独自のTDEキーストアにアクセスする必要があります。

キーストアは、データベース間で共有されるようには設計されていません。設計によって、データベースごとに1つのキーストアが必要となっています。複数のデータベースには同じキーストアを使用できません。

複数データベース環境に対してキーストアの使用を構成するには、次のオプションのいずれかを使用します。

コピー

409

Page 410: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

オプション1: CDB (またはスタンドアロン・データベース)ごとに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータ(KEYSTORE_CONFIGURATION属性をFILEに設定)を個別に設定することで、キーストアの場所を指定します。WALLET_ROOTパラメータを有効にするには、KEYSTORE_CONFIGURATION属性にFILEを設定する必要があります。

例:

WALLET_ROOT = $ORACLE_BASE/admin/db_unique_name

TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE"

オプション2: WALLET_ROOTおよびTDE_CONFIGURATIONが設定されておらず、データベースが同じOracleホームを共有している場合は、sqlnet.oraにWALLET_LOCATIONおよびENCRYPTION_WALLET_LOCATIONパラメータが設定されていないことを確認します。デフォルトでは、sqlnet.oraは$ORACLE_BASE/network/adminディレクトリ($ORACLE_BASEが設定されている場合)または$ORACLE_HOME/network/adminディレクトリにあります。これにより、$ORACLE_BASE/admin/db_unique_name/wallet ($ORACLE_BASEが設定されている場合)または$ORACLE_HOME/admin/db_unique_name/walletディレクトリにあるキーストアをOracle Databaseが使用できます。オプション3: オプション1および2が実行可能でない場合、個別のsqlnet.oraファイルを各データベースにつき1つ使用します。TNS_ADMIN環境変数が、正しいデータベース構成を指すように正確に設定されていることを確認します。ただし、リリース19c以降では、WALLET_ROOTおよびTDE_CONFIGURATION初期化パラメータが優先され、sqlnet.oraのENCRYPTION_WALLET_LOCATIONパラメータは非推奨になったことに注意してください。

注意: 他のデータベースからキーストアを使用することによって、データの一部または全部が失われる可能性があります。

関連項目

透過的データ暗号化のキーストア検索順序

SQL*Plusユーザーズ・ガイドおよびリファレンス

親トピック: 他の Oracle機能における透過的データ暗号化の使用

コピー

410

Page 412: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

9 sqlnet.oraを使用した透過的データ暗号化キーストアの構成キーストアの場所の構成にWALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用しない場合は、sqlnet.oraファイルを使用できます。

sqlnet.oraファイル内のキーストアの場所についてキーストアの場所を構成するには、WALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用することをお薦めしますが、sqlnet.oraファイルを構成することもできます。

ソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成sqlnet.oraファイルを使用すると、通常のファイル・システム用、複数データベースのアクセス用、およびOracle Automatic Storage Management (ASM)用にキーストアの場所を構成できます。

例: 通常のファイル・システム用のソフトウェア・キーストアの構成通常のファイル・システムにソフトウェア・キーストアを構成できます。

例: 複数のデータベースでsqlnet.oraファイルを共有する場合のソフトウェア・キーストアの構成複数のデータベースでsqlnet.oraファイルを共有するように構成できます。

例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成Oracle Automatic Storage Management (ASM)ディスク・グループにsqlnet.oraを構成できます。

親トピック: 透過的データ暗号化の使用

sqlnet.oraファイルでのキーストアの場所についてキーストアの場所を構成するには、WALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用することをお薦めしますが、sqlnet.oraファイルを構成することもできます。

412

Page 413: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ただし、かわりにsqlnet.oraファイルを構成する場合は、WALLET_ROOTおよびTDE_CONFIGURATIONパラメータを使用したインスタンスの初期化ファイル・ベースのアプローチが推奨されることに留意してください。データベースへの各接続でsqlnet.oraパラメータ・ファイルの内容が再読込みされるため、sqlnet.oraの使用時に矛盾した構成となる可能性が回避されます。インスタンスの初期化ファイル・ベースのアプローチでは、データベース・インスタンスの起動時にWALLET_ROOTパラメータが一度のみ読み取られるため、矛盾するリスクはありません。マルチテナント環境では、WALLET_ROOT初期化パラメータは、各テナントPDBで独立した管理操作を実行できるため、sqlnet.oraの使用よりも優先されます。

WALLET_ROOTおよびTDE_CONFIGURATION初期化パラメータを設定しなかった場合、OracleDatabaseはsqlnet.oraファイルでキーストアのディレクトリの場所を確認します。これは、キーストアがソフトウェア・キーストアであろうと、ハードウェア・モジュール・セキュリティ(HSM)キーストアであろうと、Oracle Key Vaultのキーストアであろうと、適用されます。sqlnet.oraファイルを編集して、作成する予定のキーストアのディレクトリ場所を定義する必要があります。このディレクトリが事前に存在していることを確認してください。このディレクトリは空であると理想的です。

Oracle Real Application Clusters (Oracle RAC)またはマルチテナント環境でsqlnet.oraファイルを編集する必要がある場合は、次の動作に注意してください。

Oracle RAC環境: srvctlユーティリティを使用していて、sqlnet.ora構成ファイルに環境変数を含める場合は、各環境変数をオペレーティング・システムとsrvctl環境の両方に設定する必要があります。キーストアはOracle Automatic Storage Management (ASM)やNFSなどの共有ファイル・システムに置くことをお薦めします。マルチテナント環境: マルチテナント環境でTDE構成にsqlnet.oraが使用されている場合、統一モードのみがサポートされます。分離モードは、TDE構成にWALLET_ROOTおよびTDE_CONFIGURATIONパラメータが使用されている場合にのみサポートされます。

sqlnet.oraファイルで、ENCRYPTION_WALLET_LOCATIONパラメータを設定してキーストアの場所を指定する必要があります。ただし、Oracle Databaseリリース19c以降では、WALLET_ROOTおよびTDE_CONFIGURATION初期化パラメータの使用が優先され、ENCRYPTION_WALLET_LOCATIONは非推奨となったことに注意してください。

デフォルトでは、sqlnet.oraファイルは、$ORACLE_BASE/network/adminディレクトリ(ORACLE_BASE環境変数が設定されている場合)、$ORACLE_HOME/network/adminの場所、またはTNS_ADMIN環境変数で設定された場所にあります。正しいsqlnet.oraファイルを指すようにTNS_ADMIN環境変数が適切に設定されていることを確認してください。キーストアの場所がsqlnet.oraファイルに設定されていない場合、V$ENCRYPTION_WALLETビューにはデフォルトの場所が表示されます。キーストアの場所およびステータスは、V$ENCRYPTION_WALLETビューで確認できます。

413

Page 414: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目

透過的データ暗号化のキーストア検索順序

SQL*Plusユーザーズ・ガイドおよびリファレンス

『Oracle Database Net Servicesリファレンス・ガイド』

親トピック: sqlnet.oraを使用した透過的データ暗号化キーストアの構成

ソフトウェア・キーストアの場所用のsqlnet.oraファイルの構成sqlnet.oraファイルを使用すると、通常のファイル・システム用、複数データベースのアクセス用、およびOracle Automatic Storage Management (ASM)用にキーストアの場所を構成できます。

通常のファイル・システムでソフトウェア・キーストアを作成するには、sqlnet.oraファイルを編集するときに次のフォーマットを使用します。

ENCRYPTION_WALLET_LOCATION=

(SOURCE=

(METHOD=FILE) (METHOD_DATA=

(DIRECTORY=path_to_keystore)))

path_to_keystoreが環境変数を含むことになる場合、データベース・インスタンスが起動した環境で、データベースを起動する前に、この変数を設定します。srvctlユーティリティを使用してデータベースを起動する場合、次のコマンドを使用してsrvctl環境にも環境変数を設定します。

srvctl setenv database -db database_name -env

"environment_variable_name=environment_variable_value"

ノート: Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。WALLET_ROOTおよびTDE_CONFIGURATIONは、通常のファイル・システム、複数のデータベース・アクセスおよびASMに使用できます。

関連項目

コピー

コピー

414

Page 415: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ステップ1: ソフトウェア・キーストアの場所とタイプの構成

親トピック: sqlnet.oraを使用した透過的データ暗号化キーストアの構成

例: 通常のファイル・システム用のソフトウェア・キーストアの構成通常のファイル・システムにソフトウェア・キーストアを構成できます。

次の例では、データベース名がorclである通常のファイル・システム用にsqlnet.oraファイルにソフトウェア・キーストアの場所を構成する方法を示します。

ENCRYPTION_WALLET_LOCATION=

(SOURCE=

(METHOD=FILE)

(METHOD_DATA=

(DIRECTORY=/etc/ORACLE/WALLETS/orcl)))

ノート: Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。

関連項目

ステップ1: ソフトウェア・キーストアの場所とタイプの構成

親トピック: sqlnet.oraを使用した透過的データ暗号化キーストアの構成

例: 複数のデータベースでsqlnet.oraファイルを共有する場合のソフトウェア・キーストアの構成複数のデータベースでsqlnet.oraファイルを共有するように構成できます。

次の例では、複数のデータベースでsqlnet.oraファイルを共有する場合にソフトウェア・キーストアの場所を構成する方法を示します。

ENCRYPTION_WALLET_LOCATION=

(SOURCE=

(METHOD=FILE)

コピー

コピー

415

Page 416: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

(METHOD_DATA=

(DIRECTORY=/etc/ORACLE/WALLETS/$ORACLE_SID/)))

ノート: Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。これらのパラメータは、各データベースに対して個別に設定する必要があります。

関連項目

ステップ1: ソフトウェア・キーストアの場所とタイプの構成

親トピック: sqlnet.oraを使用した透過的データ暗号化キーストアの構成

例: Oracle Automatic Storage Managementディスク・グループ用のソフトウェア・キーストアの構成Oracle Automatic Storage Management (ASM)ディスク・グループにsqlnet.oraを構成できます。

次のフォーマットは、ASMディスク・グループでソフトウェア・キーストアの場所を作成する場合にソフトウェア・キーストアを構成する方法を示しています。

ENCRYPTION_WALLET_LOCATION=

(SOURCE=

(METHOD=FILE)

(METHOD_DATA=

(DIRECTORY=+disk_group_name/path_within_the_ASM_diskgroup)))

ノート: Oracle Databaseリリース19c以上では、ENCRYPTION_WALLET_LOCATIONパラメータは非推奨です。かわりに、WALLET_ROOT静的初期化パラメータおよびTDE_CONFIGURATION動的初期化パラメータを使用して、ウォレットの場所を構成します。

関連項目

自動ストレージ管理のためのキーストアの構成

親トピック: sqlnet.oraを使用した透過的データ暗号化キーストアの構成

コピー

416

Page 418: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

10 透過的データ暗号化に関するよくある質問透過的データ暗号化の透過およびパフォーマンスに関して、ユーザーからよく質問が寄せられます。

透過的データ暗号化に関する透過の質問透過的データ暗号化は、データの透過性を様々な方法で扱います。

透過的データ暗号化に関するパフォーマンスの質問透過的データ暗号化を使用する際には、検討する必要のあるパフォーマンスの問題がいくつかあります。

親トピック: 透過的データ暗号化の使用

透過的データ暗号化に関する透過の質問透過的データ暗号化は、データの透過性を様々な方法で扱います。

セキュリティ監査により、透過的データ暗号化(TDE)で使用する暗号化について詳細な質問を受ける場合があります。TDEのキー、長さおよびキーストアに関する情報を求められ、PCI-DSSなどの基準要件に直接比較されます。この項では、TDE暗号化およびキー管理の重要な詳細について説明します。この情報は、Oracle Database 12c (12.1.0.2)を基準にしています。これは、TDE顧客が監査の質問に迅速および正確に回答するのに役立ちます。

1. 透過的データ暗号化は、使用しているアプリケーション・ソフトウェアに対応していますか。

透過的データ暗号化は、インバウンドのSQL文またはアウトバウンドのSQL問合せの結果を変更しないので、デフォルトでアプリケーションに対応しています。オラクル社では、オラクル社およびサード・パーティの特定のアプリケーション・ソフトウェアを内部でテストおよび検証し、役立つデプロイ時のヒントやスクリプトを得たり、パフォーマンス・プロファイルを評価しています。

418

Page 419: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化とDBMS_CRYPTO PL/SQLパッケージには違いがあることに注意してください。このパッケージは、お客様の別のユースケース向けです。これはAPIおよびツールキットのソリューションであるため、透過ではありません。

2. 透過的データ暗号化は、使用中のその他のOracle Databaseツールおよびテクノロジと対応していますか。

透過的データ暗号化の主な利点の1つは、高可用性クラスタ、記憶域の圧縮、バックアップの圧縮、データ移動、データのバックアップおよびリストア、データベースのレプリケーションなどでよく使用されるOracle Databaseツールおよびテクノロジと統合できることです。透過的データ暗号化に直接統合されているOracleテクノロジは、具体的には特にOracle RealApplication Clusters (Oracle RAC)、Oracle Recovery Manager (RMAN)、Oracle DataGuard、Advanced Compression、Oracle Data PumpおよびOracle GoldenGateです。透過的データ暗号化には、オラクル社がエンジニアリングした独自のシステム機能を最大限に活用するOracle Exadataとの統合という特別な利点があります。

透過的データ暗号化は、Oracle Databaseのセキュリティ機能ともうまく動作します。透過的データ暗号化では、付与された権限、ロール、Oracle Database Vaultレルム、仮想プライベート・データベースのポリシー、Oracle Label Securityのラベルがそのまま適用されます。これらおよびその他のセキュリティ機能は、透過的データ暗号化の暗号化と並行して使用できます。

3. 透過的データ暗号化に既知の制限や非互換性はありますか。

TDE列暗号化: TDE列暗号化では、データがSQLレイヤーを通過するとき、データを透過的に暗号化および復号化します。Oracleの一部の機能は、SQLレイヤーをバイパスするため、TDE列暗号化のメリットを受けません。次にTDE列暗号化でサポートされないデータベース機能および該当するそのソフトウェア・バージョン番号を示します。

マテリアライズド・ビュー・ログ(Oracle Database 11gリリース2より前がサポート対象外)

データ・ウェアハウスの同期および非同期チェンジ・データ・キャプチャ(CDC)

トランスポータブル表領域

LOB

セキュア・ファイルは、Oracle Database 11gリリース1で導入されたため、それより前のリリースのTDE列暗号化ではサポートされていませんTDE表領域暗号化: TDE表領域暗号化は、表領域に保存されているすべてのコンテンツを記憶域のブロック・レベルで暗号化し、通常は他のデータベース機能と競合しません。TDE表領域暗号化には、TDE列暗号化にある制限はありません。ただし、TDEで暗号化されたソースからTDEで暗号化された宛先に移動する際に、Oracle Data Pumpの圧縮および暗号化で完全トランスポータブル表領域(TTS)を使用できます。元のOracleウォレット・ファイルを上書きする必要なく、宛先データベース・ホストへの正しいマスター暗号化キーを取得するためにキー・エクスポートまたはキーストア(ウ

419

Page 420: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ォレット)マージ機能を使用できるように、Oracle Databaseリリース12c以降のデータベース・インスタンスを使用可能にする必要があります。このプロセスは標準TTS制限の影響を受けるため、互換性のあるエンディアンであるかどうかを忘れずにチェックする必要があります。

4. TDEではどのようなタイプのキーおよびアルゴリズムが使用されますか。TDEは、2つの異なる暗号化キー・セットに依拠しています。1つめの暗号化キー・セットはTDE表領域暗号化キーで、格納されているデータを透過的に暗号化および復号化するために使用します。DEKは、データベースにより自動的に生成され、暗号化された形でデータベースに内部的に格納され、多くの場合、シーンの裏側で管理されます。エンド・ユーザーとDEKが相互作用して、TDEで使用する暗号化アルゴリズムとキーの長さが選択されます(3DES168、AES128、AES192またはAES256)。この選択は暗号化列を含む各表および各暗号化表領域に対して個別に行われます。また、DEKを表キーとして参照(列暗号化)するか、または表領域キーとして参照(表領域暗号化)するか、通知されます。表キーは暗号ブロック連鎖(CBC)操作モードで使用し、表領域キーは暗号フィードバック(CFB)操作モードで使用します。2つめの暗号化キー・セットは、現行および過去の暗号化キー(KEK)からなり、マスター暗号化キーとも呼ばれます。マスター暗号化キーは、データベースにより自動的に生成され、必要に応じDEKの暗号化および複号化のために自動的に使用され、保護されたキーストアに外部的に格納されます。ユーザーは、現行マスター暗号化キーとやり取りして、周期的なキー更新、特定のキー属性の変更などを行います。通常、マスター暗号化キーのキーストアは、Oracleウォレット(そのまま使用できるソリューション)またはOracle Key Vault (特別なキー管理製品)のいずれかです。データベースが一度に使用するTDEマスター・キーは1つのみですが、キー更新されたすべてのマスター暗号化キーは、暗号化データ・バックアップを長期間リカバリするためにキーストアに残ります。マスター暗号化キーは常にAES256です。これらは、CBC操作モードを使用して、DEKを暗号化および復号化します。DEKおよびマスター暗号化キーのいずれも、基本となるキー・データは直接表面に現れません。エンド・ユーザーは、TDEの管理に必要なキーの属性のみを見ることができます。

5. マスター暗号化キーを含むOracleキーストアはどのように保護されますか。Oracleウォレットをマスター暗号化キーのキーストアとして使用する場合、パスワードベース、自動ログインおよびローカル自動ログインの異なる3タイプのキーストアについて考慮します。これらのキーストアはいずれも、マスター暗号化キーを外部化するため、TDE暗号化データから分離しています。厳密なファイル許可およびその他のセキュリティの手段で保護されたローカルまたはネットワーク・ディレクトリに、ウォレットを配置することをお薦めします。

パスワードベースのウォレットは、暗号化キー・ストレージ・ファイル(ewallet.p12)で、PKCS #12標準に準拠します。これは、PKCS #5標準に従い、パスワードにより導出されるキーによって暗号化されます。ユーザーは、ウォレットを開き、そのコンテンツを復号化し、キーへのアクセスを取得するためのデータベースに対するパスワード

420

Page 421: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を含むコマンドを入力する必要があります。パスワードベースのウォレットは、 マスター・キーのデフォルト・キーです。以前は、これは3DES168暗号化アルゴリズムおよびCBC操作モードを使用して暗号化されていました。orapkiコマンド、convertwalletを使用して、パスワードベースのウォレットをAES256およびCBC操作モードに変換できます。『Oracle Databaseセキュリティ・ガイド』に、orapkiを使用したウォレットの変換の詳細が記載されています。自動ログイン・ウォレット(cwallet.sso)は、ユーザーの相互作用なしにウォレット・パスワードを入力してデータベースを起動する必要がある特殊な場合に、オプションで標準パスワードベースのウォレットから導出されます。自動ログイン・ウォレットを使用する場合は、マスター暗号化キーのキー更新のために必要であるため、マスター・パスワードベース・ウォレットを保持する必要があります。加えて、厳密なファイル許可により保護されるローカルまたはネットワーク・ディレクトリに自動ログイン・ウォレットを格納するためのベスト・プラクティスとして、ファイル・コンテンツはセキュリティを追加する独占メソッドを使用してデータベースによりスクランブルされます。自動ログイン・ウォレットの変化形であるローカル自動ログイン・ウォレットは、動作が類似しています。ローカル自動ログイン・ウォレットとの大きな違いは、ファイルが作成されたホスト・マシンから取得した追加ファクタを使用してコンテンツをスクランブルすることです。これにより、ローカル自動ログイン・ウォレットが別のホスト・マシン上で使用できなくなります。ホスト・ファクタおよびスクランブル・テクニックの詳細は、独占的です。

6. Oracle Key Vaultとは何ですか、またTDEマスター・キーをどのように管理するのですか。Oracle Key Vaultは、TDEマスター・キー、Oracleウォレット、Javaキーストアなどを中心的に管理します。これは、キーの増加およびキー・ストレージ・ファイルを制御するのに役立ちます。これには、TDEおよび他のOracleスタックのコンポーネント専用の最適化が含まれます。TDEでOracle Key Vaultを使用する方法の詳細は、Oracle Technology Networkの製品ページ、および『Oracle Key Vault管理者ガイド』を参照してください。

親トピック: 透過的データ暗号化に関するよくある質問

透過的データ暗号化に関するパフォーマンスの質問透過的データ暗号化を使用する際には、検討すべきパフォーマンスの問題がいくつかあります。

1. 透過的データ暗号化によって生じる典型的なパフォーマンス・オーバーヘッドはどのようなものですか。

透過的データ暗号化の正確なパフォーマンス・テストの作成には、様々な変動要素が関係します。テスト環境、テスト・ケースまたはワークロード、計測メトリックまたは方法などにより、結果は変わります。オラクル社は、考えられるすべてのシナリオに当てはまる、パフォーマンス・オーバーヘッドの具体的なパーセンテージを保証することはできません。実際に、透過的データ暗号化の多くのお客様のパフォーマンス・テストでは1桁台前半のパーセンテージが示されますが、必ずそうなるわけではありません。オーバーヘッドがそれぞ

TDE

421

Page 422: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

れ1パーセントおよび2パーセントである顧客事例が、Oracle Technology Networkの次のURLで公開されています。http://streaming.oracle.com/ebn/podcasts/media/12740910_ColumbiaU_12

0312.mp3

可能な場合、Oracle Real Application Testing (Oracle RAT)を使用して実際の本番ワークロードを取得し、透過的データ暗号化に対してリプレイして、ご自身の環境で想定されるパフォーマンスのオーバーヘッドの実際の目安を得てください。

関連項目:

透過的データ暗号化のパフォーマンスと記憶域のオーバーヘッド

Oracle Real Application Testingのオプションの詳細は、Oracle Database Testingガイドを参照してください。

2. 透過的データ暗号化のパフォーマンス調整はどのように最適化するのでしょうか。

TDE列暗号化:

暗号化の処理を、必ず保護する必要のある列のサブセットに限定します。また、オプションの整合性チェックの機能をオフにします。列を暗号化したら、列の索引を再構築します。

TDE表領域暗号化: TDE表領域暗号化では、SGAバッファ・キャッシュ内のメモリーに、暗号化されていないデータをキャッシュしてパフォーマンスを向上させます。この機能により、ディスクではなくSGAから取得することで、SELECT問合せをユーザーが実行した際に必ず行われる多数の暗号化操作が減少します。(ディスクからの取得は、データベースによる復号化操作の実行を強制します。)このパフォーマンスの最適化を最大限に利用できるよう、SGAのバッファ・キャッシュが十分に大きいことを確認します。Intel AES-NIおよびOracle SPARC T4/T5に搭載されているCPUベースの暗号アクセラレーションをサポートするハードウェアおよびソフトウェアを使用することでも、パフォーマンスを大きく向上させることができます。この機能を利用するには、最新バージョンのデータベースが実行され、最新バージョンのオペレーティング・システムがインストールされ、CPU/コアに暗号アクセラレーション回路を搭載したハードウェアが使用されている必要があります。

データベースの圧縮も、透過的データ暗号化のパフォーマンスをさらに向上させます。すでに圧縮されているデータで暗号化処理が発生して、暗号化および復号化するデータの総量が減少するためです。概要:

次のMy Oracle Supportからダウンロードできる最新のパッチを適用します。

https://support.oracle.com

422

Page 423: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号化アルゴリズムを指定する際には、AESは3DESよりもわずかに高速であることを覚えておいてください。可能な場合は、AES128を使用します。パフォーマンス上のメリットは少ないことに注意してください。パフォーマンス上の追加のメリットがあるExadataを使用します。OracleExadataの詳細は、Oracle Database Testingガイドを参照してください。

3. TDEのパフォーマンスを低下させる可能性のある問題は具体的には何で、それはどのように回避できますか。

ハードウェアやデータベースのバージョンやオペレーティング・システムが古いなどの要因により、データベースのホスト・マシンでCPUベースのハードウェア・アクセラレーションを使用できない場合、TDEの表領域のパフォーマンスは遅くなります。

特定のデータベースのワークロードに関し、次に注意してください。(Oracleデータ・ウェアハウスへのデータのバルク・ロードの実行など)データ・セット全体の一度での暗号化: 新しいデータをデータベースまたはデータ・ウェアハウスにバルク・ロードする際、暗号化のパフォーマンスの低下がみられました。新しいデータはSGAにキャッシュできないので、TDE表領域暗号化のパフォーマンスの最適化がバイパスされます。したがって、透過的データ暗号化はこの種の操作には何もパフォーマンス上のメリットはありません。

次のガイドラインに従ってください。CPUベースの暗号化アクセラレーションを搭載したサーバーでデータベースを実行していることを確認します。これにより、復号化操作のみでなく、(新しいデータをロードする)暗号化操作も同様に高速化されます。データ・セットを事前に暗号化し、トランスポータブル表領域(TTS)を使用してデータベースにロードすることで、暗号化処理を帯域外で実行します。可能な場合には、この処理をパラレル化します。これには、データベース・インスタンスで必要なTDEキーを宛先データベースのキーストアにコピーする必要があります。暗号化およびロードに時間枠が決まっている場合、この手順は実行不可能で、これらは逐次実行する必要があります。TDE列暗号化の使用を検討してください。表領域全体を暗号化するのではなく、機密で規制対象になる少数の列のみを暗号化します。

(SGAからは読み込まず、ディスクから直接読み込んで表を完全にスキャンするなど)データ・セット全体の一度での復号化:

データが記憶域から直接読み込まれる表を完全にスキャンする問合せを実行する場合、暗号化のパフォーマンスの低下がみられます。TDE表領域暗号化の特定のパフォーマンスの最適化が省略されます(キャッシングなし)。したがって、透過的データ暗号化はこの種の操作には何もパフォーマンス上のメリットはありません。

次のガイドラインに従ってください。

423

Page 424: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CPUベースの暗号化アクセラレーションを搭載したサーバーでデータベースを実行していることを確認します。データがキャッシュから読み込まれる場合、より大容量のSGAサイズで表全体に対するスキャン問合せを再テストします。Oracleイベント番号10949によってダイレクト・パス読取りが無効化されるようにします。表のフル・スキャン操作で少量のデータのみがスキャンされるよう、データベースをパーティション化します。本番データベースでは、このようなシナリオ(つまり、スキャンするデータの総量を制限するシナリオ)でよくパーティション化が使用されます。TDE列暗号化の使用を検討してください。表領域全体を暗号化するのではなく、機密で規制対象になる少数の列のみを暗号化します。

親トピック: 透過的データ暗号化に関するよくある質問

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

424

Page 425: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

第II部 Oracle Data Redactionの使用第II部では、Oracle Data Redactionの使用方法について説明します。

Oracle Data Redactionの概要Oracle Data Redactionとは、機密データを、リアルタイムでリダクションする機能です。

Oracle Data Redactionの特徴と機能Oracle Data Redactionには、データをリダクションする様々な方法があります。

Oracle Data Redactionポリシーの構成Oracle Data Redactionポリシーでは、表の列タイプおよび使用するリダクションのタイプに応じて、列でデータをどのようにリダクションするかを定義します。

Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理Oracle Enterprise Manager Cloud Control (Cloud Control)では、Oracle Data Redactionのポリシーと形式を管理できます。

Oracle Data RedactionとOracle Database機能の併用Oracle Data Redactionは他のOracle機能とともに使用できますが、一部のOracle機能にはOracleData Redactionについて制限がある場合があります。

Oracle Data Redactionのセキュリティの考慮事項Oracleでは、Oracle Data Redactionを使用する場合のガイドラインを提供しています。

425

Page 427: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

11 Oracle Data Redactionの概要Oracle Data Redactionとは、機密データを、リアルタイムでリダクションする機能です。

Oracle Data RedactionとはOracle Data Redactionを使用すると、アプリケーションが発行する問合せから返されるデータをマスク(リダクション)できます。

Oracle Data Redactionを使用する状況アプリケーションおよびアプリケーション・ユーザーがアクセスする必要のある機密データを偽装しなければならない場合には、Oracle Data Redactionを使用します。

Oracle Data Redactionを使用する利点Oracle Data Redactionをデータの保護に使用するといくつかの利点があります。

Oracle Data RedactionのターゲットのユースケースOracle Data Redactionは、一般的なユースケース・シナリオに対応します。

親トピック: Oracle Data Redactionの使用

Oracle Data RedactionとはOracle Data Redactionを使用すると、アプリケーションが発行する問合せから返されるデータをマスク(リダクション)できます。

次の方法のいずれかを使用して、列データをリダクションできます。

完全リダクション。列データの内容をすべてリダクションします。問合せを行ったアプリケーション・ユーザーに返される、リダクションされた値は、列のデータ型によって異なります。たとえば、NUMBERデータ型の列はゼロ(0)でリダクションされ、文字データ型は空白1つでリダクションされます。部分リダクション。列データの一部をリダクションします。たとえば、社会保障番号の最後の4桁以外をアスタリスク(*)でリダクションできます。

427

Page 428: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

正規表現。正規表現を使用してリダクションするデータのパターンを検索できます。たとえば、正規表現を使用して、文字の長さが変化する可能性のある電子メール・アドレスをリダクションできます。これは、文字データのみで使用するように設計されています。ランダム・リダクション。問合せを行ったアプリケーション・ユーザーに表示されるリダクションされたデータは、列のデータ型に応じて、表示されるたびにランダムに生成された値として表示されます。リダクションなし。リダクション・タイプNoneを指定するオプションでは、リダクション・ポリシーが定義された表に対する問合せの結果に影響を与えずに、ポリシーの内部動作をテストできます。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。

Oracle Databaseは、起動時、およびユーザーがデータにアクセスするとき(つまり問合せ実行時)にリダクションを適用します。このソリューションは、本番システムでも十分の機能します。データがリダクションされている間、処理中のすべてのデータは通常どおりに実行され、バックエンドの参照整合性制約は保持されます。

データ・リダクションは、クレジットカード業界のセキュリティ基準(PCI DSS)やサーベンス・オクスリー法などの業界の規則の順守に役立ちます。

関連項目

『Oracle Databaseセキュリティ・ガイド』

親トピック: Oracle Data Redactionの概要

Oracle Data Redactionを使用する状況アプリケーションおよびアプリケーション・ユーザーがアクセスする必要のある機密データを偽装しなければならない場合には、Oracle Data Redactionを使用します。

データ・リダクションを使用すると、いくつかの異なるリダクション・スタイルを使用して簡単にデータを偽装できます。

Oracle Data Redactionは、特定のアプリケーション・ユーザーに戻される、個人を識別できる情報(PII)の問合せの結果セットから、特定の文字をリダクションする必要がある場合に最適です。たとえば、末尾が4320の米国社会保障番号番号を、***-**-4320のように提示できます。

Oracle Data Redactionは特に、コール・センター・アプリケーションや読取り専用のアプリケーションに適しています。更新を実行してデータベースに書き戻すアプリケーションにOracle DataRedactionを使用する場合は注意してください。リダクションされたデータがこのデータベースに書き戻されることもあるからです。

親トピック: Oracle Data Redactionの概要

428

Page 429: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Data Redactionを使用する利点Oracle Data Redactionをデータの保護に使用するといくつかの利点があります。

これらの利点は次のとおりです。

異なるスタイルのリダクションから選択できます。

データは起動時にリダクションされるため、データ・リダクションは、データが常時変更されている環境に非常に適しています。中央となる1か所にリダクション・ポリシーを作成して、そこから簡単に管理できます。

データ・リダクション・ポリシーを使用して、データ・リダクション・ポリシーがアプリケーション・ユーザーの問合せの結果に適用されるタイミングを決定するために、実行時に使用できるSYS_CONTEXT値に基づいて、様々な種類の関数の条件を作成できます。

親トピック: Oracle Data Redactionの概要

Oracle Data RedactionのターゲットのユースケースOracle Data Redactionは、一般的なユースケース・シナリオに対応します。

データベース・アプリケーションにおけるOracle Data Redactionの使用Oracle Data Redactionは、データベース・アプリケーションに表示される機密データを保護します。

非定型データベース問合せにおけるOracle Data Redactionの考慮事項データベース・ユーザーによって実行される非定型の問合せの機密データをリダクションすると便利な場合に遭遇する可能性があります。

親トピック: Oracle Data Redactionの概要

データベース・アプリケーションにおけるOracle Data Redactionの使用Oracle Data Redactionは、データベース・アプリケーションに表示される機密データを保護します。

データ・リダクションは、元のデータ型と(オプションで)形式を維持するためアプリケーション・ユーザーに対して透過的です。データは同じバッファ、キャッシュ、記憶域に保持され、呼出し元にSQL問合せの結果が戻される直前に初めて変更されるので、データベースに対して非常に透過的です。リダクションは、基礎となる同じデータベースを使用するすべてのアプリケーションに一貫して適用されます。リダクションされたデータのみが表示されるアプリケーション・ユーザーを指定するには、SYS_CONTEXT関数でデータベースに渡されるアプリケーション・ユーザー情報をチェックします。データは、現在のデータベースまたはアプリケーション・ユーザーの属性に基づいてリダクションでき、特定のリダクション・ポリシーに複数の論理条件を実装できま

429

Page 430: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。また、データ・リダクションは、パフォーマンス・オーバーヘッドを最小化する方法で実装されます。このような特徴から、Oracle Data Redactionは、共通の本番データベースを共有する様々なアプリケーション、分析ツール、レポート・ツールおよび監視ツールを使用する場合に非常に適しています。この主要なターゲットは、アプリケーションの本番データのリダクションですが、Oracle Data Redactionは、テストおよび開発環境の機密データを保護するために、OracleEnterprise Manager Data Masking and Subsetting Packと組み合せて使用することもできます。

関連項目:

データ・マスキングおよびサブセッティングの詳細は、Oracle Data Masking and Subsettingガイドを参照してください。

Oracle Data RedactionとData Masking and Subsetting Pack

親トピック: Oracle Data Redactionのターゲットのユースケース

非定型データベース問合せにおけるOracle Data Redactionの考慮事項データベース・ユーザーによって実行される非定型の問合せの機密データをリダクションすると便利な場合に遭遇する可能性があります。

たとえば、本番アプリケーションのサポート中に、ユーザーは、非定型のデータベース問合せを実行して、アプリケーションの緊急な問題のトラブルシューティングを行って修正する必要がある場合があります。これは、「データベース・アプリケーションにおけるOracle Data Redactionの使用」で説明したアプリケーション・ベースのシナリオとは異なります。一般に、アプリケーション・ベースのシナリオでは、SQL問合せのバインドされたセットを生成し、定義されたデータベース・アカウントを使用して、権限は固定されています。

Oracle Data Redactionは、データベースに対して非定型問合せを実行するデータベース・ユーザーにデータが公開されることを防ぐために設計されているわけではありませんが、誤ってデータが公開される危険性を少なくする追加のセキュリティ層として利用できます。そのようなユーザーは、データを変更したり、データベース・スキーマを変更したり、SQL問合せインタフェースを完全に回避する権限があるため、悪質なユーザーは、特定の状況ではデータ・リダクション・ポリシーをバイパスすることができます。

Oracle Databaseのセキュリティ・ツールは、全体的なセキュリティを向上させるために同時に使用するように設計されています。Oracle Data Redactionを補完するものとして1つ以上のこれらのツールをデプロイすることで、全体的なセキュリティ体制を改善することができます。

関連項目

Oracle Data Redactionの一般的なセキュリティ上のガイドライン

親トピック: Oracle Data Redactionのターゲットのユースケース

430

Page 432: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

12 Oracle Data Redactionの特徴と機能Oracle Data Redactionには、データをリダクションする様々な方法があります。

全データをリダクションする完全データ・リダクション完全データ・リダクションでは、表またはビューの指定した列の内容全体がリダクションされます。

データのセクションをリダクションする部分データ・リダクション部分データ・リダクションでは、表示される出力の一部をリダクションします。

データのパターンをリダクションする正規表現正規表現によって、パターン検索に基づいて列データの値内にある特定のデータをリダクションします。

NULL値を使用したリダクション列データをNULL値で置き換えてリダクションするOracle Data Redactionポリシーを作成できます。

ランダム値を生成するランダム・データ・リダクションランダム・データ・リダクションでは、値全体がランダムな値に置換されてリダクションされます。

データ型に基づいた完全、部分およびランダム・リダクションの比較完全、部分およびランダムのどのデータ・リダクション方式を使用するかによって、Oracle組込み、ANSI、ユーザー定義、およびOracle提供のデータ型に対する影響は異なります。

テストを目的にリダクションしない場合リダクションを実行しないデータ・リダクション・ポリシーを作成できます。

432

Page 433: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

名前付きデータ・リダクション・ポリシー式の集中管理複数の表およびビューの列に使用できる、名前付きポリシー式のライブラリを作成できます。

親トピック: Oracle Data Redactionの使用

全データをリダクションする完全データ・リダクション完全データ・リダクションでは、表またはビューの指定した列の内容全体がリダクションされます。

デフォルトでは、出力は次のように表示されます。

文字データ型: 出力テキストは、空白1つです。

数値データ型: 出力テキストはゼロです(0)です。

日時データ型: 出力テキストは、2001年1月1日に設定されており、01-JAN-01と表示されます。

完全リダクションがデフォルトで、これは、データ・リダクション・ポリシーで列を指定されているが、function_typeパラメータ設定が指定されていないときに使用されます。完全リダクションにfunction_typeパラメータ設定を設定するには、DBMS_REDACT.ADD_POLICYプロシージャを実行するときに、次の設定を入力します。

function_type => DBMS_REDACT.FULL

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを使用すると、完全リダクションの出力を別の値に変更できます。

関連項目

完全リダクション・ポリシーを作成する構文

親トピック: Oracle Data Redactionの特徴と機能

データのセクションをリダクションする部分データ・リダクション部分データ・リダクションでは、表示される出力の一部をリダクションします。

実際のデータ内に、リダクションを開始する位置、その位置からリダクションする文字数および使用するリダクション文字を設定できます。このタイプのリダクションは、なんらかの方法でデ

コピー

433

Page 434: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ータがリダクションされたことを、データを表示しているユーザーに明らかにしたい場合に便利です。通常、このタイプのリダクションは、クレジット・カードやID番号に使用します。

部分データ・リダクションでは、データの幅が固定されている必要があることに注意してください。可変長の文字列値を含む列をリダクションする場合は、正規表現を使用する必要があります。

部分リダクションを指定するには、DBMS_REDACT.ADD_POLICYプロシージャのfunction_typeパラメータをDBMS_REDACT.PARTIALに設定し、function_parametersパラメータを使用して部分リダクション動作を定義する必要があります。

部分データ・リダクションで表示される出力は、次のとおりです。

文字データ型: 部分的にリダクションする場合、987-65-4320という値の社会保障番号(文字データ型内で文字列がハイフンで連結されている)をリダクションすると、次の例のように表示されます。右側のコードは文字データのリダクション方法を指定します。このコードで、実際のデータの期待される入力形式、リダクションされる出力の表示に使用する形式、リダクションの開始位置、リダクションに使用する文字、リダクションする文字数が指定されます。最初の例では、文字データ型の社会保障番号に事前定義された形式(以前のリリースでは「ショートカット」)を使用し、2番目の例では、番号間のハイフン(-)を保持しながら最初の5つの番号をアスタリスク(*)で置換します。

XXX-XX-4320 function_parameters =>

DBMS_REDACT.REDACT_US_SSN_F5,

***-**-4320 function_parameters => 'VVVFVVFVVVV,VVV-VV-

VVVV,*,1,5',

数値データ型: 部分的にリダクションされたNUMBERデータ型の社会保障番号987654328は、次のように表示されます。どちらも最初の5桁をリダクションします。最初の例では、NUMBERデータ型の社会保障番号のために設計されている事前定義された形式を使用し、2番目の例では、最初の5桁の番号が9で置換されます。

XXXXX4328 function_parameters =>

DBMS_REDACT.REDACT_NUM_US_SSN_F5,

999994328 function_parameters => '9,1,5',

コピー

コピー

434

Page 435: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

日時データ型: 部分的にリダクションされた日時の値を単純に別の日付に表示できます。たとえば、日付29-AUG-11 10.20.50.000000 AMは、次のように表示されます。最初の例では、月の日付が02 (d02という設定を使用)にリダクションされ、2番目の例では、月がDEC(m12を使用)にリダクションされます。大文字の値は、実際の月(M)、年(Y)、時間(H)、分(M)および秒(S)を示します。

02-AUG-11 10.20.50.000000 AM function_parameters =>

'Md02YHMS',

29-DEC-11 10.20.50.000000 AM function_parameters =>

'm12DYHMS',

関連項目

データのパターンをリダクションする正規表現

部分リダクション・ポリシーを作成する構文

親トピック: Oracle Data Redactionの特徴と機能

データのパターンをリダクションする正規表現正規表現によって、パターン検索に基づいて列データの値内にある特定のデータをリダクションします。

たとえば、ドメインのみが表示されるように電子メール・アドレスのユーザー名をリダクションできます(電子メール・アドレス[email protected]のhprestonを[redacted]に置き換えて、[redacted]@example.comと表示するなど)。リダクションを実行するには、DBMS_REDACT.ADD_POLICYプロシージャのfunction_typeパラメータをDBMS_REDACT.REGEXPまたはDBMS_REDACT.REGEXP_WIDTHのいずれかに設定し、さらに次のパラメータを使用して、正規表現を作成する必要があります。

文字列検索パターン(つまり、検索対象の値)で、例は次のとおりです。

regexp_pattern => '(.+)@(.+\.[A-Za-z]{2,4})'

この設定では、次の形式のパターンが検索されます。

one_or_more_characters@one_or_more_characters.2-

コピー

コピー

コピー

435

Page 436: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

4_characters_in_range_A-Z_or_a-z

regexp_pattern設定で一致した値を置換する置換文字列です。置換文字列は、主要な正規表現パターンの副次式に後方参照を含めることができます。次の例では、(regexp_pattern設定の) @記号の前にあるデータをテキスト[redacted]に置き換えます。\2設定は、2番目の一致グループであるregexp_pattern設定の(.+\.[A-Za-z]{2,4})を示します。

regexp_replace_string => '[redacted]@\2'

データの最初の文字などの文字列検索の文字の開始位置で、例は次のとおりです。

regexp_position => DBMS_REDACT.RE_BEGINNING

実行する検索および置換操作の種類(最初の出現、5回おきの出現、すべて出現)で、例は次のとおりです。

regexp_occurrence => DBMS_REDACT.RE_ALL

検索および置換操作のデフォルトの一致動作で、検索で大/小文字を区別するかどうかの例は次のとおりです(iはこれを大/小文字の区別なしに設定します)。

regexp_match_parameter => 'i

デフォルトのパラメータに加え、電話番号、電子メール・アドレスおよびクレジット・カード番号に、よく使用される正規表現を使用できるように事前定義された形式のセットを使用できます。

関連項目

正規表現ベースのリダクション・ポリシーを作成する構文

コピー

コピー

コピー

コピー

436

Page 437: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: Oracle Data Redactionの特徴と機能

NULL値を使用したリダクション列データをNULL値で置き換えてリダクションするOracle Data Redactionポリシーを作成できます。

この機能により、DBMS_REDACT.NULLIFYファンクションを使用して、表またはビューの列のすべての機密データを隠し、NULL値に置き換えることができます。このファンクションは、プロシージャDBMS_REDACT.ADD_POLICYまたはDBMS_REDACT.ALTER_POLICYのfunction_typeパラメータを使用して設定できます。

例:

function_type => DBMS_REDACT.NULLIFY

関連項目

DBMS_REDACT.NULLIFYリダイレクション・ポリシーの作成

親トピック: Oracle Data Redactionの特徴と機能

ランダム値を生成するランダム・データ・リダクションランダム・データ・リダクションでは、値全体がランダムな値に置換されてリダクションされます。

問合せの結果セットに表示されるリダクションされた値は、アプリケーション・ユーザーが問合せを実行するたびに、ランダムに変更されます。

このタイプのリダクションは、データがリダクションされていることを明らかにしたくない場合に便利です。ランダム・データか実際のデータか区別するのが難しい数値および日時データ型の場合に、特に最適です。

ランダム値として表示される出力は、次のように、リダクションされた列のデータ型によって異なります。

文字データ型: ランダムな出力は、文字が混合されています(たとえば、HTU[G{\pjkEWcK)。CHARとVARCHAR2のデータ型では、次に示すように動作が異なります。

CHARデータ型: リダクションされた出力の文字セットは、常に列の文字セットと同一になります。リダクションされた出力のバイト長は、常に列定義の長さ(つまり、表の作成時に指定した列の長さ)と同一になります。たとえば、列がCHAR(20)である場

20

コピー

437

Page 438: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

合、ユーザー問合せのリダクションされた出力には、ランダムな 文字が提供されます。VARCHAR2データ型: VARCHARデータ型のランダム・リダクションでは、リダクションされた出力の文字セットは、常に列の文字セットと同一になります。リダクションされた出力の長さは、列の実際のデータの長さに基づいて制限されます。実際のデータの長さを超える文字は表示されません。たとえば、列がVARCHAR2(20)で、リダクションされる行に長さ12の実際のデータが含まれている場合、その行に対するユーザー問合せのリダクションされた出力には、ランダムな12文字(20文字ではない)が提供されます。

数値データ型: 実際の各数値が、実際のデータの絶対値のモジュロである、ランダムな非負値に置換されてリダクションされます。このリダクション結果は、実際のデータの精度を超えないランダムな数値になります。たとえば、数値987654321は、数値12345678、13579、0または987654320のいずれかに置換されてリダクションされます。数値987654321、99987654321または-1に置換されることはありません。数値-123は、数値122、0または83に置換されてリダクションされますが、数値123、1123または-2のいずれかに置換されることはありません。

前述の例の唯一の例外は、実際の値が-1から9の間の整数である場合です。この場合、実際のデータは、ランダムな非負整数であるmodulo 10に置換されてリダクションされます。日時データ型: 日付データ型の値がランダム・データ・リダクションを使用してリダクションされる場合、Oracle Databaseには、実際のデータの日付と異なるランダムな日付が常に表示されます。

ランダム・リダクションを使用する設定は、次のとおりです。

function_type => DBMS_REDACT.RANDOM

関連項目

ランダム・リダクション・ポリシーを作成する構文

親トピック: Oracle Data Redactionの特徴と機能

データ型に基づいた完全、部分およびランダム・リダクションの比較完全、部分およびランダムのどのデータ・リダクション方式を使用するかによって、Oracle組込み、ANSI、ユーザー定義、およびオラクル社提供のデータ型に対する影響は異なります。

Oracle組込みデータ型のリダクション機能

コピー

438

Page 439: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

では、使用されるデータ・リダクション・ポリシーのタイプに応じてOracle組込みデータ型を扱います。

ANSIデータ型のリダクション機能Oracle Data Redactionでは、データ・リダクション・ポリシーのリダクション・タイプに応じて固有の方法でANSIデータ型を変換します。

組込みデータ型およびANSIデータ型の完全リダクション機能完全リダクションでは、デフォルトのリダクション済の値は、データ型がOracle組込みであるかANSIであるかによって異なります。

ユーザー定義データ型またはOracle提供データ型のリダクション機能Oracle Data Redactionでは、いくつかのデータ型はサポートされていません。

親トピック: Oracle Data Redactionの特徴と機能

Oracle組込みデータ型のリダクション機能Oracle Data Redactionでは、使用されるデータ・リダクション・ポリシーのタイプに応じてOracle組込みデータ型を扱います。

表12-1に、Oracle組込みデータ型のOracle Data Redactionのサポートを示します。

表12-1 Oracle組込みデータ型のリダクション・サポート

列のデータ型 完全 部分 正規表現 ランダム

文字 はい はい はい はい

数値 はい はい なし はい

Raw なし なし なし なし

日時 はい はい なし はい

インターバル なし なし なし なし

BFILE なし なし なし なし

BLOB はい なし なし なし

CLOB はい なし はい なし

NCLOB はい なし はい なし

ROWID なし なし なし なし

脚注1

脚注2

脚注3

脚注4

脚注5

Oracle Data Redaction

439

Page 440: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

UROWID なし なし なし なし

CHAR、VARCHAR2 (VARCHAR2(20000)などの長いVARCHAR2を含む)、NCHAR、NVARCHAR2を含みます

NUMBER、FLOAT、BINARY_FLOAT、BINARY_DOUBLEを含みます

LONG RAW、RAWを含みます

DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIMEZONEを含みます

INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECONDを含みます

親トピック: データ型に基づいた完全、部分およびランダム・リダクションの比較

ANSIデータ型のリダクション機能Oracle Data Redactionでは、データ・リダクション・ポリシーのリダクション・タイプに応じて固有の方法でANSIデータ型を変換します。

表12-2では、ANSIデータ型に対して、完全、部分およびランダムのリダクション・スタイルがどのように機能するかを、変換方法およびサポート・ステータスについて比較します。

表12-2 ANSIデータ型のリダクション・サポート

データ型 変換方法完全リダクション

部分リダクション 正規表現

NULLリダクション

ランダム・リダクション

CHARACTER(n)、

CHAR(n)

CHAR(n)に変換

はい はい はい はい はい

CHARACTERVARYING(n)、

CHARVARYING(n)

VARCHAR2(n)に変換

はい はい はい はい はい

脚注1

脚注2

脚注3

脚注4

脚注5

440

Page 441: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

NATIONALCHARACTER(n)、

NATIONALCHAR(n)、

NCHAR(n)

NCHAR(n)に変換

はい はい はい はい はい

NATIONALCHARACTERVARYING(n)、

NATIONAL CHARVARYING(n)、

NCHARVARYING(n)

NVARCHAR2(n)に変換

はい はい はい はい はい

NUMERIC[(p,s)]

DECIMAL[(p,s)]

NUMBER(p,s)に変換

はい はい はい はい はい

INTEGER、

INT、

SMALLINT

NUMBER(38)に変換

はい はい はい はい はい

FLOAT、

DOUBLEPRECISION

FLOAT(126)に変換

はい はい はい はい はい

REAL FLOAT(63)に変換

はい はい はい はい はい

GRAPHIC、

LONGVARGRAPHIC、

VARGRAPHIC、

TIME

変換なし なし なし なし なし なし

親トピック: データ型に基づいた完全、部分およびランダム・リダクションの比較

組込みデータ型およびANSIデータ型の完全リダクション機能完全リダクションでは、デフォルトのリダクション済の値は、データ型がOracle組込みであるかANSIであるかによって異なります。

441

Page 442: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ANSIデータ型のリダクション機能に、完全リダクションを使用するOracle組込みデータ型の列とANSIデータ型の列の両方のデフォルト設定を示します。

表12-3 完全リダクションを使用する列のデフォルト設定およびカテゴリ

データ型 デフォルトのリダクション値 データ型のカテゴリ

CHARACTER シングル・スペース(" ") Oracle組込み

CHARACTER(n)、

CHAR(n)

シングル・スペース(" ") ANSI

CHARACTER VARYING(n)、

CHAR VARYING(n)

シングル・スペース(" ") ANSI

NATIONAL CHARACTER(n)、

NATIONAL CHAR(n)、

NCHAR(n)

シングル・スペース(" ") ANSI

NATIONAL CHARACTERVARYING(n)、

NATIONAL CHARVARYING(n)、

NCHAR VARYING(n)

シングル・スペース(" ") ANSI

NUMBER ゼロ(0) Oracle組込み

NUMERIC[(p,s)]

DECIMAL[(p,s)]

ゼロ(0) Oracle組込み

INTEGER、

INT、

SMALLINT

ゼロ(0) ANSI

FLOAT、

DOUBLE PRECISION

ゼロ(0) ANSI

REAL ゼロ(0) ANSI

DATE-TIME 01–01–01または01–01–0101:00:00

Oracle組込み

442

Page 443: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

BLOB Oracleの[redacted]のRAW表現 Oracle組込み

CLOB [redacted] Oracle組込み

NCLOB [redacted] Oracle組込み

文字セットを変更した場合、DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを呼び出して、次のように新しい文字セットで値をRAW表現に設定する必要があります。

DECLARE

new_red_blob BLOB;

BEGIN

DBMS_LOB.CREATETEMPORARY(new_red_blob, TRUE);

DBMS_LOB.WRITE(new_red_blob, 10, 1,

UTL_RAW.CAST_TO_RAW('[redacted]'));

dbms_redact.update_full_redaction_values(

blob_val => new_red_blob);

DBMS_LOB.FREETEMPORARY(new_red_blob);

END;

/

このプロシージャの実行後、データベースを再起動します。

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャの使用の詳細は、「デフォルトの完全データ・リダクション値の変更」も参照してください。

親トピック: データ型に基づいた完全、部分およびランダム・リダクションの比較

ユーザー定義データ型またはOracle提供データ型のリダクション機能Oracle Data Redactionでは、いくつかのデータ型はサポートされていません。

表12-4では、ユーザー定義型およびOracle提供型で、完全、部分、正規表現およびランダムのリダクション・スタイルがどのように機能するかを比較します。

表12-4 ユーザー定義データ型またはOracle提供型のリダクション・サポート

完全リダ 部分リダ 正規表NULLリダクシ

ランダム・リダ

脚注6

脚注6

コピー

443

Page 444: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データ型またはタイプ クション クション 現 ョン クション

ユーザー定義データ型 なし なし なし なし なし

Oracle提供の型: 任意の型、XML型、Oracle Spatial型

なし なし なし なし なし

親トピック: データ型に基づいた完全、部分およびランダム・リダクションの比較

テストを目的にリダクションしない場合リダクションを実行しないデータ・リダクション・ポリシーを作成できます。

これは、リダクションされたベース表があるが、特定のアプリケーション・ユーザーのビューには実際のデータを常に表示する必要があるケースで便利です。リダクションされた表の新しいビューを作成して、このビューにデータ・リダクション・ポリシーを定義できます。ポリシーは引き続きベース表に存在しますが、DBMS_REDACT.NONE function_type設定を使用してビューにポリシーを作成した場合、アプリケーションがビューを使用して問い合せてもリダクションは実行されません。

親トピック: Oracle Data Redactionの特徴と機能

名前付きデータ・リダクション・ポリシー式の集中管理複数の表およびビューの列に使用できる、名前付きポリシー式のライブラリを作成できます。

名前付きポリシー式を使用すると、データベース内のすべてのポリシー式を集中的に管理できます。

ポリシー式を変更すると、その変更は式を使用する表のすべての列に反映されます。ポリシー式は、データ・リダクション・ポリシーのexpression設定よりも優先されます。ポリシー式を作成するには、DBMS_REDACT.CREATE_POLICY_EXPRESSIONプロシージャを使用する必要があり、ポリシー式を列に適用するにはDBMS_REDACT.APPLY_POLICY_EXPR_TO_COLを使用します。この機能により、異なる実行時条件に基づいて、表またはビューの異なる列をリダクションする柔軟性が提供されます。

たとえば、カスタマ・ケア・アプリケーションに関するユース・ケースを考えてみます。お客様がカスタマ・ケア・センターに電話して、最近の購入について返品を求めます。コール・センターのレベル1のサポート担当者は、返品を開始する前に、まず注文ID、お客様の名前および住所を確認する必要があります。処理中、レベル1のサポート担当者がお客様のクレジット・カード番号を表示する必要はありません。そのため、サポート担当者がコール・センターのアプリケーションでお客様の詳細を問い合せる際、クレジット・カード列はリダクションされます。返品が開始されると、返品部署の営業担当者は、返品を処理するため、クレジット・カード番号を表示する必要がある場合があります。ただし、営業担当者はクレジット・カードの有効期限を表示する必

444

Page 445: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

要はありません。そのため、営業担当者が同じアプリケーションでお客様の詳細を問い合せる際、クレジット・カード番号は表示できますが、有効期限はリダクションされます。

この場合、ログイン・ユーザーが誰であるかに基づいて、お客様詳細表の異なる列が異なる方法でリダクションされる必要があります。Oracle Data Redactionでは、名前付きデータ・リダクション・ポリシー式を使用して、このユースケースの実装を簡略化しています。このタイプのポリシー式では、同じ表またはビューの異なる列に異なるポリシー式を定義または関連付けることができます。さらに、データベース内の名前付きポリシー式を集中的に管理できます。名前付きポリシー式への更新は、関連付けられたすべての表またはビューの列にただちに伝播されます。

関連項目

複数の名前付きポリシー式の作成および管理

親トピック: Oracle Data Redactionの特徴と機能

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

445

Page 446: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

13 Oracle Data Redactionポリシーの構成Oracle Data Redactionポリシーでは、表の列タイプおよび使用するリダクションのタイプに応じて、列でデータをどのようにリダクションするかを定義します。

Oracle Data RedactionポリシーについてOracle Data Redactionポリシーでは、表またはビューでリダクションが発生する条件を定義します。

Oracle Data Redactionポリシーを作成できるユーザーは?データ・リダクションには高機密データの保護が伴うため、信頼できるユーザーのみがOracle Data Redactionポリシーを作成する必要があります。

データ・リダクション・ポリシーの計画Oracle Data Redactionポリシーを作成する前に、サイトのニーズに最も適したデータ・リダクション・ポリシーを計画する必要があります。

DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文データ・リダクション・ポリシーを作成するには、DBMS_REDACT.ADD_POLICYプロシージャを使用する必要があります。

データ・リダクション・ポリシーの条件を定義する式の使用DBMS_REDACT.ADD_POLICYプロシージャのexpressionパラメータには、ポリシーが適用される条件を設定します。

複数の名前付きポリシー式の作成および管理名前付きの一元管理されるOracle Data Redactionポリシー式は、複数のリダクション・ポリシーで使用でき、複数の表またはビューに適用できます。

完全データ・ポリシーの作成と完全リダクション値の変更完全リダクション・ポリシーを作成して、データ列のすべての内容をリダクションできま

446

Page 447: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。また、必要に応じて、デフォルトの完全リダクション値を変更できます。

DBMS_REDACT.NULLIFYリダクション・ポリシーの作成表またはビューの列の表示された値に対してNULL値を返すOracle Data Redactionポリシーを作成できます。

部分リダクション・ポリシーの作成部分データ・リダクションでは、様々な種類のデータ型についてデータの一部をリダクションできます。

正規表現ベースのリダクション・ポリシーの作成正規表現ベースのリダクション・ポリシーでは、検索置換モデルに基づいてデータをリダクションできます。

ランダム・リダクション・ポリシーの作成ランダム・リダクション・ポリシーは、リダクションされたデータをランダムに生成した値(Ukjsl32[[]]]sなど)で表します。

リダクションを使用しないポリシーの作成開発環境でポリシーをテストする場合には、まったくリダクションを使用しないポリシーを作成できます。

Oracle Data Redactionポリシーからのユーザーの除外アクセスしたデータにOracle Data Redactionポリシーを適用しないように、ユーザーを除外することができます。

Oracle Data Redactionポリシーの変更DBMS_REDACT.ALTER_POLICYプロシージャでは、Oracle Data Redactionポリシーを変更できます。

複数列のリダクションデータ・リダクション・ポリシーで2つ以上の列をリダクションできます。

Oracle Data Redactionポリシーの有効化と無効化Oracle Data Redactionポリシーは、必要に応じて無効化してから再度有効化できます。

Oracle Data Redactionポリシーの削除DBMS_REDACT.DROP_POLICYプロシージャは、Oracle Data Redactionポリシーを削除します。

チュートリアル: SQL式を使用したリダクションされた値を含むレポートの作成SQL式を使用して、Oracle Data Redactionポリシーが定義された列に基づくレポートを作成できます。

447

Page 448: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Data Redactionポリシーのデータ・ディクショナリ・ビューOracle Databaseには、データ・リダクション・ポリシーに関する情報をリストするデータ・ディクショナリ・ビューが用意されています。

親トピック: Oracle Data Redactionの使用

Oracle Data RedactionポリシーについてOracle Data Redactionポリシーでは、表またはビューでリダクションが発生する条件を定義します。

データ・リダクション・ポリシーには、次のような特徴があります。

データ・リダクション・ポリシーは、実行するリダクションの種類、リダクションの出現方法およびリダクションを実行するタイミングを定義します。Oracle Databaseは、実行時に、データがアプリケーションに戻される直前にリダクションを実行します。データ・リダクション・ポリシーでは、値の完全なリダクション、部分的なリダクション、ランダムなリダクションが可能です。さらに、テスト環境でポリシーをテストする場合には、データをまったくリダクションしないようにデータ・リダクション・ポリシーを定義することもできます。データ・リダクション・ポリシーは、ポリシー式がTRUEまたはFALSEのどちらを返すかに基づいて、異なるアプリケーション・ユーザーにリダクションされたデータまたは実際のデータのいずれかの表示を許可するポリシー式で定義できます。ポリシー式の評価のブール結果がTRUEであると、リダクションが実行されます。セキュリティ上の理由から、ポリシー式で使用できる関数および演算子は、SYS_CONTEXTなどの少数に限定されています。ユーザー作成関数は使用できません。ポリシー式では、SYS_SESSION_ROLES名前空間とSYS_CONTEXT関数を組み合せて使用し、有効なロールを確認できます。

異なるデータ・リダクション・ポリシー式を作成し、同じ表またはビュー内の異なる列に対して個別に適用できます。

表13-1に、DBMS_REDACTパッケージのプロシージャを示します。

表13-1 DBMS_REDACTプロシージャ

プロシージャ 説明

DBMS_REDACT.ADD_POLICY データ・リダクション・ポリシーを表またはビューに追加します

DBMS_REDACT.ALTER_POLICY データ・リダクション・ポリシーを変更します

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL

データ・リダクション・ポリシー式を1つの表またはビューの列に追加します

448

Page 449: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.CREATE_POLICY_EXPRESSION

データ・リダクション・ポリシー式を作成します

DBMS_REDACT.DISABLE_POLICY データ・リダクション・ポリシーを無効化します

DBMS_REDACT.DROP_POLICY データ・リダクション・ポリシーを削除します

DBMS_REDACT.DROP_POLICY_EXPRESSION

データ・リダクション・ポリシー式を削除します

DBMS_REDACT.ENABLE_POLICY データ・リダクション・ポリシーを有効化します

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUES

指定されたデータ型の完全にリダクションされた値をグローバルに更新します。データベース・インスタンスを再起動すると、更新された値を使用できます。

DBMS_REDACT.UPDATE_POLICY_EXPRESSION

データ・リダクション・ポリシー式を更新します

関連項目:

DBMS_REDACT PL/SQLパッケージの詳細は、Oracle Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。

Oracle Enterprise Manager Cloud Controlを使用してOracle Data Redactionのポリシーと形式を作成および管理する方法の詳細は、Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理を参照してください。

親トピック: Oracle Data Redactionポリシーの構成

Oracle Data Redactionポリシーを作成できるユーザーは?データ・リダクションには高機密データの保護が伴うため、信頼できるユーザーのみがOracle DataRedactionポリシーを作成する必要があります。

リダクション・ポリシーを作成するには、DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限が必要です。ユーザーに付与された権限を確認するには、DBA_SYS_PRIVSデータ・ディクショナリ・ビューに問い合せます。

ポリシーで保護される基礎となる表やビューにアクセスする場合、権限は一切必要ありません。

親トピック: Oracle Data Redactionポリシーの構成

データ・リダクション・ポリシーの計画Oracle Data Redaction

449

Page 450: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ポリシーを作成する前に、サイトのニーズに最も適したデータ・リダクション・ポリシーを計画する必要があります。

1. DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限が付与されていることを確認してください。

2. リダクションする表またはビューの列のデータ型を決定します。

3. データ・リダクション・ポリシーを追加するベース・オブジェクトに依存オブジェクトがあるかどうかを判別します。依存オブジェクトがある場合、これらのオブジェクトは、データ・リダクション・ポリシーがベース・オブジェクトに追加されると無効になり、これらのオブジェクトは、それらが使用されるときに自動的に再コンパイルされます。または、ALTER ... COMPILE文を使用して自分自身で事前に再コンパイルできます。(ベース・オブジェクトにデータ・リダクション・ポリシーを追加することにより)その依存オブジェクトを無効化して、再コンパイルする必要が生じると、システム全体のパフォーマンスが低下する場合があることに注意してください。Oracleでは、依存オブジェクトがあるオブジェクトへのデータ・リダクション・ポリシーの追加は、オフピーク時またはスケジュールされた停止時間中にのみ行うことをお薦めします。

4. この列がOracle Virtual Private Database (VPD) 行フィルタ処理条件で使用されていないことを確認してください。つまり、VPDポリシー関数によって生成されるVPD述語の一部であってはなりません。

5. 実行するリダクションのタイプ(完全、ランダム、部分、正規表現またはなし)を決定します。

6. データ・リダクション・ポリシーを適用するユーザーを決定します。

7. この情報に基づいて、DBMS_REDACT.ADD_POLICYプロシージャを使用てデータ・リダクション・ポリシーを作成します。

8. リダクションする追加の列を持つようにポリシーを構成します。

データ・リダクション・ポリシーは、作成後、自動的に有効化され、データをリダクションできるようになります。

関連項目

複数列のリダクション

親トピック: Oracle Data Redactionポリシーの構成

DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文データ・リダクション・ポリシーを作成するには、DBMS_REDACT.ADD_POLICYプロシージャを使用する必要があります。

450

Page 451: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.ADD_POLICYプロシージャの完全な構文は次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

policy_description IN VARCHAR2 := NULL,

column_name IN VARCHAR2 := NULL,

column_description IN VARCHAR2 := NULL,

function_type IN BINARY_INTEGER := DBMS_REDACT.FULL,

function_parameters IN VARCHAR2 := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE,

regexp_pattern IN VARCHAR2 := NULL,

regexp_replace_string IN VARCHAR2 := NULL,

regexp_position IN BINARY_INTEGER :=1,

regexp_occurrence IN BINARY_INTEGER :=0,

regexp_match_parameter IN VARCHAR2 := NULL);

ここでは次のように指定します。

object_schema: データ・リダクション・ポリシーを適用するオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のユーザー名を使用します。ここでの「現在のユーザー」の意味は、DBMS_REDACT.ADD_POLICYプロシージャを呼び出す場所によって変わる場合があることに注意してください。たとえば、ユーザーmpikeは、ユーザーfbrownに、mpikeのスキーマ内のmpike.protect_dataという名前の定義者権限のPL/SQLパッケージに対するEXECUTE権限を付与すると仮定します。このパッケージ内から、mpikeは、protect_cust_dataと呼ばれるプロシージャをコード化し、これにより、DBMS_REDACT.ADD_POLICYが呼び出されます。ユーザーmpikeは、object_schemaパラメータをNULLに設定しました。

fbrownがmpike.protect_dataパッケージのprotect_cust_dataプロシージャを呼び出すと、Oracle Databaseは、fbrownのスキーマのcust_dataオブジェクトではなく、mpikeスキーマのオブジェクトcust_dataの周りにデータ・リダクション・ポリシーを定義しようとします。object_name: データ・リダクション・ポリシーが適用する表またはビューの名前を指定します。

コピー

451

Page 452: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

policy_name: 作成するポリシーの名前を指定します。この名前は、データベース・インスタンス内で必ず一意である必要があります。REDACTION_POLICIESデータ・ディクショナリ・ビューのPOLICY_NAME列を問い合せることで、既存のデータ・リダクション・ポリシーのリストを検索できます。policy_description: ポリシーの目的についての簡単な説明を指定します。

column_name: データをリダクションする必要がある列を指定します。次の点に注意してください。

データ・リダクション・ポリシーを複数の列に適用できます。データ・リダクション・ポリシーを複数の列に適用する場合、DBMS_REDACT.ADD_POLICYを使用してポリシーを作成した後、DBMS_REDACT.ALTER_POLICYプロシージャを必要な回数実行して、必要な残りの列それぞれをポリシーに追加します。Oracle Data Redactionポリシーの変更を参照してください。

表またはビューに定義できるポリシーは1つだけです。ただし、表に新しいビューを作成できるため、2つ目のリダクション・ポリシーをこの新しいビューに定義することで、この新しいビューに対して問合せを発行するときに、異なる方法で列をリダクションできます。指定された列のリダクション方法を決める際、Oracle Databaseは、ビュー・チェーンの最初のビューのポリシーを使用します。列を指定しない場合(たとえば、NULLを入力)、いずれの列もポリシーによるリダクションは行われません。これにより、ユーザー自身のポリシーを作成して配置できるようになるため、後で準備ができたときに列の仕様を追加することができます。Oracle Virtual Private Database (VPD)の行フィルタ処理条件で現在使用されている列は使用しないでください。つまり、列は、VPDポリシー関数によって生成されるVPD述語の一部にすることはできません。(VPDでデータ・リダクションを使用する方法の詳細は、Oracle Data RedactionとOracle Virtual Private Databaseを参照してください。)

仮想列にデータ・リダクション・ポリシーを定義することはできません。また、任意の仮想列のSQL式に関連する列にデータ・リダクション・ポリシーを定義することもできません。

column_description: リダクションする列の簡単な説明を指定します。

function_type: リダクションのタイプを設定するファンクションを指定します。詳細は、次の各項を参照してください。

完全リダクション・ポリシーを作成する構文

部分リダクション・ポリシーを作成する構文

正規表現ベースのリダクション・ポリシーを作成する構文

ランダム・リダクション・ポリシーを作成する構文

リダクションを使用しないポリシーの作成の構文

452

Page 453: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

function_typeパラメータを省略する場合、デフォルトのリダクションfunction_type設定は、DBMS_REDACT.FULLです。

function_parameters: 部分リダクションのために列のリダクションをどのように表示するかを指定します。部分リダクション・ポリシーを作成する構文を参照してください。

expression: ポリシーの適用方法を決定するブール型SQL式を指定します。リダクションは、ポリシー式がTRUEと評価された場合にのみ実行されます。データ・リダクション・ポリシーの条件を定義する式の使用を参照してください。

enable: TRUEに設定すると、作成時にポリシーが有効になります。FALSEに設定すると、無効化されたポリシーとしてポリシーを作成します。デフォルトはTRUEです。ポリシーを作成した後、そのポリシーを無効化または有効化できます。次の項を参照してください。

Oracle Data Redactionポリシーの無効化

Oracle Data Redactionポリシーの有効化

regexp_pattern、regexp_replace_string、regexp_position、regexp_position、regexp_occurrence、regexp_match_parameter: 正規表現を使用してデータを完全に、または部分的にリダクションできます。実際のデータにregexp_patternに一致するものがない場合は完全リダクションが実行されるので、regexp_patternを指定するときは注意してください。列のすべての値が、使用している正規表現のセマンティクスに一致しているか確認します。詳細は、正規表現ベースのリダクション・ポリシーを作成する構文を参照してください。

親トピック: Oracle Data Redactionポリシーの構成

データ・リダクション・ポリシーの条件を定義する式の使用DBMS_REDACT.ADD_POLICYプロシージャのexpressionパラメータには、ポリシーが適用される条件を設定します。

データ・リダクション・ポリシーでの式の使用についてDBMS_REDACT.ADD_POLICYおよびDBMS_REDACT.ALTER_POLICYのexpressionパラメータには、リダクションを有効化するためにTRUEに評価される必要があるブール式を定義します。

データ・リダクション式でサポートされているファンクション特定のタイプのデータ(SYS_CONTEXTネームスペースなど)を返すファンクションを使用する式を作成できます。

ユーザー環境に基づくリダクション・ポリシーの適用セッション・ユーザー名またはクライアント識別子などユーザーの環境に基づいて、データ・リダクション・ポリシーを適用できます。

453

Page 454: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データベース・ロールに基づくリダクション・ポリシーの適用DBAロールなどのデータベース・ロールに基づいて、データ・リダクション・ポリシーを適用できます。

Oracle Label Securityラベル優位に基づくリダクション・ポリシーの適用Oracle Label Securityラベルの優位性に基づきデータ・リダクション・ポリシーを適用する条件を設定できます。

Application Expressセッション・ステートに基づくリダクション・ポリシーの適用Oracle Application Express (APEX)セッション・ステートに基づいて、データ・リダクション・ポリシーを適用できます。

すべてのユーザーへのリダクション・ポリシーの適用フィルタリングを使用しなければ、コンテキストに関係なくポリシーを任意のユーザーに適用できます。

親トピック: Oracle Data Redactionポリシーの構成

データ・リダクション・ポリシーでの式の使用についてDBMS_REDACT.ADD_POLICYおよびDBMS_REDACT.ALTER_POLICYのexpressionパラメータには、リダクションを有効化するためにTRUEに評価される必要があるブール式を定義します。

expressionパラメータで定義される式は、Oracle Data Redactionポリシーのデフォルトの式です。データ・リダクション・ポリシーによってリダクションされることになっている列に対して名前付きポリシー式を適用した場合、名前付きポリシー式がデータ・リダクション・ポリシーで定義された式よりも優先されます。

他のOracle Database機能を使用する式を作成できます。たとえば、ユーザーの環境(ファンクションSYS_CONTEXTおよびXS_SYS_CONTEXTを使用)、文字列ファンクション、Oracle LabelSecurityのラベル優位ファンクション、またはOracle Application Expressファンクションに基づく式を作成できます。

式を記述する場合は次のガイドラインに従ってください。

使用できる演算子は、AND、OR、IN、NOT IN、=、!=、<>、<、>、>=、<=のみです。

リダクションの際に式はTRUEに評価される必要があるので、NULLと比較する場合には注意が必要です。SQLでは、値NULLは定義されていないため、NULLと比較すると、FALSEを返す傾向があります。expressionパラメータでユーザー作成ファンクションを使用することはできません。

ユーザーSYSおよびEXEMPT REDACTION POLICY権限を持つユーザーでは、すべてのデータ・リダクション・ポリシーがバイパスされるため、問合せの結果はリダクションされないことに注意してください。データ・リダクション・ポリシーから除外されるユーザーの詳細

454

Page 455: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は、次のトピックを参照してください。Oracle Data Redactionポリシーからのユーザーの除外

Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデル

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

データ・リダクション式でサポートされているファンクション特定のタイプのデータを返すファンクション(SYS_CONTEXTネームスペースなど)を使用する式を作成できます。

ネームスペース・ファンクションを使用した式データ・リダクション式で、ネームスペース・ファンクションSYS_CONTEXTおよびXS_SYS_CONTEXTを使用できます。

SUBSTRファンクションを使用した式データ・リダクション式では、指定した文字列の部分(文字1–3など)を返すSUBSTRファンクションを使用できます。最初のパラメータは定数文字列か、SYS_CONTEXTファンクションまたはXS_SYS_CONTEXTファンクションへのコールである必要があります。

文字列の長さファンクションを使用した式データ・リダクション式では、文字列の長さを返す次のファンクションを使用できます。Oracle Databaseは、これらの演算子の各々への引数が、定数文字列であるか、SYS_CONTEXTファンクションまたはXS_SYS_CONTEXTファンクションへのコールであるかについても確認します。

Oracle Application Expressファンクションを使用した式データ・リダクション式で、Oracle Application Expressファンクションを使用できます。

Oracle Label Securityファンクションを使用した式Oracle Label Securityファンクションをデータ・リダクション式とともに使用できます。

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

ネームスペース・ファンクションを使用した式データ・リダクション式で、ネームスペース・ファンクションSYS_CONTEXTおよびXS_SYS_CONTEXTを使用できます。

表13-2 ネームスペース・ファンクションを使用した式

ネームスペース・ファンクション 説明

SYS_CONTEXT ネームスペースに関連した値を返します。次のネームスペース・ファンクションが有効です。

455

Page 456: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

USERENV (デフォルトのネームスペース)、SESSION_USERやCLIENT_IDENTIFIERなどの値を含みます。SYS_SESSION_ROLES、各ロールの属性を含みます。XS$SESSION、ユーザー・セッションの属性を含みます。ユーザー定義のネームスペース、ただしこれらはポリシー式が作成される前にDBA_CONTEXTカタログ・ビューに存在している必要があります。

XS_SYS_CONTEXT SYS_CONTEXTと同様ですが、Oracle RealApplication Security環境用に設計されています。

XS_SYS_CONTEXTは、SYS_CONTEXTがサポートしているのと同じネームスペースをサポートします。

関連項目:

SYS_CONTEXTの詳細は、『Oracle Database SQL言語リファレンス』を参照してください

XS_SYS_CONTEXTの詳細は、『Oracle Database Real Application Security管理者および開発者ガイド』を参照してください

親トピック: データ・リダクション式でサポートされているファンクション

SUBSTRファンクションを使用した式データ・リダクション式では、指定した文字列の部分を返す(文字1–3など)SUBSTRファンクションを使用できます。最初のパラメータは定数文字列か、SYS_CONTEXTファンクションまたはXS_SYS_CONTEXTファンクションへのコールである必要があります。

表13-3 SUBSTR文字列ファンクションを使用した式

SUBSTR文字列ファンクション 説明

SUBSTR character positionから始まる、substring_lengthの文字長の入力char値の一部を返します。SUBSTRは、入力文字セットによって定義された文字を使用して、長さを計算します。

SUBSTRB 入力値の指定された部分をバイトで返します

SUBSTRC 入力値の指定された部分をUnicodeの完全文字で返します

456

Page 457: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SUBSTR2 入力値の指定された部分をUCS2コード・ポイントで返します

SUBSTR4 入力値の指定された部分をUCS4コード・ポイントで返します

関連項目:

SUBSTRファンクションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください

親トピック: データ・リダクション式でサポートされているファンクション

文字列の長さファンクションを使用した式

データ・リダクション式では、文字列の長さを返す次のファンクションを使用できます。OracleDatabaseは、これらの演算子の各々への引数が、定数文字列であるか、SYS_CONTEXTファンクションまたはXS_SYS_CONTEXTファンクションへのコールであるかについても確認します。

表13-4 文字列ファンクションを使用した式

文字列ファンクション 説明

LENGTH 入力char値の長さを返します。LENGTHは、入力文字セットによって定義された文字を使用して、長さを算出します。

LENGTHB 入力値の長さをバイトで返します

LENGTHC 入力値の長さをUnicodeの完全文字で返します

LENGTH2 入力値の長さをUCS2コード・ポイントで返します

LENGTH4 入力値の長さをUCS4コード・ポイントで返します

関連項目:

LENGTHファンクションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください

親トピック: データ・リダクション式でサポートされているファンクション

Oracle Application Expressファンクションを使用した式

データ・リダクション式で、Oracle Application Expressファンクションを使用できます。

表13-5 Oracle Application Expressファンクション

457

Page 458: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Application Expressファンクション 説明

V アイテムのセッション・ステートを返します。APEX_UTIL.GET_SESSION_STATEファンクションのラッパーです

NV 数値項目の数値を返します。APEX_UTIL.GET_NUMERIC_SESSION_STATEファンクションのラッパーです

関連項目:

Oracle Application Expressファンクションの詳細は、『Oracle Application Express APIリファレンス』を参照してください

親トピック: データ・リダクション式でサポートされているファンクション

Oracle Label Securityファンクションを使用した式Oracle Label Securityファンクションをデータ・リダクション式とともに使用できます。

太字のファンクションについては、Oracle Data Redactionが、それらのパラメータが定数であるか、ファンクションSA_UTL.NUMERIC_LABEL、CHAR_TO_LABEL、SA_SESSION.LABELのいずれかのみへのコールであること、およびこれらのファンクションへの引数が定数であることを確認します。

表13-6 Oracle Label Securityファンクション

Oracle Label Securityファンクション 説明

LBACSYS.OLS_LABEL_DOMINATES Oracle Label Securityポリシーのセッション・ラベルが別のOLSラベルに優位であるか同位であるかを確認します

DOMINATES 1つのOLSラベルが2つ目のOLSラベルより優位であるか確認します。

Oracle Database 12cリリース1 (12.1)で非推奨になりました。かわりに、ファンクションOLS_DOMINATESまたはOLS_DOM を使用してください。

OLS_DOMINATES 1つのOLSラベルが2つ目のOLSラベルより優位であるか確認します

OLS_DOM 1つのOLSラベルが2つ目のOLSラベルより優位であるか確認します

DOM 1つのOLSラベルが2つ目のOLSラベルより優位であるか確認します

458

Page 459: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

OLS_STRICTLY_DOMINATES 1つのOLSラベルが2つ目のOLSラベルより優位であり、同位ではないかを確認します

STRICTLY_DOMINATES 1つのOLSラベルが2つ目のOLSラベルより優位であり、同位ではないかを確認します

S_DOM 1つのOLSラベルが2つ目のOLSラベルより優位であり、同位ではないかを確認します。

Oracle Database 12cリリース1 (12.1)で非推奨になりました。かわりに、ファンクションOLS_DOMINATESまたはOLS_DOM を使用してください。

SA_UTL.DOMINATES 1つのOLSラベルが2つ目のOLSラベルに優位であるか、または特定のOLSポリシーのセッション・ラベルがOLSラベルに優位であるかを確認します

SA_UTL.CHECK_READ ユーザーがポリシーで保護されている行を読み取ることができるかどうかをチェックします

SA_UTL.NUMERIC_LABEL 現行のセッションOLSラベルを返します

CHAR_TO_LABEL 文字列をOLSラベル・タグに変換します

SA_SESSION.LABEL 指定したOLSポリシーに関連付けられているラベルを返します

関連項目

Oracle Label Security管理者ガイド

親トピック: データ・リダクション式でサポートされているファンクション

ユーザー環境に基づくリダクション・ポリシーの適用セッション・ユーザー名またはクライアント識別子などユーザーの環境に基づいて、データ・リダクション・ポリシーを適用できます。

DBMS_REDACT.ADD_POLICY expressionパラメータでSYS_CONTEXTファンクションのUSERENV名前空間を使用して、ユーザー環境に基づいてポリシーを適用します。

たとえば、セッション・ユーザー名psmithにのみポリシーを適用するには、次のようにします。

expression => 'SYS_CONTEXT(''USERENV'',''SESSION_USER'') =

''PSMITH'''

コピー

459

Page 460: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目SYS_CONTEXTファンクションで使用できるネームスペースの詳細は、Oracle Database SQL言語リファレンスを参照してください。

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

データベース・ロールに基づくリダクション・ポリシーの適用DBAロールなどのデータベース・ロールに基づいて、データ・リダクション・ポリシーを適用できます。

SYS_CONTEXTファンクションのSYS_SESSION_ROLES名前空間を使用して、ユーザー・ロールに基づいてポリシーを適用します。

この名前空間には、各ロールの属性が含まれます。指定されたロールが、問合せを行ったアプリケーション・ユーザーに対して有効化されている場合、属性の値はTRUEで、ロールが有効化されていない場合、属性の値はFALSEです。

たとえば、スーパーバイザのみに実際のデータの表示を許可するとします。次の例では、DBMS_REDACT.ADD_POLICY expressionパラメータを使用してポリシーを設定し、supervisorロールが有効化されているアプリケーション・ユーザーには実際のデータを表示し、他のすべてのアプリケーション・ユーザーにはデータをリダクションする方法を示します。

expression => 'SYS_CONTEXT(''SYS_SESSION_ROLES'',''SUPERVISOR'') =

''FALSE'''

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

Oracle Label Securityラベル優位に基づくリダクション・ポリシーの適用Oracle Label Securityラベルの優位性に基づきデータ・リダクション・ポリシーを適用する条件を設定できます。

パブリック・スタンドアロン・ファンクションOLS_LABEL_DOMINATESを使用して、セッション・ラベルの優位性を確認します。このファンクションは、指定したpolicy_name値のセッション・ラベルがlabelパラメータで指定したラベルよりも優位または同位の場合、1 (TRUE)を戻します。それ以外の場合は0 (FALSE)を戻します。

たとえば、ポリシーhr_ols_polのセッション・ラベルがラベルhsよりも優位でも同位でもない場合のみデータ・リダクション・ポリシーを適用するには、次のように指定します。

コピー

:

460

Page 461: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

expression => 'OLS_LABEL_DOMINATES (''hr_ols_pol'',''hs'') = 0'

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

Application Expressセッション・ステートに基づくリダクション・ポリシーの適用Oracle Application Express (APEX)セッション・ステートに基づいて、データ・リダクション・ポリシーを適用できます。

DBMS_REDACT.ADD_POLICY expressionパラメータで、次に示すパブリックApplicationExpress APIのいずれかを使用して、Oracle Application Expressのセッション・ステートに基づいてポリシーを適用します。

V、APEX_UTIL.GET_SESSION_STATEファンクションのシノニムです。

NV、 APEX_UTIL.GET_NUMERIC_SESSION_STATEファンクションのシノニムです。

たとえば、G_JOBというアプリケーション項目の値がCLERKとなったときにリダクションを発生させるようにDBMS_REDACT.ADD_POLICYのexpressionパラメータを設定するには次のようにします。

expression => 'V(''APP_USER'') != ''[email protected]'' or

V(''APP_USER'') is null'

たとえば、これらのようなファンクションを使用することにより、APEXアプリケーションのセッション・ステートに格納されているジョブまたは権限ロールに基づいてデータをリダクションできます。

問合せユーザーがAPEXアプリケーションのコンテキストにないとき(問合せがAPEXフレームワーク外、たとえばSQL*Plusから直接発行されたとき)にリダクションを発生させる場合は、次のようにIS NULL句を使用します。このポリシー式を使用すると、mavisというユーザーの問合せがAPEXアプリケーション内部から発行された場合にのみ、このユーザーに実際のデータが表示されます。それ以外の場合、問合せ結果はリダクションされます。

関連項目:

Oracle Application Express APIリファレンス

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

コピー

コピー

461

Page 462: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

すべてのユーザーへのリダクション・ポリシーの適用フィルタリングを使用しなければ、コンテキストに関係なくポリシーを任意のユーザーに適用できます。

ただし、ユーザーSYSおよびEXEMPT REDACTION POLICY権限を持つユーザーは常にOracle DataRedactionポリシーから除外されることに注意してください。

SYS以外のユーザーまたはEXEMPT REDACTION POLICY権限が付与されていないユーザーにポリシーを適用するには、TRUEに評価されるDBMS_REDACT.ADD_POLICYexpressionパラメータを記述します。

例:

expression => '1=1'

関連項目:

Oracle Data Redactionポリシーからのユーザーの除外

親トピック: データ・リダクション・ポリシーの条件を定義する式の使用

複数の名前付きポリシー式の作成および管理名前付きの一元管理されるOracle Data Redactionポリシー式は、複数のリダクション・ポリシーで使用でき、複数の表またはビューに適用できます。

条件を定義するデータ・リダクション・ポリシー式について名前付きOracle Data Redactionポリシー式は、既存のデータ・リダクション・ポリシーで使用されるポリシー式に代替するものとして機能するよう設計されています。

名前付きデータ・リダクション・ポリシー式の作成および適用DBMS_REDACT.CREATE_POLICY_EXPRESSIONおよびDBMS_REDACT.APPLY_POLICY_EXPR_TO_COLを使用すると、名前付きデータ・リダクション・ポリシー式を作成および適用できます。

名前付きデータ・リダクション・ポリシー式の更新DBMS_REDACT.UPDATE_POLICY_EXPRESSIONプロシージャを使用してデータ・リダクション・ポリシー式を更新できます。更新はただちに行われ、ポリシー式を使用するすべての列に反映されます。

名前付きデータ・リダクション式ポリシーの削除

コピー

462

Page 463: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.DROP_POLICY_EXPRESSIONプロシージャを使用してデータ・リダクション式ポリシーを削除できます。

チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有このチュートリアルでは、Oracle Data Redactionポリシー式を作成して複数の表に適用し、このポリシー式を集中的に管理する方法を説明します。

親トピック: Oracle Data Redactionポリシーの構成

条件を定義するデータ・リダクション・ポリシー式について名前付きOracle Data Redactionポリシー式は、既存のデータ・リダクション・ポリシーで使用されるポリシー式に代替するものとして機能するよう設計されています。

名前付きポリシー式では、実行時の条件に基づいてデータをリダクションできます。このポリシーのタイプは、リダイレクション・ポリシーが定義される表またはビューの列でリダクションが行われるかどうかにのみ影響します。デフォルトでは、データ・リダクション・ポリシー式は、表またはビューのすべての列に適用されます。あるいは、表またはビューの個々の列に対してポリシー式を作成して関連付けることもできます。これらの列レベル式は、名前付きポリシー式と呼ばれます。つまり、名前の付いたポリシー式のことです。名前付きポリシー式には次のプロパティがあります。

データ・リダクション・ポリシー式は次の方法で使用できます。

1つのデータ・リダクション・ポリシー式を、別々のデータ・リダクション・ポリシーの一部である列に適用することによって、2つ以上のデータ・リダクション・ポリシーで共有できます。各名前付きポリシー式は、同じまたは異なる表またはビューの複数の列に関連付けることができます。各名前付きポリシー式は、同じまたは異なるデータ・リダクション・ポリシー内の列に関連付けることができます。名前付きポリシー式は、関連付けられた列のデフォルトのポリシー式をオーバーライドします。デフォルトのポリシー式は、名前付きポリシー式が適用されていないリダクション列には引き続き適用されます。名前付きポリシー式に対して行われた更新は、式のすべての列関連付けに適用されます。

複数の名前付きポリシー式を同じ列に関連付けることはできません。

マルチテナント環境では、名前付きポリシー式を異なるプラガブル・データベース(PDB)の列に関連付けることはできません。

名前付きポリシー式を適用する列は、すでにデータ・リダクション・ポリシーでリダクションされている必要があります。名前付きポリシー式が適用された後、列をリダクションするかどうか

463

Page 464: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を判断するときには、その評価の結果がデフォルトのポリシー式よりも優先されます。名前付きポリシー式を変更すると、変更はその式を使用するすべての表およびビューに適用されます。マルチテナント環境では、データ・リダクション・ポリシーと同様、名前付きポリシー式はそれが作成されたPDBにおいてのみ有効で、それが作成されたPDB内のオブジェクトの列にのみ適用できます。

表13-7は、名前付きポリシー式を作成および管理するために使用できるDBMS_REDACT PL/SQLプロシージャについて説明しています。ポリシー式についての情報を検索するには、REDACTION_EXPRESSIONSデータ・ディクショナリ・ビューを問い合せます。

表13-7 DBMS_REDACTポリシー式プロシージャ

プロシージャ 説明

DBMS_REDACT.CREATE_POLICY_EXPRESSION データ・リダクション・ポリシー式を作成します

DBMS_REDACT.UPDATE_POLICY_EXPRESSION データ・リダクション・ポリシー式を更新します

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL データ・リダクション・ポリシー式を1つの表またはビューの列に追加します

DBMS_REDACT.DROP_POLICY_EXPRESSION データ・リダクション・ポリシー式を削除します

関連項目

Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

親トピック: 複数の名前付きポリシー式の作成および管理

名前付きデータ・リダクション・ポリシー式の作成および適用DBMS_REDACT.CREATE_POLICY_EXPRESSIONおよびDBMS_REDACT.APPLY_POLICY_EXPR_TO_COLを使用すると、名前付きデータ・リダクション・ポリシー式を作成および適用できます。

1. COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。現在の設定を確認するには、SHOW PARAMETERコマンドを使用します。

2. ポリシー式を作成するには、DBMS_REDACT.CREATE_POLICY_EXPRESSIONプロシージャを実行します。

例:

BEGIN

DBMS_REDACT.CREATE_POLICY_EXPRESSION (

コピー

464

Page 465: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

policy_expression_name => 'redact_pol',

expression => '1=1',

policy_expression_description => 'Determines whether the

column will be redacted');

END;

/

3. DBMS_REDACT.APPLY_POLICY_EXPR_TO_COLプロシージャを実行して、表またはビューの列にポリシー式を適用します。

たとえば、次のように、表HR.EMPLOYEESの列SALARYにすでにデータ・リダクション・ポリシーを作成していることを想定します。

BEGIN

DBMS_REDACT.ADD_POLICY (

object_schema => 'hr',

object_name => 'employees',

policy_name => 'overall_policy',

expression => '1=0');

END;

/

BEGIN

DBMS_REDACT.ALTER_POLICY (

object_schema => 'hr',

object_name => 'employees' ,

policy_name => 'overall_policy',

function_type => DBMS_REDACT.FULL,

action => DBMS_REDACT.ADD_COLUMN,

column_name => 'SALARY );

END;

/

すると、次のように表SALARYにポリシー式を適用できます。

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL (

object_schema => 'hr',

object_name => 'employees',

column_name => 'salary',

コピー

コピー

465

Page 466: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

policy_expression_name => 'redact_pol');

END;

/

ここでは次のように指定します。

object_schema: ポリシー式が使用されるオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。object_name: ポリシー式に使用する表またはビューの名前を指定します。

column_name: ポリシー式を適用する列を指定します。

policy_expression_name: ポリシー式の名前を指定します。

Oracle Data Redactionポリシー式の作成後、これを既存のデータ・リダクション・ポリシーの一部である表またはビューの列に適用できます。

親トピック: 複数の名前付きポリシー式の作成および管理

名前付きデータ・リダクション・ポリシー式の更新DBMS_REDACT.UPDATE_POLICY_EXPRESSIONプロシージャを使用してデータ・リダクション・ポリシー式を更新できます。更新はただちに行われ、ポリシー式を使用するすべての列に反映されます。

REDACTION_EXPRESSIONSデータ・ディクショナリ・ビューを問い合せて、既存のデータ・リダクション・ポリシー式を検索できます。

1. COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。現在の設定を確認するには、SHOW PARAMETERコマンドを使用します。

2. DBMS_REDACT.UPDATE_POLICY_EXPRESSIONプロシージャを実行して更新を実行します。

例:

BEGIN

DBMS_REDACT.UPDATE_POLICY_EXPRESSION(

policy_expression_name => 'redact_pol',

expression => '1=0');

END;

/

コピー

466

Page 467: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 複数の名前付きポリシー式の作成および管理

名前付きデータ・リダクション式ポリシーの削除DBMS_REDACT.DROP_POLICY_EXPRESSIONプロシージャを使用してデータ・リダクション式ポリシーを削除できます。

REDACTION_EXPRESSIONSデータ・ディクショナリ・ビューを問い合せて、既存のデータ・リダクション・ポリシー式を検索できます。

1. COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。現在の設定を確認するには、SHOW PARAMETERコマンドを使用します。

2. 名前付きポリシー式の表またはビューの列との関連付けを削除します。既存の表またはビューの列と関連付けられている場合には、ポリシー式を削除することはできません。特定の列の名前付きポリシー式との関連付けを削除する(デフォルトのポリシー式の評価結果に基づいてその列のリダクションに戻す)には、DBMS_REDACT.APPLY_POLICY_EXPR_TO_COLプロシージャのpolicy_expression_nameパラメータをNULLに設定する必要があります。

例:

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL(

object_schema => 'hr',

object_name => 'employees',

column_name => 'salary',

policy_expression_name => null);

END;

/

3. DBMS_REDACT.DROP_POLICY_EXPRESSIONを実行してポリシー式を削除します。

例:

BEGIN

DBMS_REDACT.DROP_POLICY_EXPRESSION(

policy_expression_name => 'redact_pol');

END;

/

コピー

コピー

467

Page 468: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 複数の名前付きポリシー式の作成および管理

チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有このチュートリアルでは、Oracle Data Redactionポリシー式を作成して複数の表に適用し、このポリシー式を集中的に管理する方法を説明します。

ステップ1: このチュートリアル用のユーザーの作成このチュートリアルでは、Oracle Data Redactionポリシーを作成するdr_adminと、それらをテストするhr_clerkの2人のユーザーを作成する必要があります。

ステップ2: Oracle Data Redactionポリシーの作成ユーザーdr_adminは、表HR.EMPLOYEESおよびHR.JOBSを保護するOracle Data Redactionポリシーを作成する準備ができています。

ステップ3: Oracle Data Redactionポリシーのテストユーザーhr_clerkは、リダクションされたデータのある表を問い合せる準備ができています。

ステップ4: リダクション済の表の列へのポリシー式の作成および適用次に、ユーザーdr_adminは、データ・リダクション・ポリシー式を作成して、それを3つのリダクション済の表の列のうちの2つに適用する準備ができています。

ステップ5: データ・リダクション・ポリシー式のテストここでは、ユーザーhr_clerkは、hr_redact_polポリシー式をテストする準備ができています。

ステップ6: データ・リダクション・ポリシー式の変更ユーザーdr_adminは、ユーザーhr_clerkではなくユーザーHRがリダクション済のデータにアクセスできるよう、データ・リダクション・ポリシー式を変更することを決定します。

ステップ7: 変更済ポリシー式のテストユーザーHRおよびhr_clerkは、変更済のデータ・リダクション・ポリシー式をテストする準備ができています。

ステップ8: このチュートリアルのコンポーネントの削除このチュートリアルのコンポーネントが不要になった場合、それらを削除できます。

親トピック: 複数の名前付きポリシー式の作成および管理

ステップ1: このチュートリアル用のユーザーの作成このチュートリアルでは、Oracle Data Redactionポリシーを作成するdr_adminと、それらをテストするhr_clerkの2人のユーザーを作成する必要があります。

468

Page 469: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

このチュートリアルを開始する前に、COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。この設定は、SHOW PARAMETERコマンドを使用して確認できます。

1. SYSDBA管理権限を使用してユーザーSYSとしてSQL*Plusにログインします。

sqlplus sys as sysdba

Enter password: password

2. マルチテナント環境で、適切なPDBに接続します。

例:

CONNECT SYS@my_pdb AS SYSDBA

Enter password: password

使用可能なPDBを検索するには、show pdbsコマンドを実行します。現在のPDBを確認するには、SHOW CON_NAMEコマンドを実行します。

3. ユーザー・アカウントdr_adminおよびhr_clerkを作成します。

GRANT CREATE SESSION TO dr_admin IDENTIFIED BY password;

GRANT CREATE SESSION TO hr_clerk IDENTIFIED BY password;

4. ユーザーdr_adminにEXECUTE権限を付与します。

GRANT EXECUTE ON DBMS_REDACT TO dr_admin;

5. ユーザーHRとして接続します。

CONNECT HR --Or, for a PDB, CONNECT hr@my_pdb

Enter password: password

6. hr_clerkに表EMPLOYEESおよびJOBSに対するSELECT権限を付与します。

コピー

コピー

コピー

コピー

コピー

469

Page 470: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

GRANT SELECT on EMPLOYEES to hr_clerk;

GRANT SELECT on JOBS to hr_clerk;

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ2: Oracle Data Redactionポリシーの作成ユーザーdr_adminは、表HR.EMPLOYEESおよびHR.JOBSを保護するOracle Data Redactionポリシーを作成する準備ができています。

1. ユーザーdr_adminとして接続します。

CONNECT dr_admin --Or, for a PDB, CONNECT dr_admin@my_pdb

Enter password: password

2. HR.EMPLOYEES.SALARY列の完全リダクションを実行するhr_emp_redact_comp_polポリシーを作成します。

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'hr',

object_name => 'employees',

column_name => 'salary',

policy_name => 'hr_emp_redact_comp_pol',

function_type => DBMS_REDACT.FULL,

expression => '1=1');

END;

/

3. hr_redact_comp_polポリシーを表HR.EMPLOYEESの列COMMISSION_PCTもリダクションするように変更します。

BEGIN

DBMS_REDACT.ALTER_POLICY(

object_schema => 'hr',

object_name => 'employees',

policy_name => 'hr_emp_redact_comp_pol',

コピー

コピー

コピー

コピー

470

Page 471: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

action => DBMS_REDACT.ADD_COLUMN,

column_name => 'commission_pct',

function_type => DBMS_REDACT.FULL,

expression => '1=1');

END;

/

4. 表HR.JOBSの列max_salaryに対してhr_jobs_redact_comp_polポリシーを作成します。

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'hr',

object_name => 'jobs',

column_name => 'max_salary',

policy_name => 'hr_jobs_redact_comp_pol',

function_type => DBMS_REDACT.FULL,

expression => '1=1');

END;

/

この段階で、列HR.EMPLOYEES.SALARY、HR.EMPLOYEES.COMMISSION_PCTおよびHR.JOBS.MAX_SALARYのデータはリダクションされます。

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ3: Oracle Data Redactionポリシーのテストユーザーhr_clerkは、リダクションされたデータのある表を問い合せる準備ができています。

1. ユーザーhr_clerkとして接続します。

CONNECT hr_clerk --Or, for a PDB, CONNECT hr_clerk@my_pdb

Enter password: password

2. HR.EMPLOYEES表を問い合せます。

SELECT SALARY, COMMISSION_PCT FROM HR.EMPLOYEES WHERE SALARY >

15000;

コピー

コピー

コピー

471

Page 472: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

出力は次のようになります。

SALARY COMMISSION_PCT

---------- --------------

0

0

0

3. HR.JOBS表を問い合せます。

SELECT MAX_SALARY FROM HR.JOBS WHERE MAX_SALARY > 15000;

出力は次のようになります。

MAX_SALARY

----------

0

0

0

0

0

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ4: リダクション済の表の列へのポリシー式の作成および適用次に、ユーザーdr_adminは、データ・リダクション・ポリシー式を作成して、それを3つのリダクション済の表の列のうちの2つに適用する準備ができています。

このポリシー式は、ユーザーhr_clerkがリダクション済のデータを表示できるようにします。

1. ユーザーdr_admin.として接続します

コピー

コピー

コピー

472

Page 473: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CONNECT dr_admin --Or, for a PDB, CONNECT dr_admin@my_pdb

Enter password: password

2. ポリシー式を作成します。

BEGIN

DBMS_REDACT.CREATE_POLICY_EXPRESSION(

policy_expression_name => 'hr_redact_pol',

expression =>

'SYS_CONTEXT(''USERENV'',''SESSION_USER'') != ''HR_CLERK''');

END;

/

この式は、ユーザーhr_clerkに対してFALSEを返し、これによりユーザーhr_clerkは、データ・リダクション・ポリシーの対象となる表HR.EMPLOYEESおよびHR.JOBS内の実際のデータを表示できるようになります。

3. hr_redact_polポリシー式を列HR.EMPLOYEES.SALARYに適用します。

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL(

object_schema => 'hr',

object_name => 'employees',

column_name => 'salary',

policy_expression_name => 'hr_redact_pol');

END;

/

4. hr_redact_polポリシー式を列HR.JOBS.MAX_SALARYに適用します。

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL(

object_schema => 'hr',

object_name => 'jobs',

column_name => 'max_salary',

policy_expression_name => 'hr_redact_pol');

END;

コピー

コピー

コピー

コピー

473

Page 474: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

/

ユーザーhr_clerkは、HR.EMPLOYEES.SALARYおよびHR.JOBS.MAX_SALARY内のデータを表示できますが、列HR.EMPLOYEES.COMMISSION_PCT内のデータはこのユーザーに対してはまだリダクションされます。

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ5: データ・リダクション・ポリシー式のテストここでは、ユーザーhr_clerkは、hr_redact_polポリシー式をテストする準備ができています。

1. ユーザーhr_clerkとして接続します。

CONNECT hr_clerk --Or, for a PDB, CONNECT hr_clerk@my_pdb

Enter password: password

2. HR.EMPLOYEES表を問い合せます。

SELECT SALARY, COMMISSION_PCT FROM HR.EMPLOYEES WHERE SALARY >

15000;

出力は次のようになります。

SALARY COMMISSION_PCT

---------- --------------

24000

17000

17000

これでユーザーhr_clerkは、列SALARYのデータを表示できますが、列COMMISSION_PCTのデータへはまだアクセスできません。

3. HR.JOBS表を問い合せます。

コピー

コピー

コピー

474

Page 475: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SELECT MAX_SALARY FROM HR.JOBS WHERE MAX_SALARY > 15000;

出力は次のようになります。

MAX_SALARY

----------

40000

30000

16000

16000

20080

これでユーザーhr_clerkは、列MAX_SALARYのデータを表示できます。

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ6: データ・リダクション・ポリシー式の変更ユーザーdr_adminは、ユーザーhr_clerkではなくユーザーHRがリダクション済のデータにアクセスできるよう、データ・リダクション・ポリシー式を変更することを決定します。

1. ユーザーdr_adminとして接続します。

CONNECT dr_admin --Or, for a PDB, CONNECT dr_admin@my_pdb

Enter password: password

2. hr_redact_polポリシーを次のように変更します。

BEGIN

DBMS_REDACT.UPDATE_POLICY_EXPRESSION(

policy_expression_name => 'hr_redact_pol',

expression =>

'SYS_CONTEXT(''USERENV'',''SESSION_USER'') != ''HR''');

END;

/

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

コピー

コピー

コピー

コピー

475

Page 476: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ステップ7: 変更済ポリシー式のテストユーザーHRおよびhr_clerkは、変更済のデータ・リダクション・ポリシー式をテストする準備ができています。

1. ユーザーHRとして接続します。

CONNECT HR --Or, for a PDB, CONNECT HR@my_pdb

Enter password: password

2. HR.EMPLOYEES表を問い合せます。

SELECT SALARY, COMMISSION_PCT FROM HR.EMPLOYEES WHERE SALARY >

15000;

出力は次のようになります。

SALARY COMMISSION_PCT

---------- --------------

24000

17000

17000

これでユーザーHRは、リダクション済のデータにアクセスできます。HRによる列HR.JOBS.MAX_SALARYへの問合せは、同様の結果が得られます。

SELECT MAX_SALARY FROM HR.JOBS WHERE MAX_SALARY > 15000;

MAX_SALARY

----------

40000

30000

16000

16000

20080

コピー

コピー

コピー

コピー

476

Page 477: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. ユーザーhr_clerkとして接続します。

CONNECT hr_clerk --Or, for a PDB, CONNECT hr_clerk@my_pdb

Enter password: password

4. 表HR.EMPLOYEESおよびHR.JOBSを問い合せて、結果を確認します。

SELECT SALARY, COMMISSION_PCT FROM HR.EMPLOYEES WHERE SALARY >

15000;

SALARY COMMISSION_PCT

---------- --------------

0

0

0

SELECT MAX_SALARY FROM HR.JOBS WHERE MAX_SALARY > 15000;

MAX_SALARY

----------

0

0

0

0

0

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

ステップ8: このチュートリアルのコンポーネントの削除

このチュートリアルのコンポーネントが不要になった場合、それらを削除できます。

1. ユーザーdr_adminとして接続します。

CONNECT dr_admin --Or, for a PDB, CONNECT dr_admin@my_pdb

Enter password: password

コピー

コピー

コピー

477

Page 478: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. ポリシー式を、式に関連付けられた表の列に関連付けられないように変更します。これを行うには、policy_expression_nameパラメータをNULLに設定する必要があります。

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL(

object_schema => 'hr',

object_name => 'employees',

column_name => 'salary',

policy_expression_name => null);

END;

/

BEGIN

DBMS_REDACT.APPLY_POLICY_EXPR_TO_COL(

object_schema => 'hr',

object_name => 'jobs',

column_name => 'max_salary',

policy_expression_name => null);

END;

/

3. ポリシー式を削除します。

BEGIN

DBMS_REDACT.DROP_POLICY_EXPRESSION(

policy_expression_name => 'hr_redact_pol');

END;

/

4. データ・リダクション・ポリシーhr_emp_redact_comp_polおよびhr_jobs_redact_comp_polを削除します。

BEGIN

DBMS_REDACT.DROP_POLICY (

コピー

コピー

コピー

478

Page 479: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

object_schema => 'hr',

object_name => 'employees',

policy_name => 'hr_emp_redact_comp_pol');

END;

/

BEGIN

DBMS_REDACT.DROP_POLICY (

object_schema => 'hr',

object_name => 'jobs',

policy_name => 'hr_jobs_redact_comp_pol');

END;

/

5. SYSTEMユーザーまたはユーザー・アカウントの削除権限を持つユーザーとして、接続します。

例:

CONNECT SYSTEM

Enter password: password

6. ユーザー・アカウントdr_adminおよびhr_clerkを削除します。

DROP USER dr_admin;

DROP USER hr_clerk;

親トピック: チュートリアル: 名前付きデータ・リダクション・ポリシー式の作成および共有

完全データ・ポリシーの作成と完全リダクション値の変更完全リダクション・ポリシーを作成して、データ列のすべての内容をリダクションできます。また、必要に応じて、デフォルトの完全リダクション値を変更できます。

完全リダクション・ポリシーの作成完全データ・リダクション・ポリシーでは、データ列のすべての内容がリダクションされます。

デフォルトの完全データ・リダクション値の変更

コピー

コピー

479

Page 480: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャは、デフォルトの完全データ・リダクション値を変更します。

親トピック: Oracle Data Redactionポリシーの構成

完全リダクション・ポリシーの作成完全データ・リダクション・ポリシーでは、データ列のすべての内容がリダクションされます。

完全データ・リダクション・ポリシーの作成について列のすべてのデータをリダクションするリダクション・ポリシーを設定するには、function_typeパラメータをDBMS_REDACT.FULLに設定する必要があります。

完全リダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICYプロシージャでは、完全リダクション・ポリシーを作成できます。

例: 完全リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、完全リダクション・ポリシーを作成できます。

例: 完全にリダクションされた文字値DBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、文字値を完全にリダクションするポリシーを作成できます。

親トピック: 完全リダクション・ポリシーの作成と完全リダクション値の変更

完全データ・リダクション・ポリシーの作成について

列のすべてのデータをリダクションするリダクション・ポリシーを設定するには、function_typeパラメータをDBMS_REDACT.FULLに設定する必要があります。

デフォルトでは、NUMBERデータ型の列はゼロ(0)に置き換えられ、文字データ型の列は空白1つ()に置き換えられます。DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを使用することにより、このデフォルトを変更できます。

関連項目

デフォルトの完全データ・リダクション値の変更

親トピック: 完全リダクション・ポリシーの作成

完全リダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICYプロシージャでは、完全リダクション・ポリシーを作成できます。

完全データ・リダクション・ポリシーを作成する場合のDBMS_REDACT.ADD_POLICYフィールド

480

Page 481: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

function_type: リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.FULLと入力します。

function_typeパラメータを省略する場合、デフォルトのリダクションfunction_type設定は、DBMS_REDACT.FULLです。

列のデータ型は、使用が許可されているfunction_type設定を決定することに注意してください。データ型に基づいた完全、部分およびランダム・リダクションの比較を参照してください。

親トピック: 完全リダクション・ポリシーの作成

例: 完全リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、完全リダクション・ポリシーを作成できます。

例13-1に、HR.EMPLOYEES表のCOMMISSION_PCT列にすべての値の完全なリダクションを使用する方法を示します。式パラメータは、EXEMPT REDACTION POLICYシステム権限が付与されているユーザーは除き、表の問合せを行った任意のユーザーにポリシーを適用します。

例13-1 完全データ・リダクション・ポリシー

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'hr',

コピー

コピー

481

Page 482: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

object_name => 'employees',

column_name => 'commission_pct',

policy_name => 'redact_com_pct',

function_type => DBMS_REDACT.FULL,

expression => '1=1');

END;

/

問合せおよびリダクションされた結果:

SELECT COMMISSION_PCT FROM HR.EMPLOYEES;

COMMISSION_PCT

--------------

0

0

0

関連項目

Oracle Data Redactionポリシーからのユーザーの除外

親トピック: 完全リダクション・ポリシーの作成

例: 完全にリダクションされた文字値DBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、文字値を完全にリダクションするポリシーを作成できます。

例13-2では、mavis.cust_info表のuser_id列のユーザーIDを完全にリダクションする方法を示しています。user_id列は、VARCHAR2データ型です。出力は空白の文字列です。expression設定により、MGRロールのあるユーザーは、ユーザーIDを表示できます。

例13-2 完全にリダクションされた文字値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'user_id',

コピー

コピー

482

Page 483: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

policy_name => 'redact_cust_user_ids',

function_type => DBMS_REDACT.FULL,

expression => 'SYS_CONTEXT(''SYS_SESSION_ROLES'',''MGR'') =

''FALSE''');

END;

/

問合せおよびリダクションされた結果:

SELECT user_id FROM mavis.cust_info;

USER_ID

------------

0

0

0

親トピック: 完全リダクション・ポリシーの作成

デフォルトの完全データ・リダクション値の変更DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャは、デフォルトの完全データ・リダクション値を変更します。

デフォルトの完全データ・リダクション値の変更について完全データ・リダクション・ポリシーで表示されるデフォルトの値を変更できます。

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャの構文DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャでは、サポートされている標準のOracle Databaseデータ型を使用できます。

デフォルトの完全データ・リダクション値の変更デフォルトの完全データ・リダクション値を変更するには、DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを使用します。

親トピック: 完全リダクション・ポリシーの作成と完全リダクション値の変更

デフォルトの完全データ・リダクション値の変更について

完全データ・リダクション・ポリシーで表示されるデフォルトの値を変更できます。

コピー

483

Page 484: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle DatabaseがNUMBERデータ型の列に完全リダクション(DBMS_REDACT.FULL)を実行する場合、デフォルトでは0がリダクションされた値です。これを他の値(たとえば、7)に変更する場合、DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを実行すると、この値を変更できます。この変更は、現在のデータベース・インスタンスのすべてのデータ・リダクション・ポリシーに適用されます。値を有効にするには、変更した後に、データベースを再起動する必要があります。現在の値を検索するには、REDACTION_VALUES_FOR_TYPE_FULLデータ・ディクショナリ・ビューを問い合せます。

この変更は、完全なデータ・リダクションを使用するデータベースのすべてのデータ・リダクション・ポリシーに影響することに注意してください。デフォルトの完全データ・リダクション値を変更する前に、既存の完全データ・リダクション・ポリシーにこの変更が及ぼす影響を確認してください。

親トピック: デフォルトの完全データ・リダクション値の変更

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャの構文DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャでは、サポートされている標準のOracle Databaseデータ型を使用できます。

構文は次のとおりです。

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUES (

number_val IN NUMBER NULL,

binfloat_val IN BINARY_FLOAT NULL,

bindouble_val IN BINARY_DOUBLE NULL,

char_val IN CHAR NULL,

varchar_val IN VARCHAR2 NULL,

nchar_val IN NCHAR NULL,

nvarchar_val IN NVARCHAR2 NULL,

date_val IN DATE NULL,

ts_val IN TIMESTAMP NULL,

tswtz_val IN TIMESTAMP WITH TIME ZONE NULL,

blob_val IN BLOB NULL,

clob_val IN CLOB NULL,

nclob_val IN NCLOB NULL);

ここでは次のように指定します。

number_valは、NUMBERデータ型の列のデフォルトの値を変更します。

コピー

484

Page 485: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

binfloat_valは、BINARY_FLOATデータ型の列のデフォルトの値を変更します。

bindouble_valは、BINARY_DOUBLEデータ型の列のデフォルトの値を変更します。

char_valは、CHARデータ型の列のデフォルトの値を変更します。

varchar_valは、VARCHAR2データ型の列のデフォルトの値を変更します。

nchar_valは、NCHARデータ型の列のデフォルトの値を変更します。

nvarchar_valは、NVARCHAR2データ型の列のデフォルトの値を変更します。

date_valは、DATEデータ型の列のデフォルトの値を変更します。

ts_valは、TIMESTAMPデータ型の列のデフォルトの値を変更します。

tswtz_valは、TIMESTAMP WITH TIME ZONEデータ型の列のデフォルトの値を変更します。blob_valは、BLOBデータ型の列のデフォルトの値を変更します。

clob_valは、CLOBデータ型の列のデフォルトの値を変更します。

nclobは、NCLOBデータ型の列のデフォルトの値を変更します。

親トピック: デフォルトの完全データ・リダクション値の変更

デフォルトの完全データ・リダクション値の変更

デフォルトの完全データ・リダクション値を変更するには、DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを使用します。

1. DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限が付与されたユーザー、およびDBAロールが付与されたユーザーなどの管理権限を持つユーザーとして、データベース・インスタンスにログインします。

2. 変更する値を確認します。

たとえば、NUMBERデータ型を使用する列の現在の値を確認します。

SELECT NUMBER_VALUE FROM REDACTION_VALUES_FOR_TYPE_FULL;

NUMBER_VALUE

------------

0

3. DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャを実行して値を変更します。

コピー

485

Page 486: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

EXEC DBMS_REDACT.UPDATE_FULL_REDACTION_VALUES (number_val => 7);

4. データベース・インスタンスを再起動します。

例:

SHUTDOWN IMMEDIATE

STARTUP

親トピック: デフォルトの完全データ・リダクション値の変更

DBMS_REDACT.NULLIFYリダクション・ポリシーの作成表またはビューの列の表示された値に対してNULL値を返すOracle Data Redactionポリシーを作成できます。

NULL値を返すポリシーの作成についてDBMS_REDACT.NULLIFY function_typeパラメータは、列内のすべてのデータをリダクションし、NULL値に置き換えます。

NULL値を返すポリシー作成の構文DBMS_REDACT.ADD_POLICYプロシージャでは、完全リダクションを実行し、リダクションされた列にNULL値を表示するリダクション・ポリシーを作成できます。

例: NULL値を返すリダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャは、HR.EMPLOYEES表のCOMMISSION_PCT列に対してNULL値を返します。

親トピック: Oracle Data Redactionポリシーの構成

NULL値を返すポリシーの作成についてDBMS_REDACT.NULLIFY function_typeパラメータは、列内のすべてのデータをリダクションし、NULL値に置き換えます。

このファンクションのタイプは、DBMS_REDACT.FULLファンクション・タイプがサポートするすべてのサポートされる列タイプで使用できます。また、データ型CLOBおよびNCLOBもサポートし

コピー

コピー

486

Page 487: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ます。DBMS_REDACT.NULLIFYファンクションを使用するには、最初にCOMPATIBLEパラメータが少なくとも12.2.0.0.0に設定されているようにする必要があります。

親トピック: DBMS_REDACT.NULLIFYリダクション・ポリシーの作成

NULL値を返すポリシー作成の構文DBMS_REDACT.ADD_POLICYプロシージャでは、完全リダクションを実行し、リダクションされた列にNULL値を表示するリダクション・ポリシーを作成できます。

DBMS_REDACT.ADD_POLICYを使用してNULL値を返す構文は次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

function_type: リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.NULLIFYと入力します。

function_typeパラメータを省略する場合、デフォルトの設定はDBMS_REDACT.FULLです。列のデータ型は、使用が許可されているfunction_type設定を決定することに注意してください。データ型に基づいた完全、部分およびランダム・リダクションの比較を参照してください。

親トピック: DBMS_REDACT.NULLIFYリダクション・ポリシーの作成

例: NULL値を返すリダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャは、HR.EMPLOYEES表のCOMMISSION_PCT列に対してNULL値を返します。

コピー

487

Page 488: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

expressionパラメータにより、EXEMPT REDACTION POLICYシステム権限を付与されているユーザーを除き、この表に問合せを行うあらゆるユーザーにポリシーが適用されます。

例13-3では、Oracle Data Redactionポリシーを作成する方法を示しています。

例13-3 NULL値を返すリダクション・ポリシー

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'hr',

object_name => 'employees',

column_name => 'commission_pct',

policy_name => 'nullify_com_pct',

function_type => DBMS_REDACT.NULLIFY,

expression => '1=1');

END;

/

問合せおよびリダクションされた結果:

SELECT COMMISSION_PCT FROM HR.EMPLOYEES;

COMMISSION_PCT

--------------

関連項目

Oracle Data Redactionポリシーからのユーザーの除外

親トピック: DBMS_REDACT.NULLIFYリダクション・ポリシーの作成

部分リダクション・ポリシーの作成部分データ・リダクションでは、様々な種類のデータ型についてデータの一部をリダクションできます。

部分リダクション・ポリシーの作成について

コピー

コピー

488

Page 489: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データの部分リダクションでは、 番号の最初の 桁など、データの一部のみがリダクションされます。

部分リダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICY文では、アプリケーションに戻されるデータの特定の部分をリダクションするポリシーを作成できます。

固定文字形式を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータを使用することにより、固定文字形式を使用できるようになります。

文字データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータを使用することにより、文字データ型をリダクションできるようになります。

数値データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータにより、数値データ型をリダクションできます。

日時データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータにより、日時データ型をリダクションできます。

親トピック: Oracle Data Redactionポリシーの構成

部分リダクション・ポリシーの作成についてデータの部分リダクションでは、ID番号の最初の5桁など、データの一部のみがリダクションされます。

たとえば、クレジット・カードの番号の大半(最後の4桁以外)をアスタリスク(*)でリダクションできます。文字、数値または日時のデータ型を使用する列に対してポリシーを作成できます。文字データ型のリダクションを行うポリシーには、固定文字リダクション形式を使用できます。Enterprise Manager for Oracle Database 12.1.0.7プラグインがシステムにデプロイされている場合は、カスタム・リダクション形式を作成して保存することもできます。

ノート: 以前のリリースでは、「形式」のかわりに「ショートカット」という用語が使用されていました。

親トピック: 部分リダクション・ポリシーの作成

部分リダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICY文では、アプリケーションに戻されるデータの特定の部分をリダク

ID 5

489

Page 490: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ションするポリシーを作成できます。

部分リダクション・ポリシーを作成する場合の DBMS_REDACT.ADD_POLICYフィールドは次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

function_parameters IN VARCHAR2 := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください

function_type: リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.PARTIALと入力します。

function_parameters: ここで設定するパラメータは、column_nameパラメータに指定された列のデータ型によって異なります。詳細は次の項を参照してください。

固定文字形式を使用した部分リダクション・ポリシーの作成

文字データ型を使用した部分リダクション・ポリシーの作成

数値データ型を使用した部分リダクション・ポリシーの作成

日時データ型を使用した部分リダクション・ポリシーの作成

親トピック: 部分リダクション・ポリシーの作成

固定文字形式を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータを使用することにより、固定文字形式を使用できるようになります。

固定文字形式の設定Oracle Data Redactionには、固定文字を使用するポリシーを構成するための、特別な事前定義形式が用意されています。

コピー

490

Page 491: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 固定文字形式を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、固定文字形式を使用する部分リダクション・ポリシーを作成できます。

親トピック: 部分リダクション・ポリシーの作成

固定文字形式の設定Oracle Data Redactionには、固定文字を使用するポリシーを構成するための、特別な事前定義形式が用意されています。

表13-8では、DBMS_REDACT.ADD_POLICY function_parametersパラメータ形式について説明します。これは、通常リダクションされることが多いID番号(社会保障番号または、カナダ社会保険番号など)、郵便番号およびクレジット・カード(列でVARCHAR2またはNUMBERのデータ型のいずれかが使用される)に対して使用できます。

表13-8 部分固定文字リダクションの形式

形式 説明

DBMS_REDACT.REDACT_US_SSN_F5 列がVARCHAR2データ型の場合、社会保障番号の最初の5つの数字をリダクションします。たとえば、番号987-65-4320はXXX-XX-4320になります。

DBMS_REDACT.REDACT_US_SSN_L4 列がVARCHAR2データ型の場合、社会保障番号の最後の4つの数字をリダクションします。たとえば、番号987-65-4320は987-65-XXXXになります。

DBMS_REDACT.REDACT_US_SSN_ENTIRE 列がVARCHAR2データ型の場合、社会保障番号全体をリダクションします。たとえば、番号987-65-4320はXXX-XX-XXXXになります。

DBMS_REDACT.REDACT_NUM_US_SSN_F5 列がNUMBERデータ型の場合、社会保障番号の最初の5つの数字をリダクションします。たとえば、番号987654320はXXXXX4320になります。

DBMS_REDACT.REDACT_NUM_US_SSN_L4 列がNUMBERデータ型の場合、社会保障番号の最後の4つの数字をリダクションします。たとえば、番号987654320は98765XXXXになります。

DBMS_REDACT.REDACT_NUM_US_SSN_ENTIRE 列がNUMBERデータ型の場合、社会保障番号全体をリダクションします。たとえば、番号987654320はXXXXXXXXXになります。

DBMS_REDACT.REDACT_SIN_NUMBER カナダ社会保険番号の先頭6桁を9 (数字)で置き換えてリダクションします。たとえば、123456789は999999789にリダクションされます。

491

Page 492: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.REDACT_SIN_UNFORMATTED カナダ社会保険番号の先頭6桁をX (文字列)で置き換えてリダクションします。たとえば、123456789はXXXXXX789にリダクションされます。

DBMS_REDACT.REDACT_SIN_FORMATTED カナダ社会保険番号の先頭6桁をX (文字列)で置き換えてリダクションします。たとえば、123-456-789はXXX-XXX-789にリダクションされます。

DBMS_REDACT.REDACT_UK_NIN_FORMATTED 英国国民保険番号の先頭6桁をX (文字列)で置き換えてリダクションしますが、英字はそのまま残します。たとえば、ET 27 02 23 DはET XX XX XX Dにリダクションされます。

DBMS_REDACT.REDACT_UK_NIN_UNFORMATTED 英国国民保険番号の先頭6桁をX (文字列)で置き換えてリダクションし、英字はそのまま残します。たとえば、ET270223DはETXXXXXXDにリダクションされます。

DBMS_REDACT.REDACT_CCN_FORMATTED クレジット・カード番号(アメリカン・エキスプレス以外)を末尾4桁を残してすべて*に置き換えてリダクションします。たとえば、クレジット・カード番号5105–1051–0510–5100は、****—****—****—5100にリダクションされます。

DBMS_REDACT.REDACT_CCN_NUMBER クレジット・カード番号(アメリカン・エキスプレス以外)を末尾4桁を残してすべて0に置き換えてリダクションします。たとえば、クレジット・カード番号5105105105105100は、************5100にリダクションされます。

DBMS_REDACT.REDACT_CCN16_F12 16桁のクレジット・カード番号(アメリカン・エキスプレス以外)を末尾4桁の表示を残してすべてリダクションします。たとえば、5105 1051 05105100は****-****-****-5100になります。

DBMS_REDACT.REDACT_AMEX_CCN_FORMATTED アメリカン・エキスプレス・クレジット・カード番号の末尾5桁以外の桁を*に置き換えてリダクションします。たとえば、クレジット・カード番号3782822463 10005は、**** ****** 10005にリダクションされます。

DBMS_REDACT.REDACT_AMEX_CCN_NUMBER アメリカン・エキスプレス・クレジット・カード番号の末尾5桁以外の桁を0に置き換えてリダクションします。たとえば、クレジット・カード番号3782822463 10005は、0000 000000 10005にリダクションされます。

DBMS_REDACT.REDACT_ZIP_CODE 列がVARCHAR2データ型の場合、5桁の郵便番号をリダクションします。たとえば、95476はXXXXXになります。

DBMS_REDACT.REDACT_NUM_ZIP_CODE 列がNUMBERデータ型の場合、5桁の郵便番号をリダク

492

Page 493: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ションします。たとえば、95476はXXXXXになります。

DBMS_REDACT.REDACT_DATE_EPOCH すべての日付を01-JAN-70にリダクションします。

DBMS_REDACT.REDACT_NA_PHONE_FORMATTED 北米の電話番号をエリア・コードを残して他をすべてXに置き換えてリダクションします。たとえば、650-555–0100は650-XXX-XXXXにリダクションされます。

DBMS_REDACT.REDACT_NA_PHONE_NUMBER 北米の電話番号をエリア・コードを残して他をすべて0に置き換えてリダクションします。たとえば、6505550100は650000000にリダクションされます。

DBMS_REDACT.REDACT_NA_PHONE_UNFORMATTED

北米の電話番号をエリア・コードを残して他をすべてXに置き換えてリダクションします。たとえば、6505550100は650XXXXXXXにリダクションされます。

DBMS_REDACT.REDACT_DATE_MILLENNIUM DD-MON-YY形式の日付を01-JAN-00(2000年1月1日)にリダクションします。

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: 固定文字形式を使用した部分リダクション・ポリシーの作成

例: 固定文字形式を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、固定文字形式を使用する部分リダクション・ポリシーを作成できます。

例13-4 では、VARCHAR2データ型の列にある社会保障番号をREDACT_US_SSN_F5 形式によってリダクションする方法について説明します。

例13-4 部分的にリダクションされた文字値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'ssn',

policy_name => 'redact_cust_ssns3',

コピー

493

Page 494: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

function_type => DBMS_REDACT.PARTIAL,

function_parameters => DBMS_REDACT.REDACT_US_SSN_F5,

expression => '1=1',

policy_description => 'Partially redacts 1st 5 digits in SS

numbers',

column_description => 'ssn contains Social Security numbers');

END;

/

問合せおよびリダクションされた結果:

SELECT ssn FROM mavis.cust_info;

SSN

-------

XXX-XX-4320

XXX-XX-4323

XXX-XX-4325

XXX-XX-4329

親トピック: 固定文字形式を使用した部分リダクション・ポリシーの作成

文字データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータを使用することにより、文字データ型をリダクションできるようになります。

文字データ型の設定Oracle Data Redactionには、文字データ型を使用するポリシーを構成するための、特別な設定が用意されています。

例: 文字データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャにより、文字データ型を使用する部分リダクション・ポリシーを作成できます。

親トピック: 部分リダクション・ポリシーの作成

文字データ型の設定Oracle Data Redactionには、文字データ型を使用するポリシーを構成するための、特別な設定が用

コピー

494

Page 495: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

意されています。

DBMS_REDACT.ADD_POLICYのfunction_parametersパラメータを設定して文字データ型の部分リダクションを定義するときは、次の順序で次の設定の値を入力します。各値はカンマで区切ります。

ノート: 部分リダクションには、固定幅の文字セットを使用する必要があることに注意してください。つまり、リダクションされる各文字は、バイト長が等しい別の文字に置換される必要があります。可変長の文字セット(たとえば、UTF-8)を使用する場合、正規表現ベースのリダクションを使用する必要があります。詳細は、正規表現ベースのリダクション・ポリシーを作成する構文を参照してください。

設定は次のとおりです。

1. 入力形式: データが現在どのようにフォーマットされているかを指定します。クレジット・カード番号の全桁など、リダクションされる可能性のある各文字にVを入力します。クレジット・カード番号のハイフンまたは空白のような書式化文字を使用して書式化する場合、Fを入力します。各文字に、対応するVまたはF値があるか確認します。(入力形式の値は大/小文字を区別しません。)

2. 出力形式: 表示されるデータを書式化する方法を定義します。リダクションされる可能性のある各文字にVを入力します。入力形式の各文字Fをハイフンなど表示される文字に使用する文字に置換します。(出力形式の値は大/小文字を区別しません。)

3. マスク文字: リダクションに使用する文字を指定します。アスタリスク(*)など、リダクションに使用する単一の文字を入力します。

4. 開始する数字位置: リダクションで開始するVの数字位置を指定します。

5. 終了する数字位置: リダクションで終了するVの数字位置を指定します。終了する位置の値を決めるときは、Fの位置を含めないでください。

たとえば、次の設定は、クレジット・カード番号5105 1051 0510 5100の最初の12桁のVをリダクションし、Fの位置(空白)をハイフンに置換することでクレジット・カード番号で通常使用されるスタイルに書式化し、その結果****-****-****-4320と表示されます。

function_parameters => 'VVVVFVVVVFVVVVFVVVV,VVVV-VVVV-VVVV-

VVVV,*,1,12',

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

コピー

495

Page 496: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 文字データ型を使用した部分リダクション・ポリシーの作成

例: 文字データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャにより、文字データ型を使用する部分リダクション・ポリシーを作成できます。

例13-5には、VARCHAR2データ型の列にある社会保障番号をリダクションする方法と、社会保障番号に含まれているハイフンを保持する方法を示します。

例13-5 部分的にリダクションされた文字値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'ssn',

policy_name => 'redact_cust_ssns2',

function_type => DBMS_REDACT.PARTIAL,

function_parameters => 'VVVFVVFVVVV,VVV-VV-VVVV,*,1,5',

expression => '1=1',

policy_description => 'Partially redacts Social Security

numbers',

column_description => 'ssn contains character Social Security

numbers');

END;

/

問合せおよびリダクションされた結果:

SELECT ssn FROM mavis.cust_info;

SSN

-----------

***-**-4320

***-**-4323

***-**-4325

***-**-4329

コピー

コピー

496

Page 497: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 文字データ型を使用した部分リダクション・ポリシーの作成

数値データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータにより、数値データ型をリダクションできます。

数値データ型の設定数値データ型の値を設定する場合、マスク文字、開始する数字位置および終了する数字位置を指定する必要があります。

例: 数値データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャにより、数値データ型を使用する部分リダクション・ポリシーを作成できます。

親トピック: 部分リダクション・ポリシーの作成

数値データ型の設定

数値データ型の値を設定する場合、マスク文字、開始する数字位置および終了する数字位置を指定する必要があります。

数値データ型の部分リダクションの場合、DBMS_REDACT.ADD_POLICYfunction_parametersパラメータについて、次の設定項目の値を記載されている順番に入力できます。

1. マスク文字: 表示する文字を指定します。0から9までの数値を入力します。

2. 開始する数字位置: 最初の数字に1を指定するなど、リダクションで開始するの数字位置を指定します。

3. 終了する数字位置: リダクションで終了する数字位置を指定します。

たとえば、次の設定は、社会保障番号987654321の最初の5桁をリダクションし、その結果、999994321と表示されます。

function_parameters => '9,1,5',

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: 数値データ型を使用した部分リダクション・ポリシーの作成

コピー

497

Page 498: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 数値データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャにより、数値データ型を使用する部分リダクション・ポリシーを作成できます。

例13-6では、mavis.cust_info表の一連の社会保障番号を、ログインした任意のアプリケーション・ユーザーに対して部分リダクションする方法を示しています。(そのため、expressionパラメータはTRUEと評価されます。)

このタイプのリダクションが役立つのは、文字列ではなく書式設定された数値をアプリケーションが想定している場合です。このシナリオでは、社会保障番号はデータ型NUMBERの列にあります。つまり、ssn列に含まれるのは数字のみで、ハイフンまたは空白など他の文字は含まれせん。

例13-6 部分的にリダクションされたデータ・リダクションの数値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'ssn',

policy_name => 'redact_cust_ssns1',

function_type => DBMS_REDACT.PARTIAL,

function_parameters => '7,1,5',

expression => '1=1',

policy_description => 'Partially redacts Social Security

numbers',

column_description => 'ssn contains numeric Social Security

numbers');

END;

/

問合せおよびリダクションされた結果:

SELECT ssn FROM mavis.cust_info;

SSN

---------

777774320

777774323

コピー

コピー

498

Page 499: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

777774325

777774329

親トピック: 数値データ型を使用した部分リダクション・ポリシーの作成

日時データ型を使用した部分リダクション・ポリシーの作成DBMS_REDACT.ADD_POLICY function_parametersパラメータにより、日時データ型をリダクションできます。

日時データ型の設定Oracle Data Redactionには、日時データ型を構成するための特別な設定が用意されています。

例: 日時データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャにより、日時データ型を使用する部分リダクション・ポリシーを作成できます。

親トピック: 部分リダクション・ポリシーの作成

日時データ型の設定Oracle Data Redactionには、日時データ型を構成するための特別な設定が用意されています。

日時データ型の部分リダクションの場合、次のDBMS_REDACT.ADD_POLICYfunction_parametersパラメータ設定項目の値を入力します。

値は次に示す順序で入力します。

1. m: 月をリダクションします。月の名前でリダクションするには、1から12を小文字のmに追加します。たとえば、m5は、MAYと表示されます。リダクションを省略するには、大文字のMを入力します。

2. d: 月の日をリダクションします。月の日でリダクションするには、1から31を小文字のdに追加します。たとえば、d7は、07と表示されます。月の日よりも大きい数値(たとえば、2月に31を入力)を入力すると、その月の最終日(たとえば、28)が表示されます。リダクションを省略するには、大文字のDを入力します。

3. y: 年をリダクションします。年でリダクションするには、1から9999を小文字のyに追加します。たとえば、y1984は、84と表示されます。リダクションを省略するには、大文字のYを入力します。

4. h: 時間をリダクションします。時間でリダクションするには、0から23を小文字のhに追加します。たとえば、h20は、20と表示されます。リダクションを省略するには、大文字のHを入力します。

5. m: 分をリダクションします。分でリダクションするには、0から59を小文字のmに追加しま

499

Page 500: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。たとえば、m30は、30と表示されます。リダクションを省略するには、大文字のMを入力します。

6. s: 秒をリダクションします。秒でリダクションするには、0から59を小文字のsに追加します。たとえば、s45は、45と表示されます。リダクションを省略するには、大文字のSを入力します。

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: 日時データ型を使用した部分リダクション・ポリシーの作成

例: 日時データ型を使用した部分リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャにより、日時データ型を使用する部分リダクション・ポリシーを作成できます。

例13-7では、日付を部分的にリダクションする方法を示しています。この例では顧客の誕生年をリダクションし、それを13に置き換え、残りの値はそのまま保持します。

例13-7 日時値を使用した部分リダクションによるデータ・リダクション

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'birth_date',

policy_name => 'redact_cust_bdate',

function_type => DBMS_REDACT.PARTIAL,

function_parameters => 'mdy2013HMS',

expression => '1=1',

policy_description => 'Replaces birth year with 2013',

column_description => 'birth_date contains customer's

birthdate');

END;

/

問合せおよびリダクションされた結果:

コピー

500

Page 501: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SELECT birth_date FROM mavis.cust_info;

BIRTH_DATE

07-DEC-13 09.45.40.000000 AM

12-OCT-13 04.23.29.000000 AM

親トピック: 日時データ型を使用した部分リダクション・ポリシーの作成

正規表現ベースのリダクション・ポリシーの作成正規表現ベースのリダクション・ポリシーでは、検索置換モデルに基づいてデータをリダクションできます。

正規表現ベースのリダクション・ポリシーの作成について正規表現ベースのリダクションでは、リダクションするデータのパターンを検索できます。

正規表現ベースのリダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICYプロシージャのregexp_*パラメータによって、正規表現ベースのリダクション・ポリシーを作成できます。

形式を使用した正規表現ベースのリダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャのregexp_patternパラメータとregexp_replace_stringパラメータの両方で、形式を使用できます。

カスタム正規表現リダクション・ポリシーデータ・リダクション・ポリシーで正規表現をカスタマイズできます。

親トピック: Oracle Data Redactionポリシーの構成

正規表現ベースのリダクション・ポリシーの作成について正規表現ベースのリダクションでは、リダクションするデータのパターンを検索できます。

たとえば、正規表現を使用して、文字の長さが変化する可能性のある電子メール・アドレスをリダクションできます。これは、文字データのみで使用するように設計されています。検索および置換操作に形式を使用することも、カスタム・パターン形式を作成することもできます。

列内の値のサブセットのリダクションに正規表現は使用できません。REGEXP_REPLACE_STRINGの設定を有効にするには、REGEXP_PATTERN (正規表現パターン)がすべての値に一致する必要があり、REGEXP_REPLACE_STRINGが値を変更する必要があります。

REGEXP_PATTERNが一致しない行では、データ・リダクションはDBMS_REDACT.FULLリダクシ

コピー

501

Page 502: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ョンを実行します。これにより、一致しない行の実際のデータの表示から、正規表現が列内の値のすべてに一致しない原因となるREGEXP_PATTERNでの誤りのリスクが軽減されます。

さらに、正規表現の置換操作中に、REGEXP_REPLACE_STRING設定の結果として発生する値への変更がない場合、データ・リダクションはDBMS_REDACT.FULLリダクションを実行します。

親トピック: 正規表現ベースのリダクション・ポリシーの作成

正規表現ベースのリダクション・ポリシーを作成する構文DBMS_REDACT.ADD_POLICYプロシージャのregexp_*パラメータによって、正規表現ベースのリダクション・ポリシーを作成できます。

正規表現ベース完全データ・リダクション・ポリシーを作成する場合のDBMS_REDACT.ADD_POLICYフィールドは次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE,

regexp_pattern IN VARCHAR2 := NULL,

regexp_replace_string IN VARCHAR2 := NULL,

regexp_position IN BINARY_INTEGER := 1,

regexp_occurrence IN BINARY_INTEGER := 0,

regexp_match_parameter IN VARCHAR2 := NULL);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

function_type: リダクションのタイプを指定します。正規表現に基づくリダクションには、DBMS_REDACT.REGEXPまたはDBMS_REDACT.REGEXP_WIDTHのいずれかを使用します。DBMS_REDACT.REGEXPリダクション・タイプを使用した場合、切捨ては行われません。これは、リダクションされる値が列幅よりも広い場合、およびOracle Call Interfaceの列の幅属性(OCI_ATTR_CHAR_SIZE)が保持されていない場合であっても適用されます。(これ

コピー

502

Page 503: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

は、REGEXP_REPLACE SQL演算子が列で使用されているとき同じように4000になります。)

DBMS_REDACT.REGEXP_WIDTHリダクション・タイプを使用すると、列の幅を超えるリダクション済の値が切り捨てられ、列のOCI幅属性(OCI_ATTR_CHAR_SIZE)が変更されないままになります。

次の点に注意してください。アプリケーションがOCI_ATTR_CHAR_SIZE属性の値に依存する場合、DBMS_REDACT.REGEXP_WIDTHファンクション・タイプを使用します。たとえば、Oracle OLE DB Providerインタフェースを使用して構築されたアプリケーションは、OCI_ATTR_CHAR_SIZE属性の値に影響を受けやすくなります。DBMS_REDACT.REGEXPをリダクション・タイプとして使用した場合、OCI_ATTR_CHAR_SIZEは常に4000になります。この設定は、Oracle OLE DBベースのアプリケーションに使用される表に対するポリシーのリダクション・タイプとしては不適切になります。Oracle Call Interfaceのパラメータ属性の詳細は、Oracle CallInterfaceプログラマーズ・ガイドを参照してください。

function_typeパラメータをDBMS_REDACT.REGEXPまたはDBMS_REDACT.REGEXP_WIDTHに設定するときには、DBMS_REDACT.ADD_POLICYプロシージャからのfunction_parametersパラメータを省略します。引数pattern、replace、position、occurrenceおよびmatch_parameterをREGEXP_REPLACE SQLファンクションに指定したのとほぼ同じ方法で正規表現パラメータを指定します。REGEXP_REPLACE SQLファンクションの詳細は、Oracle Database SQL言語リファレンスを参照してください。

regexp_pattern: 一致する必要のあるデータの検索パターンを説明します。一致が見つかった場合、Oracle Databaseは、regexp_replace_string設定で指定されたとおりにデータを置換します。詳細は、次の各項を参照してください。

形式を使用した正規表現ベースのリダクション・ポリシー

カスタム正規表現リダクション・ポリシー

regexp_replace_string: データのリダクション方法を指定します。詳細は、次の各項を参照してください。

形式を使用した正規表現ベースのリダクション・ポリシー

カスタム正規表現リダクション・ポリシー

regexp_position: 文字列検索の開始位置を指定します。入力する値は、Oracle Databaseが検索を開始するcolumn_nameデータの文字を示す正の整数です。デフォルトは、1またはDBMS_REDACT.RE_BEGINNING形式で、Oracle Databaseがcolumn_nameデータの最初の文字で検索を開始することを意味します。

503

Page 504: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

regexp_occurrence: 検索および置換操作の実行方法を指定します。入力する値は、置換操作の回数を示す正の整数です。

0またはDBMS_REDACT.RE_ALL形式を指定する場合、Oracle Databaseは、一致したすべてのものを置換します。DBMS_REDACT.RE_FIRST形式を指定する場合、Oracle Databaseは、最初に一致したものを置換します。正の整数nを指定すると、Oracle Databaseは、n番目の一致を置換します。

出現が1より大きい場合、1番目のパターンが検出された後に続く1文字目から、2番目(以降)の出現を検索します。regexp_match_parameter: ファンクションが持つデフォルトの照合動作を変更できるテキスト・リテラルを指定します。このパラメータの動作は、REGEXP_REPLACE SQLファンクションのこのファンクションの動作と同じです。詳細は、Oracle Database SQL言語リファレンスを参照してください。

大文字と小文字を区別せずに検索をフィルタするには、RE_CASE_INSENSITIVE形式を指定します。

親トピック: 正規表現ベースのリダクション・ポリシーの作成

形式を使用した正規表現ベースのリダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャのregexp_patternパラメータとregexp_replace_stringパラメータの両方で、形式を使用できます。

正規表現の形式正規表現の形式によって、クレジット・カード番号の数を置換する場合などによく使用される表現を表します。

例: 形式を使用した正規表現リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャによって、形式を使用した正規表現リダクション・ポリシーを作成できます。

親トピック: 正規表現ベースのリダクション・ポリシーの作成

正規表現の形式

正規表現の形式によって、クレジット・カード番号の数を置換する場合などによく使用される表現を表します。

表13-9では、DBMS_REDACT.ADD_POLICYプロシージャ内のregexp_patternパラメータで使用できる形式について説明します。

表13-9 regexp_patternパラメータの形式

504

Page 505: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

形式 説明

DBMS_REDACT.RE_PATTERN_ANY_DIGIT 任意の桁を検索します。識別されたパターンを、regexp_replace_stringパラメータで指定された文字に置き換えます。DBMS_REDACT.RE_PATTERN_ANY_DIGITは、regexp_replace_stringパラメータの次の値でよく使用されます。

regexp_replace_string =>

DBMS_REDACT.RE_REDACT_WITH_

SINGLE_X,

この設定によって、一致した任意の桁がXの文字に置換されます。

次の設定では、一致した任意の桁が1の文字に置換されます。

regexp_replace_string =>

DBMS_REDACT.RE_REDACT_WITH_

SINGLE_1,

DBMS_REDACT.RE_PATTERN_CC_L6_T4 先頭6桁および末尾4桁を持つ任意のクレジット・カード(アメリカン・エキスプレス以外)の中央の桁を検索します。識別されたパターンを、regexp_replace_stringパラメータで指定された文字に置き換えます。

この形式で使用する適切なregexp_replace_string設定はDBMS_REDACT.RE_REDACT_CC_MIDDLE_DIGITSです。これによって、先頭6桁と末尾4桁を実際のデータとして残すすべてのクレジット・カードが検索されます。その後、中央の桁がリダクションされます。

DBMS_REDACT.RE_PATTERN_CCN アメリカン・エキスプレス・クレジット・カード番号以外のクレジット・カード番号に一致します。この形式で使用する適切なregexp_replace_string設定は、DBMS_REDACT.RE_REDACT_CCNです。最終結果は、末尾4桁以外のすべての桁のリダクションとなります。

DBMS_REDACT.RE_PATTERN_AMEX_CCN アメリカン・エキスプレス・クレジット・カード番号に一致します。この形式で使用する適切なregexp_replace_string設定は、DBMS REDACT.RE REDACT AMEX CCNです。最

505

Page 506: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

終結果は、末尾5桁以外のすべての桁のリダクションとなります。

DBMS_REDACT.RE_PATTERN_US_PHONE 任意の米国の電話番号を検索します。識別されたパターンを、regexp_replace_stringパラメータで指定された文字に置き換えます。

この形式で使用する必要のある適切なregexp_replace_string設定はDBMS_REDACT.RE_REDACT_US_PHONE_L7であり、これによって米国の電話番号が検索され、その後、最後の7桁がリダクションされます。

DBMS_REDACT.RE_PATTERN_EMAIL_ADDRESS 任意の電子メール・アドレスを検索します。識別されたパターンを、regexp_replace_stringパラメータで指定された文字に置き換えます。

この形式で使用できる適切なregexp_replace_string設定は次のとおりです。

RE_REDACT_EMAIL_NAME: 任意の電子メール・アドレスを検索して電子メール・ユーザー名をリダクションします。

RE_REDACT_EMAIL_DOMAIN: 任意の電子メール・アドレスを検索して電子メール・ドメインをリダクションします。

RE_REDACT_EMAIL_ENTIRE: 任意の電子メール・アドレスを検索して電子メール・アドレス全体をリダクションします。

DBMS_REDACT.RE_PATTERN_IP_ADDRESS 任意のIPアドレスを検索します。識別されたパターンを、regexp_replace_stringパラメータで指定された文字に置き換えます。

この形式で使用する必要のある適切なregexp_replace_string設定はDBMS_REDACT.RE_REDACT_IP_L3であり、これによってIPアドレスにおけるドット付きの10進文字列表現の最後のセクションが、リダクションされたことを示す文字の999に置換されます。

表13-10では、DBMS_REDACT.ADD_POLICYプロシージャ内のregexp_replace_stringパラメータで使用できる形式について説明します。

表13-10 regexp_replace_stringパラメータの形式

形式 説明

DBMS_REDACT.RE_REDACT_WITH_SINGLE_X 実際のデータの各文字を単一の文字Xで置換します。たとえば、クレジット・カード番号5105 10510510 5100をXXXX XXXX XXXX XXXXに置換できます。

506

Page 507: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.RE_REDACT_WITH_SINGLE_1 実際のデータの各桁を1桁の数字1で置換します。たとえば、クレジット・カード番号5105 1051 05105100を1111 1111 1111 1111に置換できます。

DBMS_REDACT.RE_REDACT_CC_MIDDLE_DIGITS

クレジット・カード番号の中央の桁を、RE_PATTERN_CC_L6_T4形式を使用したregexp_patternパラメータの設定で指定したとおりにリダクションします。このリダクションにより、リダクションされる各文字はXに置換されます。たとえば、クレジット・カード番号5105 10510510 5100を5105 10XX XXXX 5100に置換できます。

DBMS_REDACT.RE_REDACT_CCN アメリカン・エキスプレスのカード番号以外のクレジット・カード番号の先頭12桁をリダクションします。たとえば、4012888888881881は************1881にリダクションされます。

DBMS_REDACT.RE_REDACT_AMEX_CCN アメリカン・エキスプレスの番号の先頭10桁をリダクションします。たとえば、378282246310005は**********10005にリダクションされます。

DBMS_REDACT.RE_REDACT_PHONE_L7 米国の電話番号の最後の7桁を、RE_PATTERN_US_PHONE形式を使用したregexp_patternパラメータの設定で指定したとおりにリダクションします。このリダクションにより、リダクションされる各文字はXに置換されます。この設定はハイフンで連結された電話番号にのみ適用され、空白を含む電話番号には適用されません。たとえば、電話番号415-555-0100は、415-XXX-XXXXに置換できます。

DBMS_REDACT.RE_REDACT_EMAIL_NAME 電子メール・アドレスを、RE_PATTERN_EMAIL_ADDRESS形式を使用したregexp_patternパラメータの設定で指定したとおりにリダクションします。このリダクションにより、電子メール・ユーザー名は4つの文字xに置換されます。たとえば、電子メール・アドレス[email protected]は、[email protected]に置換されます。

DBMS_REDACT.RE_REDACT_EMAIL_DOMAIN 電子メール・ドメイン名を、RE_PATTERN_EMAIL_ADDRESS形式を使用したregexp_patternパラメータの設定で指定したとおりにリダクションします。このリダクションにより、ドメインは5つの文字xに置換されます。たとえば、電子メール・アドレス[email protected]は、[email protected]に置換できます。

DBMS_REDACT.RE_REDACT_IP_L3 IPアドレスの最後の3桁

507

Page 508: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を、RE_PATTERN_IP_ADDRESS形式を使用したregexp_patternパラメータの設定で指定したとおりにリダクションします。たとえば、IPアドレス192.0.2.254は、無効なIPアドレスである192.0.2.999に置換されます。

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: 形式を使用した正規表現ベースのリダクション・ポリシー

例: 形式を使用した正規表現リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャによって、形式を使用した正規表現リダクション・ポリシーを作成できます。

例13-8では、正規表現形式を使用してクレジット・カード番号をリダクションする方法を示しています。

例13-8 正規表現データ・リダクション文字値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'cc_num',

policy_name => 'redact_cust_cc_nums',

function_type => DBMS_REDACT.REGEXP,

function_parameters => NULL,

expression => '1=1',

regexp_pattern => DBMS_REDACT.RE_PATTERN_CC_L6_T4,

regexp_replace_string => DBMS_REDACT.RE_REDACT_CC_MIDDLE_DIGITS,

regexp_position => DBMS_REDACT.RE_BEGINNING,

regexp_occurrence => DBMS_REDACT.RE_FIRST,

regexp_match_parameter => DBMS_REDACT.RE_CASE_INSENSITIVE,

policy_description => 'Regular expressions to redact credit

card numbers',

column_description => 'cc_num contains customer credit card

numbers');

END;

/

コピー

508

Page 509: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

問合せおよびリダクションされた結果:

SELECT cc_num FROM mavis.cust_info;

CC_NUM

-------

401288XXXXXX1881

411111XXXXXX1111

555555XXXXXX1111

511111XXXXXX1118

親トピック: 形式を使用した正規表現ベースのリダクション・ポリシー

カスタム正規表現リダクション・ポリシーデータ・リダクション・ポリシーで正規表現をカスタマイズできます。

カスタム正規表現の設定Oracle Data Redactionには、正規表現を使用するポリシーを構成するための、特別な設定が用意されています。

例: カスタム正規表現リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャのregexp*パラメータによって、カスタム正規表現リダクション・ポリシーを作成できます。

親トピック: 正規表現ベースのリダクション・ポリシーの作成

カスタム正規表現の設定Oracle Data Redactionには、正規表現を使用するポリシーを構成するための、特別な設定が用意されています。

カスタム正規表現リダクション・ポリシーを作成するには、DBMS_REDACT.ADD_POLICYプロシージャで次のパラメータを使用します。

regexp_pattern: このパターンは通常テキスト・リテラルであり、データ型はCHAR、VARCHAR2、NCHARまたはNVARCHAR2のいずれかになります。パターンには、512バイトまで入力できます。regexp_patternパラメータの正規表現を記述する方法の詳細は、『Oracle Database SQL言語リファレンス』にあるREGEXP_REPLACE SQL関数のpattern引数の説明を参照してください(データ・リダクションがサポートする正規表現

コピー

509

Page 510: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

の一致は、REGEXP_REPLACE SQL関数のものとよく似ているため)。

regexp_replace_string: データ型はCHAR、VARCHAR2、NCHARまたはNVARCHAR2のいずれかになります。regexp_replace_stringには、最大500個の部分正規表現への後方参照を\nという書式で指定でき、nは、1から9の数値です。regexp_replace_string設定にバックスラッシュ(\)を含める場合、その前にエスケープ文字(これもバックスラッシュ)を付ける必要があります。たとえば、一致したパターンを文字どおり\2に置換するには(それを一致したパターンで2番目に一致した部分正規表現に置換するのではない場合)、regexp_replace_string設定に\\2を入力します。詳細は、Oracle Database SQL言語リファレンスを参照してください。

関連項目:

その他のDBMS_REDACT.ADD_POLICYパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: カスタム正規表現リダクション・ポリシー

例: カスタム正規表現リダクション・ポリシーDBMS_REDACT.ADD_POLICYプロシージャのregexp*パラメータによって、カスタム正規表現リダクション・ポリシーを作成できます。

例13-9では、emp_id列データをリダクションする正規表現の使用方法を示しています。次の例では、regexp_patternパラメータとregexp_replace_stringパラメータが組み合されて、最初に9桁のパターンが検索されます。参照用に、それらは最初の3桁、次の2桁、最後の4桁を含む3つのグループに分割されます。その後、9桁すべてが、元のパターンで検索された3番目のグループ(最後の4桁)と連結されたXXXXXに置換されます。

問合せおよびリダクションされた結果:

SELECT emp_id FROM mavis.cust_info;

EMP_ID

------------

XXXXX1234

XXXXX5678

例13-9 正規表現を使用した部分的にリダクションされたデータ・リダクション

BEGIN

コピー

コピー

510

Page 511: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'emp_id',

policy_name => 'redact_cust_ids',

function_type => DBMS_REDACT.REGEXP,

expression => '1=1',

regexp_pattern => '(\d\d\d)(\d\d)(\d\d\d\d)',

regexp_replace_string => 'XXXXX\3',

regexp_position => 1,

regexp_occurrence => 0,

regexp_match_parameter => 'i',

policy_description => 'Redacts customer IDs using regular

expression',

column_description => 'emp_id contains employee ID numbers');

END;

/

親トピック: カスタム正規表現リダクション・ポリシー

ランダム・リダクション・ポリシーの作成ランダム・リダクション・ポリシーは、リダクションされたデータをランダムに生成した値(Ukjsl32[[]]]sなど)で表します。

ランダム・リダクション・ポリシーを作成する構文ランダム・リダクション・ポリシーでは、問合せを行ったアプリケーション・ユーザーに対し、列のデータ型に基づいてランダムに生成された値によるリダクション済のデータが表示されます。

例: ランダム・リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、ランダム・リダクション・ポリシーを作成できます。

親トピック: Oracle Data Redactionポリシーの構成

ランダム・リダクション・ポリシーを作成する構文ランダム・リダクション・ポリシーでは、問合せを行ったアプリケーション・ユーザーに対し、列のデータ型に基づいてランダムに生成された値によるリダクション済のデータが表示されます。

511

Page 512: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

LOB列がサポートされていないことに注意してください。

ランダム・リダクション・ポリシーを作成する場合の DBMS_REDACT.ADD_POLICYフィールドは次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

function_type: リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.RANDOMと入力します。

function_typeパラメータを省略する場合、デフォルトのリダクションfunction_type設定は、DBMS_REDACT.FULLです。

列のデータ型は、使用が許可されているfunction_type設定を決定することに注意してください。データ型に基づいた完全、部分およびランダム・リダクションの比較を参照してください。

親トピック: ランダム・リダクション・ポリシーの作成

例: ランダム・リダクション・ポリシーDBMS_REDACT.ADD_POLICY PL/SQLプロシージャを使用して、ランダム・リダクション・ポリシーを作成できます。

例13-10では、ランダム値の生成方法を示しています。SELECT文を実行するたびに、出力は異なります。

例13-10 ランダムにリダクションされたデータ・リダクションの値

BEGIN

コピー

コピー

512

Page 513: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

column_name => 'login_username',

policy_name => 'redact_cust_rand_username',

function_type => DBMS_REDACT.RANDOM,

expression => 'SYS_CONTEXT(''USERENV'',''SESSION_USER'') =

''APP_USER''');

END;

/

問合せおよびリダクションされた結果:

SELECT login_username FROM mavis.cust_info;

LOGIN_USERNAME

--------------

N[CG{\pTVcK

親トピック: ランダム・リダクション・ポリシーの作成

リダクションを使用しないポリシーの作成開発環境でポリシーをテストする場合には、まったくリダクションを使用しないポリシーを作成できます。

リダクションを使用しないポリシーの作成の構文リダクション・タイプNoneを指定するオプションを使用して、リダクション・ポリシーの内部動作をテストできます。

例: リダクションを実行しないDBMS_REDACT.ADD_POLICYプロシージャによって、リダクションを実行しないポリシーを作成できます。

親トピック: Oracle Data Redactionポリシーの構成

リダクションを使用しないポリシーの作成の構文リダクション・タイプNoneを指定するオプションを使用して、リダクション・ポリシーの内部動作をテストできます。

コピー

513

Page 514: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

リダクション・タイプ は、ポリシーが定義された表に対する問合せの結果に影響を与えません。このオプションを使用して、リダクション・ポリシー定義を本番環境に適用する前にテストできます。LOB列がサポートされていないことに注意してください。

リダクションを使用しないポリシーを作成する場合の DBMS_REDACT.ADD_POLICYフィールドは次のとおりです。

DBMS_REDACT.ADD_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2,

column_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

function_type IN BINARY_INTEGER := NULL,

expression IN VARCHAR2,

enable IN BOOLEAN := TRUE);

ここでは次のように指定します。

object_schema、object_name、column_name、policy_name、expression、enable: 「DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文」を参照してください。

function_type: データ・リダクションのタイプの設定に使用するファンクションを指定します。DBMS_REDACT.NONEと入力します。

function_typeパラメータを省略する場合、デフォルトのリダクションfunction_type設定は、DBMS_REDACT.FULLです。

親トピック: リダクションを使用しないポリシーの作成

例: リダクションを実行しないDBMS_REDACT.ADD_POLICYプロシージャによって、リダクションを実行しないポリシーを作成できます。

例13-11では、表示されている値のいずれもリダクションしないデータ・リダクション・ポリシーの生成方法を示しています。

例13-11 リダクションされないデータ・リダクション値

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'mavis',

コピー

コピー

None

514

Page 515: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

object_name => 'cust_info',

column_name => 'user_name',

policy_name => 'redact_cust_no_vals',

function_type => DBMS_REDACT.NONE,

expression => '1=1');

END;

/

問合せおよびリダクションされた結果:

SELECT user_name FROM mavis.cust_info;

USER_NAME

----------

IDA NEAU

親トピック: リダクションを使用しないポリシーの作成

Oracle Data Redactionポリシーからのユーザーの除外アクセスしたデータにOracle Data Redactionポリシーを適用しないように、ユーザーを除外することができます。

そのためには、そのユーザーにEXEMPT REDACTION POLICYシステム権限を付与する必要があります。この権限は信頼できるユーザーにのみ付与してください。

また、この権限を付与されているユーザーに加え、ユーザーSYSも、すべてのデータ・リダクション・ポリシーから除外されます。データ・リダクション・ポリシーを作成するユーザーは、そのユーザーがユーザーSYSであるか、またはEXEMPT REDACTION POLICYシステム権限が付与されている場合を除き、デフォルトでは、データ・リダクション・ポリシーから除外されません。

次の点に注意してください。

表に対するINSERT権限があるユーザーは、データ・リダクション・ポリシーがテーブルに存在するかどうかにかかわらず、リダクションされた列に値を挿入できます。データ・リダクションは、ユーザーが発行したSQL SELECT文(つまり、問合せ)のみに影響し、ユーザーが発行するその他のSQL(INSERT、UPDATEまたはDELETE文など)には影響しません。(この例の例外は、次の箇条書きを参照してください。)

選択されている列(ソース列)のいずれかがデータ・リダクション・ポリシーで保護されている場合、ユーザーは、EXEMPT REDACTION POLICYシステム権限が付与されていないかぎ

コピー

515

Page 516: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

り、CREATE TABLE AS SELECTを実行できません(同様に、ソースがリダクションされた列である場合、DML操作も実行できません)。EXEMPT REDACTION POLICYシステム権限は、DBAロールに含まれますが、この権限は、DBAロールが付与された場合のWITH ADMIN OPTIONには含まれないので、明示的にユーザーに付与される必要があります。DBAロールには、EXEMPT REDACTION POLICYシステム権限が付与されるEXP_FULL_DATABASEロールが含まれるため、DBAロールが付与されたユーザーはリダクション・ポリシーから除外されます。

関連項目

Oracle Data Redactionポリシーへの管理アクセスの制限

Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデル

親トピック: Oracle Data Redactionポリシーの構成

Oracle Data Redactionポリシーの変更DBMS_REDACT.ALTER_POLICYプロシージャでは、Oracle Data Redactionポリシーを変更できます。

Oracle Data Redactionポリシーの変更についてDBMS_REDACT.ALTER_POLICYプロシージャは、データ・リダクション・ポリシーを変更します。

DBMS_REDACT.ALTER_POLICYプロシージャの構文DBMS_REDACT.ALTER_POLICYプロシージャの構文を使用して、すべてのタイプのデータ・リダクション・ポリシーを変更できます。

DBMS_REDACT.ALTER_POLICY操作に必要なパラメータDBMS_REDACT.ALTER_POLICYプロシージャには、列の追加や変更などの様々な操作を実行できるパラメータが用意されています。

チュートリアル: Oracle Data Redactionポリシーの変更列ごとに独自のリダクション設定を使用して、表またはビューの複数の列をリダクションできます。

親トピック: Oracle Data Redactionポリシーの構成

Oracle Data Redactionポリシーの変更についてDBMS_REDACT.ALTER_POLICYプロシージャは、データ・リダクション・ポリシーを変更します。

516

Page 517: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ポリシーがすでに有効化されている場合は、最初に無効化する必要はなく、またポリシーを変更した後でもポリシーは有効化された状態が維持されます。

REDACTION_POLICIESデータ・ディクショナリ・ビューのPOLICY_NAME列を問い合せて、既存のデータ・リダクション・ポリシーの名前を検索したり、REDACTION_COLUMNSビューを問い合せて、ポリシー内に指定された列、関数およびパラメータに関する情報を検索できます。完全データ・リダクションを使用するポリシーを現在の値から検索するには、REDACTION_VALUES_FOR_TYPE_FULLデータ・ディクショナリ・ビューを問い合せます。

actionパラメータは、実行する変更の型を指定します。このプロシージャを実行するときは、少なくともobject_nameおよびpolicy_nameパラメータを含める必要があります。

関連項目

ビューが無効な場合のREDACTION_COLUMNSデータ・ディクショナリ・ビューの動作

親トピック: Oracle Data Redactionポリシーの変更

DBMS_REDACT.ALTER_POLICYプロシージャの構文DBMS_REDACT.ALTER_POLICYプロシージャの構文を使用して、すべてのタイプのデータ・リダクション・ポリシーを変更できます。

DBMS_REDACT.ALTER_POLICYプロシージャの構文は次のとおりです。

DBMS_REDACT.ALTER_POLICY (

object_schema IN VARCHAR2 := NULL,

object_name IN VARCHAR2 := NULL,

policy_name IN VARCHAR2,

action IN BINARY_INTEGER :=

DBMS_REDACT.ADD_COLUMN,

column_name IN VARCHAR2 := NULL,

function_type IN BINARY_INTEGER := DBMS_REDACT.FULL,

function_parameters IN VARCHAR2 := NULL,

expression IN VARCHAR2 := NULL,

regexp_pattern IN VARCHAR2 := NULL,

regexp_replace_string IN VARCHAR2 := NULL,

regexp_position IN BINARY_INTEGER := NULL,

regexp_occurrence IN BINARY_INTEGER := NULL,

regexp_match_parameter IN VARCHAR2 := NULL,

policy_description IN VARCHAR2 := NULL,

column_description IN VARCHAR2 := NULL);

コピー

517

Page 518: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ここでは次のように指定します。

action: 次のいずれかの値を1つ選択し、使用するアクションの種類を定義します。

DBMS_REDACT.MODIFY_COLUMN (column_nameの値を変更する場合)

DBMS_REDACT.ADD_COLUMN ((ポリシーですでに保護されている列に加えて)リダクションのために新しい列を追加する場合)この設定はactionパラメータのデフォルトです。DBMS_REDACT.DROP_COLUMN (列からリダクションを削除する場合)。

DBMS_REDACT.MODIFY_EXPRESSION (expressionの値を変更する場合)各ポリシーに指定できるポリシー式は1つのみです。つまり、ポリシー式を変更する際は、既存のポリシー式を新しいポリシー式で置換します。DBMS_REDACT.SET_POLICY_DESCRIPTION (ポリシーの説明を変更する場合)

DBMS_REDACT.SET_COLUMN_DESCRIPTION (列の説明を変更する場合)

関連項目:

DBMS_REDACT.ALTER_POLICY操作に必要なパラメータ

残りのパラメータの詳細は、DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文を参照してください。

親トピック: Oracle Data Redactionポリシーの変更

DBMS_REDACT.ALTER_POLICY操作に必要なパラメータDBMS_REDACT.ALTER_POLICYプロシージャには、列の追加や変更などの様々な操作を実行できるパラメータが用意されています。

表13-11は、これらのパラメータの組合せを示しています。

表13-11 様々なDBMS_REDACT.ALTER_POLICYの操作に必要なパラメータ

変更内容 設定パラメータ

列の追加または変更 action (DBMS_REDACT.MODIFY_COLUMN)

column_name

function_type

function_parameters (必要な場合)

regexp* (必要な場合)

518

Page 519: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ポリシー式の変更 action (DBMS_REDACT.MODIFY_EXPRESSION)

expression

ポリシーの説明の変更 action (DBMS_REDACT.SET_POLICY_DESCRIPTION)

policy_description

列の説明の変更 action (DBMS_REDACT.SET_COLUMN_DESCRIPTION)

column_description

列の削除 action (DBMS_REDACT.DROP_COLUMN)

column_name

親トピック: Oracle Data Redactionポリシーの変更

チュートリアル: Oracle Data Redactionポリシーの変更列ごとに独自のリダクション設定を使用して、表またはビューの複数の列をリダクションできます。

この項の演習は、データ・リダクション・ポリシーを変更して、複数の列をリダクションする方法を示しています。また、ポリシーのexpression設定を変更する方法も示しています。これを実行するには、各段階でDBMS_REDACT.ALTER_POLICYプロシージャを実行する必要があります。

1. ユーザーの作成およびそれらのユーザーへの権限の付与を行う権限を持つユーザーとして接続します。

例:

CONNECT sec_admin

Enter password: password

2. 次のユーザーを作成します。

GRANT CREATE SESSION TO dr_admin IDENTIFIED BY password;

GRANT CREATE SESSION TO sales_rep IDENTIFIED BY password;

GRANT CREATE SESSION TO support_rep IDENTIFIED BY password;

コピー

コピー

519

Page 520: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

3. ユーザーdr_adminに、DBMS_REDACT PL/SQLパッケージに対するEXECUTEを付与します。

GRANT EXECUTE ON DBMS_REDACT TO dr_admin;

4. ユーザーOEとして接続します。

CONNECT OE

Enter password: password

5. 顧客のクレジット・カード情報を含む表を作成し移入します。

CREATE TABLE cust_order_info(

first_name varchar2(20),

last_name varchar2(20),

address varchar2(30),

city varchar2(30),

state varchar2(3),

zip varchar2(5),

cc_num varchar(19),

cc_exp varchar2(7));

INSERT INTO cust_order_info VALUES ('Jane','Dough','39

Mockingbird Lane', 'San Francisco', 'CA', 94114, '5105 1051 0510

5100', '10/2018');

INSERT INTO cust_order_info VALUES ('Mary','Hightower','2319

Maple Street', 'Sonoma', 'CA', 95476, '5111 1111 1111 1118',

'03/2019');

INSERT INTO cust_order_info VALUES ('Herbert','Donahue','292

Winsome Way', 'San Francisco', 'CA', 94117, '5454 5454 5454

5454', '08/2018');

6. ユーザーsales_repおよびsupport_repに、表cust_order_infoに対するSELECT権限を付与します。

コピー

コピー

コピー

コピー

520

Page 521: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

GRANT SELECT ON cust_order_info TO sales_rep, support_rep;

7. ユーザーdr_adminとして接続します。

CONNECT dr_admin

Enter password: password

8. クレジット・カード番号をリダクションするポリシーを作成し、有効にします。

BEGIN DBMS_REDACT.ADD_POLICY(

object_schema => 'oe',

object_name => 'cust_order_info',

column_name => 'cc_num',

policy_name => 'redact_cust_cc_info',

function_type => DBMS_REDACT.REGEXP,

function_parameters => NULL,

expression => '1=1',

regexp_pattern => DBMS_REDACT.RE_PATTERN_CCN,

regexp_replace_string => DBMS_REDACT.RE_REDACT_CCN,

regexp_position => NULL,

regexp_occurrence => NULL,

regexp_match_parameter => NULL,

policy_description => 'Partially redacts credit card

info',

column_description => 'cc_num_number lists credit

card numbers');

END;

/

9. ポリシーを有効期限のリダクションを含めるよう変更します。

BEGIN DBMS_REDACT.ALTER_POLICY(

object_schema => 'oe',

object_name => 'cust_order_info',

policy_name => 'redact_cust_cc_info',

action => DBMS_REDACT.ADD_COLUMN,

コピー

コピー

コピー

521

Page 522: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

column_name => 'cc_exp',

function_type => DBMS_REDACT.RANDOM,

expression => '1-1');

END;

/

10. ユーザーsales_repがリダクション済の値を表示し、ユーザーsupport_repが実際のデータを表示する条件を使用するよう、再度ポリシーを変更します。

BEGIN

DBMS_REDACT.ALTER_POLICY(

object_schema => 'oe',

object_name => 'cust_order_info',

policy_name => 'redact_cust_cc_info',

action => DBMS_REDACT.MODIFY_EXPRESSION,

expression =>

'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SALES_REP''');

END;

/

11. ポリシーをテストするために、2人のユーザーに表cust_order_infoを問い合せさせます。

CONNECT support_rep

Enter password: password

SELECT cc_num, cc_exp FROM OE.cust_order_info;

CC_NUM CC_EXP

------------------- -------

5105 1051 0510 5100 10/2018

5111 1111 1111 1118 03/2019

5454 5454 5454 5454 08/2018

ユーザーsupport_repは実際のデータを表示できます。

コピー

コピー

522

Page 523: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

CONNECT sales_rep

Enter password: password

SELECT cc_num, cc_exp FROM OE.cust_order_info;

CC_NUM CC_EXP

---------------- -------

************5100 lST=033

************1119 OZA.w4C

************5454 B(9+;O1

実際のデータは、ユーザーsales_repを使用してリダクションされます。

12. support_repのみがリダクション済データを表示でき、sales_repは表示できないようにする条件を含めるよう、cust_order_infoを変更します。

CONNECT dr_admin

Enter password: password

BEGIN

DBMS_REDACT.ALTER_POLICY(

object_schema => 'oe',

object_name => 'cust_order_info',

policy_name => 'redact_cust_cc_info',

action => DBMS_REDACT.MODIFY_EXPRESSION,

expression =>

'SYS_CONTEXT(''USERENV'',''SESSION_USER'') = ''SUPPORT_REP''');

END;

/

13. ユーザーに再度ポリシーをテストさせます。

CONNECT support_rep

Enter password: password

SELECT cc_num, cc_exp FROM OE.cust_order_info;

CC_NUM CC_EXP

コピー

コピー

コピー

523

Page 524: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

---------------- -------

************5100 1^XMF~`

************1119 qz+9=#S

************5454 *KCaUkm

これで実際のデータがリダクションされるため、ユーザーsupport_repはこのデータを表示できなくなります。

CONNECT sales_rep

Enter password: password

SELECT cc_num, cc_exp FROM OE.cust_order_info;

CC_NUM CC_EXP

------------------- -------

5105 1051 0510 5100 10/2018

5111 1111 1111 1118 03/2019

5454 5454 5454 5454 08/2018

これでユーザーsales_repは実際のデータを表示できます。

14. このチュートリアルのコンポーネントが不要になった場合、次のようにしてそれらを削除できます。

CONNECT dr_admin

Enter password: password

BEGIN

DBMS_REDACT.DROP_POLICY (

object_schema => 'oe',

object_name => 'cust_order_info',

policy_name => 'redact_cust_cc_info');

END;

/

CONNECT sec_admin

Enter password: password

コピー

コピー

524

Page 525: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DROP USER dr_admin;

DROP USER sales_rep;

DROP USER support_rep;

CONNECT OE

Enter password: password

DROP TABLE cust_order_info;

親トピック: Oracle Data Redactionポリシーの変更

複数列のリダクションデータ・リダクション・ポリシーで2つ以上の列をリダクションできます。

1つの表またはビューのデータ・リダクション・ポリシーへの列の追加1つの表またはビューで、様々なリダクション・タイプを使用して様々なデータ型の列をリダクションできます。

例: 複数列のリダクションDBMS_REDACT.ALTER_POLICYプロシージャによって、複数の列をリダクションできます。

親トピック: Oracle Data Redactionポリシーの構成

1つの表またはビューのデータ・リダクション・ポリシーへの列の追加1つの表またはビューで、様々なリダクション・タイプを使用して様々なデータ型の列をリダクションできます。

1. リダクションする最初の列に対するポリシーを作成します。

2. DBMS_REDACT.ALTER_POLICYプロシージャを使用して、ポリシーに次の列を追加します。必要に応じて、action、column_name、function_typeおよびfunction_parametersパラメータ(またはregexp_で始まるパラメータ)を設定して、新しい列に対するリダクションを定義しますが、object_schema、object_name、policy_nameまたはexpressionパラメータは変更しないでください。リダクションされた各列には、それを作成するために使用したのと同じリダクション・パラメータが引き続き使用されます。

親トピック: 複数列のリダクション

525

Page 526: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例: 複数列のリダクションDBMS_REDACT.ALTER_POLICYプロシージャによって、複数の列をリダクションできます。

例13-12では、既存のデータ・リダクション・ポリシーに列を追加する方法を示しています。この例のactionパラメータは、DBMS_REDACT.ADD_COLUMNを使用して新しい列を追加する必要があることを定義しています。新しい列の名前であるcard_numは、column_nameパラメータによって設定されます。

例13-12 データ・リダクション・ポリシーへの列の追加

BEGIN

DBMS_REDACT.ALTER_POLICY(

object_schema => 'mavis',

object_name => 'cust_info',

policy_name => 'redact_cust_user_ids',

action => DBMS_REDACT.ADD_COLUMN,

column_name => 'card_num',

function_type => DBMS_REDACT.FULL,

function_parameters => '',

expression => 'SYS_CONTEXT(''SYS_SESSION_ROLES'',''ADM'')

= ''TRUE''');

END;

/

親トピック: 複数列のリダクション

Oracle Data Redactionポリシーの有効化と無効化Oracle Data Redactionポリシーは、必要に応じて無効化してから再度有効化できます。

Oracle Data Redactionポリシーの無効化DBMS_REDACT.DISABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを無効化します。

Oracle Data Redactionポリシーの有効化DBMS_REDACT.ENABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを有効化します。

親トピック: Oracle Data Redactionポリシーの構成

Oracle Data Redactionポリシーの無効化

コピー

526

Page 527: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.DISABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを無効化します。

REDACTION_POLICIESビューのPOLICY_NAMEおよびENABLE列を問い合せると、既存のデータ・リダクション・ポリシーの名前およびそれらが有効化されているかがわかります。ただし、ポリシーが存在している場合は、元のポリシーが無効化されていても表またはビューに他のポリシーを作成することはできません。つまり、同じ表の列に別のポリシーを作成する場合、最初のポリシーを削除してから新しいポリシーを作成して使用する必要があります。

データ・リダクション・ポリシーを無効化するには、次の構文を使用してDBMS_REDACT.DISABLE_POLICYプロシージャを実行します。

DBMS_REDACT.DISABLE_POLICY (

object_schema IN VARCHAR2 DEFAULT NULL,

object_name IN VARCHAR2,

policy_name IN VARCHAR2);

ここでは次のように指定します。object_schema: データ・リダクション・ポリシーを適用するオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。object_name: データ・リダクション・ポリシーに使用する表またはビューの名前を指定します。policy_name: 無効化するポリシーの名前を指定します。

例13-13では、データ・リダクション・ポリシーを無効化する方法を示しています。

例13-13 データ・リダクション・ポリシーの無効化

BEGIN

DBMS_REDACT.DISABLE_POLICY (

object_schema => 'mavis',

object_name => 'cust_info',

policy_name => 'redact_cust_user_ids');

END;

/

コピー

コピー

527

Page 528: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: Oracle Data Redactionポリシーの有効化と無効化

データ・リダクション・ポリシーの有効化DBMS_REDACT.ENABLE_POLICYプロシージャは、Oracle Data Redactionポリシーを有効化します。

新しいポリシーを作成した直後に有効化する必要はありません。作成プロセスによって処理されます。既存のデータ・リダクション・ポリシーの名前およびそれらが有効化されているかを確認するには、REDACTION_POLICIESビューのPOLICY_NAMEおよびENABLE列を問い合せます。ポリシーを有効にするプロシージャを実行すると、ポリシーはすぐに有効になります。

データ・リダクション・ポリシーを有効化するには、次の構文を使用してDBMS_REDACT.ENABLE_POLICYプロシージャを実行します。

DBMS_REDACT.ENABLE_POLICY (

object_schema IN VARCHAR2 DEFAULT NULL,

object_name IN VARCHAR2,

policy_name IN VARCHAR2);

ここでは次のように指定します。object_schema: データ・リダクション・ポリシーを適用するオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。object_name: データ・リダクション・ポリシーに使用する表またはビューの名前を指定します。policy_name: 有効化するポリシーの名前を指定します。

例13-14では、データ・リダクション・ポリシーを有効化する方法を示しています。

例13-14 データ・リダクション・ポリシーの有効化

BEGIN

DBMS_REDACT.ENABLE_POLICY (

object_schema => 'mavis',

object_name => 'cust_info',

policy_name => 'redact_cust_user_ids');

END;

/

コピー

コピー

528

Page 529: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: Oracle Data Redactionポリシーの有効化と無効化

Oracle Data Redactionポリシーの削除DBMS_REDACT.DROP_POLICYプロシージャは、Oracle Data Redactionポリシーを削除します。

Oracle Data Redactionポリシーは、有効であっても無効であっても削除できます。REDACTION_POLICIESビューのPOLICY_NAME列を問い合せて、既存のデータ・リダクション・ポリシーの名前を確認できます。Oracle Data Redactionポリシーに関連付けられた表またはビューを削除すると、ポリシーは自動的に削除されます。ベスト・プラクティスは、まずポリシーを削除し、その後、表またはビューを削除することです。詳細は、ごみ箱が有効になっている場合のOracle Data Redactionポリシーの削除を参照してください。

データ・リダクション・ポリシーを削除するには、DBMS_REDACT.DROP_POLICYプロシージャを実行します。

次の構文を使用します。

DBMS_REDACT.DROP_POLICY (

object_schema IN VARCHAR2 DEFAULT NULL,

object_name IN VARCHAR2,

policy_name IN VARCHAR2);

ここでは次のように指定します。object_schema: データ・リダクション・ポリシーが適用されるオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のスキーマ名を使用します。object_name: データ・リダクション・ポリシーに使用する表またはビューの名前を指定します。policy_name: 削除するポリシーの名前を指定します。

DBMS_REDACT.DROP_POLICYプロシージャを実行した後、削除はすぐに有効になります。

例13-15では、データ・リダクション・ポリシーを削除する方法を示しています。

例13-15 データ・リダクション・ポリシーの削除

BEGIN

コピー

コピー

529

Page 530: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DBMS_REDACT.DROP_POLICY (

object_schema => 'mavis',

object_name => 'cust_info',

policy_name => 'redact_cust_user_ids');

END;

/

親トピック: Oracle Data Redactionポリシーの構成

チュートリアル: SQL式を使用したリダクションされた値を含むレポートの作成SQL式を使用して、Oracle Data Redactionポリシーが定義された列に基づくレポートを作成できます。

SQL式に使用される値はリダクションされます。このリダクションはSQL式が評価される前に実行され、レポートに表示される結果の値は、リダクションされたSQL式の結果全体ではなく、リダクションされた値に対して評価されたSQL式の最終結果になります。

1. HR.EMPLOYEES表に対して次のようなデータ・リダクション・ポリシーを作成します。

このポリシーにより9という数値を持つSALARY列の最初の4桁の値およびCOMMISSION_PCT列の最初の1桁の値が9に置換されます。

BEGIN

DBMS_REDACT.ADD_POLICY(

object_schema => 'HR',

object_name => 'EMPLOYEES',

column_name => 'SALARY',

column_description => 'emp_sal_comm shows employee salary

and commission',

policy_name => 'redact_emp_sal_comm',

policy_description => 'Partially redacts the emp_sal_comm

column',

function_type => DBMS_REDACT.PARTIAL,

function_parameters => '9,1,4',

expression => '1=1');

END;

/

BEGIN

DBMS_REDACT.ALTER_POLICY(

コピー

530

Page 531: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

object_schema => 'HR',

object_name => 'EMPLOYEES',

policy_name => 'redact_emp_sal_comm',

action => DBMS_REDACT.ADD_COLUMN,

column_name => 'COMMISSION_PCT',

function_type => DBMS_REDACT.PARTIAL,

function_parameters => '9,1,1',

expression => '1=1');

END;

/

2. HRスキーマにログインして、次のレポートを実行します。

このレポートでは、SQL式(SALARY + COMMISSION_PCT)を使用して、従業員の給料と歩合を組み合せます。

SELECT (SALARY + COMMISSION_PCT) total_emp_compensation

FROM HR.EMPLOYEES

WHERE DEPARTMENT_ID = 80;

TOTAL_EMP_COMPENSATION

----------------------

9999.9

9999.95

99990.95

...

3. レポートには、連結などのSQL式を使用します。

例:

SELECT 'Employee ID ' || EMPLOYEE_ID ||

' has a salary of ' || SALARY ||

' and a commission of ' || COMMISSION_PCT || '.'

detailed_emp_compensation

FROM HR.EMPLOYEES

WHERE DEPARTMENT_ID = 80

ORDER BY EMPLOYEE_ID;

コピー

コピー

531

Page 532: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

DETAILED_EMP_COMPENSATION

-------------------------------------------------------------

Employee ID 150 has a salary of 99990 and a commission of .9.

Employee ID 151 has a salary of 9999 and a commission of .95.

Employee ID 152 has a salary of 9999 and a commission of .95.

...

4. redact_emp_sal_commデータ・リダクション・ポリシーを作成したユーザーを接続し、次の文を実行してポリシーを削除します。

BEGIN

DBMS_REDACT.DROP_POLICY (

object_schema => 'HR',

object_name => 'EMPLOYEES',

policy_name => 'redact_emp_sal_comm');

END;

/

親トピック: Oracle Data Redactionポリシーの構成

Oracle Data Redactionポリシーのデータ・ディクショナリ・ビューOracle Databaseには、データ・リダクション・ポリシーに関する情報をリストするデータ・ディクショナリ・ビューが用意されています。

これらのビューを問い合せる前に、SELECT_CATALOG_ROLEロールを付与する必要があります。

表13-12に、データ・リダクションのデータ・ディクショナリ・ビューを示します。

表13-12 データ・リダクション・ビュー

ビュー 説明

REDACTION_COLUMNS データベースのリダクションされたすべての列を示し、列が存在する表またはビューの所有者、オブジェクト名、列名、リダクション機能のタイプ、リダクション機能に対するパラメータ(該当する場合)およびリダクション・ポリシーの説明の情報を提供します。ポリシー式が作成されている場合、デフォルトのオブジェクト全体にわたるポリシー式のSQL式を表示します。

REDACTION_EXPRESSIONS 既存のポリシー式の名前およびそれらのSQL式を表示します

コピー

532

Page 533: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

REDACTION_POLICIES データベースのすべてのデータ・リダクション・ポリシーを示します。これには、オブジェクトの所有者、オブジェクト名、ポリシー名、ポリシー式およびポリシーが有効かどうかに関する情報と、データ・リダクション・ポリシーの説明が含まれます。

REDACTION_VALUES_FOR_TYPE_FULL

完全リダクションを使用するデータ・リダクション・ポリシーの現在のリダクション値を表示します。

親トピック: Oracle Data Redactionポリシーの構成

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

533

Page 534: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

14 Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理Oracle Enterprise Manager Cloud Control (Cloud Control)では、Oracle Data Redactionのポリシーと形式を管理できます。

Oracle Enterprise ManagerでのOracle Data Redactionの使用についてOracle Enterprise Manager Cloud Controlでは、Oracle Data Redactionポリシーの作成と管理のために統一されたユーザー・インタフェースが提供されます。

Oracle Data Redactionのワークフロー最初に必要に応じて機密列タイプおよび形式を作成してから、次にOracle Data Redactionポリシーを作成します。

Enterprise Managerでの機密列タイプの管理機密列タイプによって、表の列の機密情報がクレジット・カード番号などの機密情報タイプに分類されます。

Enterprise Managerを使用したOracle Data Redaction形式の管理Oracle Data Redactionには、データをリダクションするためにリダクション・ポリシー内で直接使用するリダクション形式が用意されています。

Enterprise Managerを使用したOracle Data Redactionポリシーの管理Enterprise Manager Cloud ControlでOracle Data Redactionポリシーの作成、編集、表示および削除を行うことができます。

Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシー式を管理できます。

親トピック: Oracle Data Redactionの使用

534

Page 535: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Enterprise ManagerでのOracle Data Redactionの使用についてOracle Enterprise Manager Cloud Controlでは、Oracle Data Redactionポリシーの作成と管理のために統一されたユーザー・インタフェースが提供されます。

次の操作を実行できます。

カスタムOracle Data Redaction形式(以前のデータ・リダクション・ショートカット)の作成と管理。(この機能はコマンドラインからは使用できません。)

Oracle Data Redactionページでの機密列タイプの作成および管理。データ・リダクション・ポリシーを作成するとき、Cloud Controlは機密列タイプを使用して、リダクションする列に関連するOracle Data Redaction形式を取得します。

ノート: Oracle Enterprise Manager用の最新のプラグインがあることを確認してください。Oracle Databaseプラグイン・リリース13.1.1.0.0を使用している場合は、OracleEnterprise Managerで名前付きデータ・リダクション・ポリシー式を作成できます。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

Oracle Data Redactionのワークフロー最初に必要に応じて機密列タイプおよび形式を作成してから、次にOracle Data Redactionポリシーを作成します。

次の図では、このプロセスを示します。

図asoag_3v_041a.epsの説明

1. (オプション)データベース列(リダクションするデータを含む)を新しい機密列タイプにマッピングする場合は、「Enterprise Managerでの機密列タイプの管理」の説明に従って、必要な機密列タイプを作成します。

2. (オプション)カスタム・リダクション形式を使用してデータ(特定のデータベース列に存在する)をリダクションする場合は、Enterprise Managerを使用したカスタムOracle DataRedaction形式の作成の説明に従って、必要なリダクション形式を作成します。

3. 「Enterprise Managerを使用したOracle Data Redactionポリシーの作成」の説明に従って、必要なデータベースに対してOracle Data Redactionポリシーを作成します。

ノート: Oracle Data Redactionポリシーは、作成した時点でデフォルトで有効になってい

535

Page 536: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ます。有効化されたリダクション・ポリシーを無効化する方法の詳細は、EnterpriseManagerでのOracle Data Redactionポリシーの有効化または無効化を参照してください。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

Enterprise Managerでの機密列タイプの管理機密列タイプによって、表の列の機密情報がクレジット・カード番号などの機密情報タイプに分類されます。

機密列タイプは、列の名前と内容および正規表現を使用して定義されたデータ・パターンの組合せを使用して、列を特定の機密情報タイプに関連付けます。

Oracle Data Redactionポリシーを作成すると、選択した機密列タイプに基づいてリダクション形式がフィルタ処理されるため、時間を節約して手間を省くことができます。たとえば、リダクションしようとするデータベース表の列に米国社会保障番号が含まれており、その列に対してSOCIAL_SECURITY_NUMBER機密列タイプを選択した場合に、その列をOracle Data Redactionポリシーに追加すると、その列データのリダクションに使用できるデフォルトのリダクション形式はフィルタ処理され、関連するリダクション形式のみが表示されます。

図14-1に、機密列タイプに基づくOracle Data Redaction形式のフィルタ処理を示します。

図14-1 機密列タイプに基づいてフィルタ処理されるOracle Data Redaction形式

536

Page 537: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「図14-1 機密列タイプに基づいてフィルタ処理されるOracle Data Redaction形式」の説明

ノート: この機能が使用できるのは、Enterprise Manager for Oracle Databaseプラグイン12.1.0.7以上がシステムにデプロイされている場合です。

アプリケーション・データ・モデル機能の一部として、データベースの列をマッピングできるデフォルトの機密列タイプが多数提供されています。

図14-2に、デフォルトの機密列タイプの一部を示します。このページにアクセスするには、「データ・リダクション: 形式」ページの「機密列タイプの管理」をクリックします。

図14-2 デフォルトの機密列タイプ

537

Page 538: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「図14-2 デフォルトの機密列タイプ」の説明

デフォルトの機密列タイプの中に、リダクションしようとするデータを含むデータベース列に適したものがない場合は、新しい機密列タイプを作成できます。または、既存の機密列タイプに基づいて機密列タイプを作成できます。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redaction形式の管理Oracle Data Redactionには、データをリダクションするためにリダクション・ポリシー内で直接使用するリダクション形式が用意されています。

Enterprise Managerを使用したOracle Data Redaction形式の管理についてOracle Data Redaction形式は、ID番号、クレジット・カード、電話番号などの通常リダクションされることが多いデータに対して使用されます。

Enterprise Managerを使用したカスタムOracle Data Redaction形式の作成Enterprise Manager Cloud Controlを使用して、カスタムOracle Data Redaction形式を作成および管理できます。

Enterprise Managerを使用したカスタムOracle Data Redaction形式の編集カスタムOracle Data Redaction形式は、Enterprise Manager Cloud Controlを使用して編集できます(SQL*Plusでは編集できません)。

538

Page 539: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enterprise Managerを使用したOracle Data Redaction形式の表示Enterprise Manager Cloud Controlには、Oracle提供およびカスタムのOracle Data Redaction形式の詳細が表示されます。

Enterprise Managerを使用したカスタムOracle Data Redaction形式の削除Enterprise Manager Cloud Controlを使用してカスタムOracle Data Redaction形式を削除できます。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redaction形式の管理についてOracle Data Redaction形式は、ID番号、クレジットカード、電話番号などの通常リダクションされることが多いデータに対して使用されます。

複数のデフォルトのOracle Data Redaction形式(以前のOracle Data Redactionテンプレート)を使用できます。Oracle Data Redaction形式では、たとえば一連の社会保障番号形式を使用して、社会保障番号のリダクション方法(社会保障番号の上5桁のリダクションなど)を簡単に指定できます。

図14-3にデフォルトのOracle Data Redaction形式を示します。

図14-3 デフォルトのOracle Data Redaction形式

「図14-3 デフォルトのOracle Data Redaction形式」の説明

デフォルトの各Oracle Data Redaction形式は、特定のリダクション機能で構成され、リダクション形式がOracle Data Redactionポリシーで使用される際のリダクション出力を決定します。たとえば、「クレジット・カード番号 - NUMBER」デフォルト・リダクション形式は、Oracle DataRedactionポリシーで使用されると、列データの先頭12桁を数字0で置換します。つまり、列データが5555555555554444の場合、リダクションされた出力は0000000000004444になります。

539

Page 540: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enterprise Manager for Oracle Databaseプラグイン12.1.0.7以上をシステムにデプロイしている場合は、カスタム・リダクション形式を作成して保存し、リダクション・ポリシーで使用できます。

親トピック: Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したカスタムOracle Data Redaction形式の作成Enterprise Manager Cloud Controlを使用してカスタムOracle Data Redaction形式を作成および保存できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、データベース・ターゲット名をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「形式」タブを選択します。

7. 次のいずれかを行います:

新しいリダクション形式を作成するには、「作成」をクリックします。

デフォルトの形式に基づくリダクション形式を作成するには、形式を選択して「類似作成」をクリックします。

「作成」を選択した場合、次のダイアログ・ボックスが表示されます。

540

Page 541: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

図em_red_format_create.pngの説明

8. 作成するリダクション形式の名前と説明を指定します。

リダクション形式を特定の機密列タイプにマッピングする場合(作成されるリダクション形式を使用して、機密列タイプに関連付けられている列のデータをリダクションできるようにする場合)、「機密列タイプ」の値を選択します。

列データをリダクションするために形式で使用する必要がある機能を選択します。「リダクション機能」に対しては、次のように選択します。

541

Page 542: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

FULL: 形式が列データ全体をリダクションする必要がある場合。

PARTIAL: 形式が列データの一部のみリダクションする必要がある場合。必ず、機能属性、およびリダクション形式で使用するデータ型を指定してください。REGEX: 形式が正規表現に基づいてデータをリダクションする必要がある場合。必ず機能属性を指定してください。RANDOM: 形式がランダムに生成された値を使用して、ランダムな方法でデータをリダクションする必要がある場合。NONE: 形式がリダクション・ポリシーの定義をテストするためのみに使用され、列データはリダクションしない場合。

9. 「OK」をクリックすると、カスタム・リダクション形式が作成されて保存されます。これで、この形式を使用してリダクション・ポリシーを作成できます。

関連項目

Oracle Data Redactionの特徴と機能

Enterprise Managerを使用したOracle Data Redactionポリシーの作成

親トピック: Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したカスタムOracle Data Redaction形式の編集カスタムOracle Data Redaction形式は、Enterprise Manager Cloud Controlを使用して編集できます(SQL*Plusでは編集できません)。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、データベース・ターゲット名をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「形式」タブを選択します。

7. 編集するカスタム・リダクション形式を選択し、「編集」をクリックします。次のようなダイアログ・ボックスが表示されます。

542

Page 543: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

図em_red_format_edit.pngの説明

8. (オプション)形式の説明、機密列タイプ、リダクション機能およびリダクション機能属性の編集を選択します。

9. 「OK」をクリックすると、編集した形式が保存されます。

親トピック: Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したOracle Data Redaction形式の表示Enterprise Manager Cloud Controlには、Oracle提供およびカスタムのOracle Data Redaction形式の詳細が表示されます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、データベース・ターゲット名をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「形式」タブを選択します。

543

Page 544: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

次のページのような「データ・リダクション」ページの「形式」タブが表示されます。

図em_red_formats.pngの説明

7. 必要なリダクション形式を選択し、「表示」をクリックします。

親トピック: Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したカスタムOracle Data Redaction形式の削除Enterprise Manager Cloud Controlを使用してカスタムOracle Data Redaction形式を削除できます。

削除できるのはカスタムOracle Data Redaction形式のみです。Oracle提供のリダクション形式は削除できません。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、データベース・ターゲット名をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「形式」タブを選択します。

7. 削除するカスタム・リダクション形式を選択し、「削除」をクリックします。

544

Page 545: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

8. 「確認」ダイアログ・ボックスで「はい」または「いいえ」をクリックします。

親トピック: Enterprise Managerを使用したOracle Data Redaction形式の管理

Enterprise Managerを使用したOracle Data Redactionポリシーの管理Enterprise Manager Cloud ControlでOracle Data Redactionポリシーの作成、編集、表示および削除を行うことができます。

Enterprise Managerを使用したOracle Data Redactionポリシーの管理についてCloud Controlの「データ・リダクション」ページを使用して、Oracle Data Redactionポリシーを管理できます。

Enterprise Managerを使用したOracle Data Redactionポリシーの作成Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを作成できます。

Enterprise Managerを使用したOracle Data Redactionポリシーの編集Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを編集できます。

Enterprise Managerを使用したOracle Data Redactionポリシーの詳細の表示Enterprise Manager Cloud Controlを使用して、Oracle Data Redactionポリシーの詳細(ポリシーが有効かどうかなど)を確認できます。

Enterprise ManagerでのOracle Data Redactionポリシーの有効化または無効化実行時にOracle Data Redactionポリシーが適用されるのは有効化されている場合のみです。Oracle Data Redactionポリシーは、作成した時点でデフォルトで有効になっています。

Enterprise Managerを使用したOracle Data Redactionポリシーの削除Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを削除できます。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redactionポリシーの管理についてCloud Controlの「データ・リダクション」ページを使用して、Oracle Data Redactionポリシーを管理できます。

特定のデータベース表またはビューの列に存在するデータをリダクションするには、Oracle DataRedactionポリシーを作成する必要があります。データは、Oracle Data Redactionポリシーによって指定されるリダクション形式を使用してリダクションされます。データをリダクションするには、Oracle提供のリダクション形式のいずれかを使用するか、カスタム・リダクション形式を作成して使用します。リダクションしようとするデータを含む表またはビューの列が機密列タイプにマッピングされている場合、そのマッピングを使用してデータの適切なリダクション形式が推奨されます。このように、Oracle Data Redactionポリシーが、データベース・スキーマ、データベースの表とビューの列、機密列タイプおよびOracle Data Redaction形式をカプセル化します。

545

Page 546: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

図14-4にデータ・リダクション・ページを示します。このページを使用して、CloudControlでOracle Data Redactionポリシーを作成および管理できます。

図14-4 Oracle Data Redactionのポリシー・ページ

「図14-4 Oracle Data Redactionのポリシー・ページ」の説明

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redactionポリシーの作成Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを作成できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、Oracle Data Redactionポリシーを作成するデータベース・ターゲットの名前をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベー

546

Page 547: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

スにログインしてください。6. 「ポリシー」タブの「ポリシー」セクションで「作成」を選択します。

データ・リダクション・ポリシーの作成が今回初めての場合、「データ・リダクション」:「列機密タイプ検出の有効化の設定」ダイアログ・ボックスが表示されます。この機能により、データ・リダクション・ポリシーの列機密タイプ検出を使用できるようになります。

これを実行するために、Enterprise ManagerはDBSNMPスキーマにGET_COL_DATA_SENSITIVE_TYPESプロシージャを作成します。Oracle Data Redactionポリシーの作成の間に、選択された列に対して機密タイプ検出を実行するには、ユーザーはDBSNMP.GET_COL_DATA_SENSITIVE_TYPESプロシージャに対するEXECUTE権限を持っている必要があります。データベースがOracle Database Vaultによって保護されている場合、データ・リダクション・ポリシーを作成する必要のあるユーザーは、DBSNMPスキーマを保護するレルムの参加者であることを確認します。

7. 「データ・リダクション」: 「列機密タイプ検出の有効化の設定」ダイアログ・ボックスが表示され、現在のログイン・ユーザーに正しい要件がない場合、DBSNMP.GET_COL_DATA_SENSITIVE_TYPESに対するEXECUTE権限を持つユーザーの資格証明を選択します。次に「OK」をクリックします。

8. データ・リダクション・ポリシーの作成ページで次の情報を入力します。

スキーマ: リダクションするデータを含むスキーマの名前を入力(または検索)します。

表/ビュー: リダクションする列を含む表またはフィールドを入力(または検索)します。

ポリシー名: ポリシーの名前(emp_wages_polなど)を入力します。

デフォルト式: デフォルトの式を入力します。デフォルトの設定は1=1で、ポリシーが常に適用されます。ポリシー式の構成要素に詳しくない場合は、「ポリシー式」フィールドの横にある鉛筆のアイコンをクリックしてポリシー式ビルダーを使用します。「ポリシーの適用時」を選択し、必要な条件を選択してから「追加」をクリックします。ポリシー式を手動で編集する場合は「編集」をクリックします。必要なポリシー式を構築してから、「OK」をクリックします。次のようなポリシー式ビルダーが表示されます。

図em_red_pol_exp_bldr.pngの説明

547

Page 548: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

9. 「オブジェクト列」セクションで「追加」をクリックすると、表またはビューの列がリダクション・ポリシーに追加されます。

ダイアログ・ボックスが次のように表示されます。

図em_red_pol_attr.pngの説明

リダクション・ポリシーは、そのポリシーが追加されている表またはビューの列のみに適用されます。

10. 「列」メニューで、リダクション・ポリシーを適用する表またはビューの列を選択します。「列」メニューの右側のアイコンをクリックすると、選択した列の内容を確認できます。列に機密データが含まれ、機密列タイプにマッピングされている場合は、マッピングされている機密列タイプを「機密列タイプ」メニューで選択します。「機密列タイプ」メニューの検索パターンが一致すると、その機密列タイプがデフォルトで選択されます。たとえば、クレジット・カード番号を含む列に一致するものがあると、メニューには「未定

548

Page 549: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

義」とCREDIT_CARD_TYPEが表示されます。機密列タイプが作成されていない場合、デフォルトの「機密列タイプ」メニューには「未定義」のみが表示されます。

11. 「リダクション形式」メニューで、使用するリダクション形式を選択します。ドロップダウン・リストには、Oracle Database提供のリダクション形式とユーザーが作成して保存したカスタム・リダクション形式が含まれます。

事前定義済のリダクション形式(つまりOracle Database提供のリダクション形式または以前に作成したカスタム・リダクション形式)を使用せず、リダクション・ポリシーを作成するときにリダクションの詳細を指定する場合は、「リダクション形式」で「カスタム」を選択します。

選択するリダクションの形式とタイプに合せて、「追加」ダイアログ・ボックスの表示が変わります。たとえば、「カスタム」リダクション形式とREGEXリダクション機能を選択すると、ダイアログ・ボックスに「機能属性」リージョンが表示されます。

12. 「リダクション機能」メニューで、列データのリダクションに使用する機能を選択します。「完全」(列データ全体をリダクションする場合)、「部分」(列データの一部をリダクションする場合)、正規表現(正規表現に基づいてデータをリダクションする場合)、「ランダム」(ランダム生成された値を使用してランダムな方法でデータをリダクションする場合)または「なし」(リダクション・ポリシーの定義のテストのみを行い、列データをリダクションしない場合)を選択します。特定のリダクション形式にはすべてのリダクション機能を適用できるわけではないことに注意してください。ドロップダウン・リストには、選択したリダクション形式に適用できるリダクション機能のみが表示されます。前のステップで「リダクション形式」に「カスタム」、「リダクション機能」に「部分」または正規表現を選択した場合は、機能属性を必ず指定してください。

13. 「OK」をクリックします。

14. リダクション・ポリシーに追加するすべての列について、ステップ8以降のステップを繰り返します。

15. データ・リダクション・ポリシーの作成ページで、「OK」をクリックすると、データ・リダクション・ポリシーが作成されます。

Oracle Data Redactionポリシーは、作成した時点でデフォルトで有効になっています。

関連項目

Enterprise Managerを使用したカスタムOracle Data Redaction形式の作成

Oracle Data Redactionの特徴と機能

Enterprise ManagerでのOracle Data Redactionポリシーの有効化または無効化

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

549

Page 550: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enterprise Managerを使用したOracle Data Redactionポリシーの編集Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを編集できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、編集するOracle Data Redactionポリシーが作成されているデータベース・ターゲットの名前を検索してクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「ポリシー」タブの「ポリシー」セクションで、編集するリダクション・ポリシーを選択し、「編集」をクリックします。

図em_red_pol_edit.pngの説明

7. データ・リダクション・ポリシーの編集ページで、ポリシー式の編集、リダクション・ポリシーへの新しい列の追加、ポリシーに含まれる列のリダクション詳細の変更、またはリダクション・ポリシーからの列の削除を選択します。

次の操作を実行できます。

550

Page 551: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

リダクション・ポリシーに新しい列を追加するには、「オブジェクト列」セクションで「追加」をクリックし、追加する表またはビューの列を選択してからリダクションの詳細を指定します。ポリシーに含まれる列のリダクションの詳細を変更するには、「変更」をクリックして、リダクションの詳細を編集します。リダクション・ポリシーから列を削除するには、列を選択して、「削除」をクリックします。

8. データ・リダクション・ポリシーの編集ページで、必要なフィールドを編集してから「OK」をクリックすると、編集されたリダクション・ポリシーが保存され有効になります。

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redactionポリシーの詳細の表示Enterprise Manager Cloud Controlを使用して、Oracle Data Redactionポリシーの詳細(ポリシーが有効かどうかなど)を確認できます。

Enterprise Manager Cloud Controlを使用して、有効化されたリダクション・ポリシーの無効化、または無効化されたリダクション・ポリシーの有効化を行うことができます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、表示するOracle Data Redactionポリシーが作成されているデータベース・ターゲットの名前を検索してクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「ポリシー」タブの「ポリシー」セクションで、次のいずれかを実行します:

表でポリシーの名前を選択します。

必要なリダクション・ポリシーを選択し、「表示」をクリックします。

7. 終了するには、「OK」をクリックします。

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

551

Page 552: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enterprise ManagerでのOracle Data Redactionポリシーの有効化または無効化実行時にOracle Data Redactionポリシーが適用されるのは有効化されている場合のみです。OracleData Redactionポリシーは、作成した時点でデフォルトで有効になっています。

Enterprise Manager Cloud Controlを使用して、有効化されたリダクション・ポリシーの無効化、または無効化されたリダクション・ポリシーの有効化を行うことができます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、有効化または無効化するOracle Data Redactionポリシーが作成されているデータベース・ターゲットの名前を検索してクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「ポリシー」タブの「ポリシー」セクションで、有効化または無効化するリダクション・ポリシーを選択し、「有効化」または「無効化」をクリックします。

図em_red_pol_disable.pngの説明

7. 「確認」ダイアログ・ボックスで「はい」または「いいえ」をクリックします。

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

Enterprise Managerを使用したOracle Data Redactionポリシーの削除Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシーを削除できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

552

Page 553: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、削除するOracle Data Redactionポリシーが作成されているデータベース・ターゲットの名前を検索してクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「ポリシー」タブの「ポリシー」セクションで、削除するリダクション・ポリシーを選択し、「削除」をクリックします。

7. 「確認」ダイアログ・ボックスで「はい」または「いいえ」をクリックします。

親トピック: Enterprise Managerを使用したOracle Data Redactionポリシーの管理

Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理Enterprise Manager Cloud Controlを使用してOracle Data Redactionポリシー式を管理できます。

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式についてOracle Enterprise Manager Cloud Controlで、名前付きOracle Data Redactionポリシー式を作成し、表およびビューの複数の列に適用できます。

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の作成Enterprise Manager Cloud Controlを使用して、名前付きOracle Data Redactionポリシー式を作成および適用できます。

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の編集Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を編集できます。

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の表示Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を表示できます。

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の削除Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を削除できます。

親トピック: Oracle Enterprise ManagerでのOracle Data Redactionポリシーの管理

553

Page 554: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

での名前付きデータ・リダクション・ポリシー式についてOracle Enterprise Manager Cloud Controlで、名前付きOracle Data Redactionポリシー式を作成し、表およびビューの複数の列に適用できます。

ポリシー式を変更すると、その変更はポリシー式を使用するデータベース・インスタンス内のすべてのリダクション済の列に反映されます。Cloud Controlでは、ポリシー式の作成、編集、表示、列への適用および削除ができます。名前付きデータ・リダクション・ポリシー式を作成および使用する前に、COMPATIBLE初期化パラメータが12.2.0.0に設定されていることを確認します。

関連項目

複数の名前付きポリシー式の作成および管理

親トピック: Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の作成Enterprise Manager Cloud Controlを使用して、名前付きOracle Data Redactionポリシー式を作成および適用できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、Oracle Data Redactionポリシーを作成するデータベース・ターゲットの名前をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「Oracle Data Redaction」ページで、「式」タブを選択します。

7. 「作成」をクリックします。

「作成」ダイアログ・ボックスが表示されます。

Enterprise Manager

554

Page 555: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

図em_red_pol_exp_create.pngの説明

8. 「作成」ダイアログ・ボックスに次の情報を入力します。

式名: ポリシー式の名前を入力します。既存のポリシー式が「データ・リダクション」ページにリストされます。説明: このポリシーの簡単な説明を入力します。

式: 式を入力します。特定のユーザー対するポリシーの適用または除外などのより複雑な式については、「式」フィールドの右にある「ポリシー式ビルダー」アイコンをクリックします。「ポリシー式ビルダー」で「OK」をクリックして式を作成します。

9. 「作成」ダイアログ・ボックスで「OK」をクリックします。

ポリシー式を作成すると、「データ・リダクション」ページにリストされ、データ・リダクション・ポリシーと関連付けられる準備ができます。

10. 「データ・リダクション」ページで「ポリシー」タブを選択します。

11. 「ポリシー」の下で、ポリシー式を適用する列をリダクションするポリシーの行を選択し、「編集」をクリックします。

12. 「オブジェクト列」の下で対象の列を選択し、「変更」ボタンをクリックします。

13. 「変更」ダイアログ・ボックスで「式名」リストから式を選択します。

14. 「OK」をクリックし、「データ・リダクション・ポリシーの編集」ダイアログ・ボックスで再度「OK」をクリックします。

親トピック: Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の編集Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を編集できます。

555

Page 556: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、Oracle Data Redactionポリシーを作成するデータベース・ターゲットの名前をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「Oracle Data Redaction」ページで、「式」タブを選択します。

7. 編集するポリシー式を選択し、「編集」をクリックします。

図em_red_pol_expr_edit.pngの説明

8. 「編集」ダイアログ・ボックスで、必要に応じて「説明」および「式」フィールドを変更します。さらに複雑な式については、「ポリシー式ビルダー」アイコンをクリックし、式を再作成した後、「OK」をクリックします。

9. 「編集」ダイアログ・ボックスで「OK」をクリックします。

親トピック: Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の表示Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を表示できます。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。

556

Page 557: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、Oracle Data Redactionポリシーを作成するデータベース・ターゲットの名前をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「Oracle Data Redaction」ページで、「式」タブを選択します。

7. 表示するポリシー式を選択し、「表示」をクリックします。「表示」ダイアログ・ボックスが表示され、ポリシー式の定義が示されます。

8. 「OK」をクリックして「表示」ダイアログ・ボックスを終了します。

親トピック: Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

Enterprise Managerでの名前付きデータ・リダクション・ポリシー式の削除Enterprise Manager Cloud Controlを使用して名前付きOracle Data Redactionポリシー式を削除できます。

削除プロセスでは、まずポリシー式が適用されているすべての列からポリシー式の関連付けを解除します。

1. ユーザーSYSTEMまたはSYSMANとしてOracle Enterprise Manager Cloud Controlにログインします。URLは次のとおりです。https://host:port/em

2. 「ターゲット」メニューから「データベース」を選択します。

3. 「検索リスト」を選択し、Oracle Data Redactionポリシーを作成するデータベース・ターゲットの名前をクリックします。

4. データベース・ターゲットのホームページで、「セキュリティ」メニューから「データ・リダクション」を選択します。

5. 求められた場合にはデータベースにログインします。DBMS_REDACT PL/SQLパッケージに対するEXECUTE権限を持つユーザーとしてデータベースにログインしてください。

6. 「Oracle Data Redaction」ページで、「式」タブを選択します。

7. 削除するポリシー式を選択し、「削除」をクリックします。

557

Page 558: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「式の削除」の確認ダイアログ・ボックスが表示されます。8. 「OK」をクリックします。

親トピック: Enterprise Managerを使用した名前付きデータ・リダクション・ポリシー式の管理

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

558

Page 559: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

15 Oracle Database機能と組み合せたOracle Data Redactionの使用Oracle Data Redactionは他のOracle機能とともに使用できますが、一部のOracle機能にはOracle Data Redactionについて制限がある場合があります。

Oracle Data Redactionの一般的な使用上のガイドラインOracle Data Redactionを使用するための使用上のガイドラインを理解することが重要です。

Oracle Data Redactionと、DMLおよびDDL操作Oracle Data Redactionは、DMLおよびDDL操作に影響を与えます。特に、リダクションされた列を持つ表に対して非定型SQLを発行するユーザーがいる場合に、これが当てはまります。

ネストした関数、インライン・ビューおよびWHERE句でのOracle Data RedactionOracle Data Redactionは、ネストした関数、インライン・ビュー、およびSELECT文のWHERE句と一緒に使用できます。

Oracle Data Redactionおよびデータ・リダクション・ポリシーによって保護される列に対する問合せOracle Data Redactionポリシーによって保護される列に対して、DISTINCTまたはORDERBY句を含む問合せを行うと、0行が返されることがあります。

Oracle Data Redactionとデータベース・リンクデータベース・リンクを参照するデータベース・ビューでOracle Data Redactionポリシーを作成しないでください。

Oracle Data Redactionおよび集計関数集計関数は、Oracle Data Redactionポリシーのパフォーマンス・オーバーヘッドに影響を与えることがあります。

Oracle Data Redactionおよびオブジェクト型オブジェクト型を使用して、顧客アカウントなどの実世界のエンティティをモデル化できま

559

Page 560: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

す。

Oracle Data RedactionおよびXML生成Oracle Data Redactionポリシーが定義されている列で、XML生成関数を使用することはできません。

Oracle Data Redactionおよびエディションエディション化ビューはリダクションできません。

マルチテナント環境におけるOracle Data Redactionマルチテナント環境では、Oracle Data Redactionポリシーは、現在のプラガブル・データベース(PDB)内のオブジェクトのみに適用されます。

Oracle Data RedactionとOracle Virtual Private DatabaseVPD述語を含むVPDインライン・ビューは実際の値で動作するため、Oracle Virtual PrivateDatabaseポリシーはOracle Data Redactionの影響を受けません。

Oracle Data RedactionとOracle Database Real Application SecurityOracle Data Redactionは、アプリケーションに対するセキュリティの実装方法の点でOracleDatabase Real Application Securityとは異なります。

Oracle Data RedactionとOracle Database VaultOracle Database Vault環境で、Oracle Data Redactionを使用できます。

Oracle Data RedactionとOracle Data PumpOracle Data Pumpのエクスポート操作は、Oracle Data Redactionポリシーを含むオブジェクトに影響を与えることがあります。

Oracle Data RedactionとData Masking and Subsetting PackOracle Enterprise Manager Data Masking and Subsetting Packを使用して、本番データベースの開発またはテスト・コピーを作成できます。

Oracle Data RedactionおよびJSONJavaScript Object Notation (JSON)を使用して、表の列にis json制約を作成できます。

親トピック: Oracle Data Redactionの使用

Oracle Data Redactionの一般的な使用上のガイドラインOracle Data Redactionを使用するための使用上のガイドラインを理解することが重要です。

SQL文のGROUP BY句で使用されるSQL式にリダクションされた列を含めることはできません。Oracleではこのような動作はサポートされないため、「ORA-00979: GROUP BYの式ではありません。」エラーが発生します。これはSELECTリスト内の式がデータ・リダクション

560

Page 561: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

により内部で変更される必要があるために発生しますが、GROUP BY句(その時点ではデータ・リダクションにより更新されていない)を処理するときに見つからなくなっている原因となり、この予期せぬエラー・メッセージが発生します。SQL文のDISTINCT句とORDER BY句の両方で使用されるSQL式にリダクションされた列を含めることはできません。Oracleではこのような動作はサポートされないため、「ORA-01791: SELECT式が無効です。」エラーが発生します。これはSELECTリスト内の式がデータ・リダクションにより内部で変更される必要があるために発生しますが、GROUP BY句を処理するときに見つからなくなっている原因となり、この予期せぬエラー・メッセージが発生します。リダクションされた列のUNIONが問合せに含まれ、UNIONの各ブランチにあるリダクション・ポリシーが同じではない場合は、「ORA-28094: SQL構造はデータ・リダクションでサポートされていません」エラーが発生します。ORA-28094エラーを回避するには、次のプロパティが問合せにあることを確認します。

UNION内の列にリダクション・ポリシーがある場合、UNIONの各ブランチ内の対応する列は、次のすべてのプロパティに対して同じ値を持つリダクション・ポリシーを使用する必要があります。

関数のタイプ

関数パラメータまたはREGEXPパラメータ

ポリシー式

フラグの有効化

別のリダクション・ポリシーでもかまいませんが、これらのプロパティはすべて同じである必要があります。インライン・ビューでは、UNIONは、副問合せまたはリダクションされた列を含むSQL式を使用できません。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionと、DMLおよびDDL操作Oracle Data Redactionは、DMLおよびDDL操作に影響を与えます。特に、リダクションされた列を持つ表に対して非定型SQLを発行するユーザーがいる場合に、これが当てはまります。

次の点に注意してください。

Oracle Data Redactionは、結果は表示されませんが、DML文のRETURNING INTO句を問合せとして処理します。バッファに送信されるのは、RETURNING INTO句が通常のSQL問合せとして実行された場合に表示される結果で、DML文の一部として実行された場合の結果ではありません。アプリケーションがRETURNING INTOの値を格納したバッファ上でさらに処理

561

Page 562: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

を実行する場合、バッファ内でリダクションされた結果を検索することができないため、アプリケーションの変更を検討してください。リダクションされた列がDMLまたはDDL操作のソースとして現れた場合、Oracle DataRedactionは、これをポリシーを回避する試みとみなし、EXEMPT REDACTION POLICYシステム権限がないかぎり、「ORA-28081: 権限が不十分です - コマンドはリダクション済のオブジェクトを参照しています。」エラーを表示して拒否します。内部ではOracle Data Pumpがこの種の操作を実行するため、リダクションされた列がある表のスキーマ・レベルのエクスポートを実行する必要があるユーザーには、EXEMPT REDACTION POLICYシステム権限の付与が必要になる可能性があります。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

ネストした関数、インライン・ビューおよびWHERE句でのOracle Data RedactionOracle Data Redactionは、ネストした関数、インライン・ビュー、およびSELECT文のWHERE句と一緒に使用できます。

Oracle Data Redactionポリシーは次のように動作します。

ネストした関数は、最も内側からリダクションされます。たとえば、SELECTSUM(AVG(TO_NUMBER(((X))) FROM HR.EMPLOYEES WHERE ...では、最初にTO_NUMBERがリダクションされ、次にAVGが、最後にSUM関数がリダクションされます。

インライン・ビューは、最も外側からリダクションされます。たとえば、SELECT XYZ …AS SELECT A… AS SELECT B… AS SELECT C…では、最初にSELECT XYZがリダクションされ、次にAS SELECT A、その次にAS SELECT Bという順序でリダクションされます。AS SELECT Cは最後にリダクションされます。

WHERE句はリダクションされません。データ・リダクションでは、列のSELECTリストのデータのみがリダクションされます。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionおよびデータ・リダクション・ポリシーによって保護される列に対する問合せOracle Data Redactionポリシーによって保護される列に対して、DISTINCT句またはORDER BY句を含む問合せを行うと、0行が返されることがあります。

これは、リダクションが問合せのセマンティクスを保持するために発生します。たとえば、SELECT * table_name WHERE sensitive_column LIKE 'value';などの問合せでは、0行が返される可能性が高くなります。これは、リダクションされた値が、WHERE句に入力さ

562

Page 563: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

れた'value'値と一致しないためです。この問題を回避するには、インライン・ビューを含むように問合せをリライトして、セマンティック・レイヤーが列を検出できるようにします。たとえば、次の問合せを考えてみます。

SELECT DISTINCT sensitive_column

FROM table_name

ORDER BY sensitive_column;

次のようにして問合せをリライトします。

SELECT sensitive_column FROM

(SELECT DISTINCT sensitive_column

FROM table_name

ORDER BY sensitive_column);

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionとデータベース・リンクデータベース・リンクを参照するデータベース・ビューでOracle Data Redactionポリシーを作成しないでください。

DBA_DB_LINKSデータ・ディクショナリ・ビューを問い合せることによって、既存のデータベース・リンクについての情報を検索できます。

関連項目:

データベース・リンクの詳細は、Oracle Database管理者ガイドを参照してください。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionおよび集計関数集計関数は、Oracle Data Redactionポリシーのパフォーマンス・オーバーヘッドに影響を与えることがあります。

Oracle Data Redactionは列の各行の値を動的に変更するため、集計関数を使用する特定のSQL問合せでは、行の値が静的であると仮定しているデータベース最適化を最大限に利用できません。

集計関数をコールするSQL問合せでは、リダクションが原因でパフォーマンス・オーバーヘッド

コピー

コピー

563

Page 564: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

が発生する可能性があります。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionおよびオブジェクト型オブジェクト型を使用して、顧客アカウントなどの実世界のエンティティをモデル化できます。

オブジェクト型はユーザー定義の型です。オブジェクト型をリダクションすることはできません。これは、データベース・リダクションでは、オブジェクト型を構成できる可能性のある一部の方法を処理できないためです(ユーザー定義であるため)。オブジェクトで使用する型は、ALL_OBJECTSデータ・ディクショナリ・ビューのOBJECT_NAMEおよびOBJECT_TYPE列を問い合せることで検索できます。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionおよびXML生成Oracle Data Redactionポリシーが定義されている列で、XML生成関数を使用することはできません。

Oracle XML DB開発者ガイドで、この制限が適用されるSQL関数の種類について説明しています。この制限は、Oracle Data Redactionポリシーが有効化されているか無効化されているか、または問合せを行っているユーザーに対してアクティブかどうかに関係なく適用されます。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data Redactionおよびエディションエディション化ビューはリダクションできません。

エディション化ビューはリダクションできないほかに、いずれのエディション化ビューの定義でも、リダクションされた列を使用することはできません。DBA_EDITIONSデータ・ディクショナリ・ビューを問い合せると、エディションに関する情報を検索できます。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

マルチテナント環境におけるOracle Data Redactionマルチテナント環境では、Oracle Data Redactionポリシーは、現在のプラガブル・データベース(PDB)内のオブジェクトのみに適用されます。

データ・リダクション・ポリシーは、マルチテナント・コンテナ・データベース(CDB)には作成できません。これは、一般的にデータ・リダクション・ポリシーを作成するオブジェクトがPDBにあるためです。SYSDBA権限を持っている場合は、SHOW PDBSコマンドを実行して、CDB内のす

564

Page 565: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

べてのPDBをリストできます。

CDBルートと同様、アプリケーション・ルートにデータ・リダクション・ポリシーを作成することはできません。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionとOracle Virtual Private DatabaseVPD述語を含むVPDインライン・ビューは実際の値で動作するため、Oracle Virtual PrivateDatabaseポリシーはOracle Data Redactionの影響を受けません。

Oracle Data Redactionは、次の点でOracle Virtual Private Databaseとは異なります。

Oracle Data Redactionは、NULLリダクションのみをサポートするOracle Virtual PrivateDatabaseよりも多くのリダクション機能を提供します。多くのアプリケーションでは、NULLリダクションを使用できないため、そのようなアプリケーションでは、データ・リダクションは有効な解決策です。Oracle Virtual Private Databaseポリシーは静的、動的および文脈依存を使用できる一方、データ・リダクション・ポリシーは、静的および文脈依存のポリシー表現のみを使用できます。データ・リダクションは、表またはビューに定義するポリシーを1つのみを許可する一方、オブジェクトには、複数の仮想プライベート・データベースのポリシーを定義できます。データ・リダクションは、アプリケーション・ユーザーが、シノニムを使用するデータ・リダクション・ポリシーで保護されるオブジェクトへのアクセスを試みたときに実行されますが、(Oracle Virtual Private Databaseと違って)シノニム自体に直接ポリシーを作成することはできません。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionとOracle Database Real Application SecurityOracle Data Redactionは、アプリケーションに対するセキュリティの実装方法の点でOracle DatabaseReal Application Securityとは異なります。

Oracle Data Redactionは、アプリケーション・セキュリティに包括的な認可フレームワークを提供している点で、Oracle Database Real Application Securityとは異なります。

Real Application Security内の列セキュリティは、Real Application Securityフレームワークを使用してアプリケーションで定義されるアプリケーション権限に基づきます。

関連項目:

カスタム・アプリケーション権限で表の列を保護する方法の詳細は、Oracle Database RealApplication Security管理者および開発者ガイドを参照してください。

565

Page 566: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionとOracle Database VaultOracle Database Vault環境で、Oracle Data Redactionを使用できます。

たとえば、オブジェクトがOracle Database Vaultレルムに含まれている場合、レルムの所有者または参加者の認証済リストに属していないユーザーは、ユーザーにEXEMPT REDACTION POLICY権限が付与されているかどうかにかかわらず、オブジェクト・データを表示できません。ユーザーがデータに対してDMLまたはDDL文を試みると、エラー・メッセージが表示されます。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionとOracle Data PumpOracle Data Pumpのエクスポート操作は、Oracle Data Redactionポリシーを含むオブジェクトに影響を与えることがあります。

Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデルDATAPUMP_EXP_FULL_DATABASEロールには、強力なEXEMPT REDACTION POLICYシステム権限が含まれます。

Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポートOracle Data Redactionポリシーがすでに定義されているオブジェクトをエクスポートできます。

EXPDPユーティリティのaccess_methodパラメータを使用したデータのエクスポートOracle Data Pumpによって、データ・リダクション・ポリシーのあるオブジェクトを含むスキーマからデータをエクスポートできます。

Oracle Data Redactionで保護されているオブジェクトへのデータのインポートインポート操作中に、インポートされるデータを保護するデータ・リダクション・ポリシーを誤って削除しないように注意してください。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionのためのOracle Data Pumpセキュリティ・モデルDATAPUMP_EXP_FULL_DATABASEロールには、強力なEXEMPT REDACTION POLICYシステム権限が含まれます。

デフォルトでは、DBAロールにDATAPUMP_EXP_FULL_DATABASEロールおよびDATAPUMP_IMP_FULL_DATABASEが付与されることに注意してください。

566

Page 567: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

これによって、これらのロールを付与されたユーザーは、データ・リダクション・ポリシーから除外されます。このため、オブジェクトに定義されているデータ・リダクション・ポリシーでオブジェクトをエクスポートすると、保護されている表の実際のデータは、リダクションされずにData Pumpのターゲット・システムにコピーされます。DBAロールを含むこれらのロールを持つユーザーは、ターゲット・システム内の実際のデータを参照できます。

ただし、デフォルトでは、Data Pumpのソース・システムの任意の表およびビューに関連付けられたすべてのデータ・リダクション・ポリシーも(オブジェクト自体とともに)エクスポートおよびインポート操作に含まれ、ターゲット・システムのオブジェクトに適用されるため、ユーザーがターゲット・システム内のオブジェクトを問い合せると、データはリダクションされます。

関連項目

Oracle Data Redactionポリシーからのユーザーの除外

親トピック: Oracle Data RedactionとOracle Data Pump

Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポートOracle Data Redactionポリシーがすでに定義されているオブジェクトをエクスポートできます。

Oracle Data Pumpで使用されるタイプ名の検索Oracle Data Redactionポリシーが定義されているオブジェクトをエクスポートする前に、Oracle Data Pumpで使用されるタイプ名を検索する必要があります。

データ・リダクション・ポリシーに関連するデータ・ディクショナリ・メタデータのみのエクスポートデータ・リダクション・ポリシーおよび完全リダクション設定に関連するデータ・ディクショナリ・メタデータのみをエクスポートできます。

IMPDPのINCLUDEパラメータを使用したオブジェクトのインポートOracle Database Pumpを使用してオブジェクトをインポートできます。

親トピック: Oracle Data RedactionとOracle Data Pump

Oracle Data Pumpで使用されるタイプ名の検索Oracle Data Redactionポリシーが定義されているオブジェクトをエクスポートする前に、OracleData Pumpで使用されるタイプ名を検索する必要があります。

これらのタイプを検索した後、これらのタイプをIMPDPユーティリティのINCLUDEディレクティブに対するパラメータとして使用して、その特定のタイプのメタデータのみをダンプ・ファイルに選択的にエクスポートできます。

タイプ名を検索するには、DATABASE_EXPORT_OBJECTSビューを問い合せます。

567

Page 568: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

例:

SELECT OBJECT_PATH

FROM DATABASE_EXPORT_OBJECTS

WHERE OBJECT_PATH LIKE 'RADM_%';

次のような出力が表示されます。

OBJECT_PATH

------------

RADM_FPTM

RADM_POLICY

親トピック: Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポート

データ・リダクション・ポリシーに関連するデータ・ディクショナリ・メタデータのみのエクスポート

データ・リダクション・ポリシーおよび完全リダクション設定に関連するデータ・ディクショナリ・メタデータのみをエクスポートできます。

この種のデータ・ポンプ・エクスポートは、開発、テストおよび本番の各データベース間でデータ・リダクション・ポリシーおよび設定の同じセットを使用する必要がある場合などに使用できます。content=metadata_onlyフラグが指定されているため、ダンプ・ファイルに実際のデータは含まれません。

データ・リダクション・ポリシーおよび完全リダクション設定に関連するデータ・ディクショナリ・メタデータのみをエクスポートするには、次のようなEXPDPユーティリティ・コマンドを入力します。

expdp system/password \

full=y \

COMPRESSION=NONE \

content=metadata_only \

INCLUDE=RADM_FPTM,RADM_POLICY\

directory=my_directory \

job_name=my_job_name \

コピー

コピー

コピー

568

Page 569: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

dumpfile=my_data_redaction_policy_metadata.dmp

関連項目:

EXPDPユーティリティのINCLUDEパラメータの詳細は、Oracle Databaseユーティリティを参照してください。メタデータ・フィルタの詳細は、Oracle Databaseユーティリティを参照してください。

親トピック: Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポート

IMPDPのINCLUDEパラメータを使用したオブジェクトのインポートOracle Database Pumpを使用してオブジェクトをインポートできます。

オブジェクトをインポートするには、DATABASE_EXPORT_OBJECTSビューでOBJECT_PATH列を問い合せた出力に基づいて、これらの名前をIMPDPユーティリティ・コマンドのINCLUDEパラメータに含めます。

親トピック: Oracle Data Redactionポリシーが定義されているオブジェクトのエクスポート

EXPDPユーティリティのaccess_methodパラメータを使用したデータのエクスポートOracle Data Pumpによって、データ・リダクション・ポリシーのあるオブジェクトを含むスキーマからデータをエクスポートできます。

Oracle Data Pumpを使用して、新しいデータ・ポンプのデフォルト設定(direct_path)に基づいてデータベースの全体エクスポート操作を実行し、理解できないエラー・メッセージが返された場合、この項を使用して、エラーをより正確に理解できるような方法で操作を繰り返してください。

access_methodパラメータがdirect_pathに設定されたOracle Data Pump Export (EXPDP)ユーティリティを使用してデータをスキーマからエクスポートしようとするとき、このスキーマにデータ・リダクション・ポリシーが定義されているオブジェクトが含まれていると、次のエラー・メッセージが表示される場合があり、エクスポート操作は失敗します。

ORA-31696: unable to export/import TABLE_DATA:"schema.table" using

client specified DIRECT_PATH method

コピー

569

Page 570: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

この問題は、スキーマ・レベルのエクスポートを、EXP_FULL_DATABASEロールを付与されていないユーザーとして実行する場合にのみ発生します。EXP_FULL_DATABASEロールを必要とするフル・データベース・エクスポート時には発生しません。EXP_FULL_DATABASEロールにはEXEMPT REDACTION POLICYシステム権限が含まれており、これによりデータ・リダクション・ポリシーが無視されます。

潜在的な問題を見つけるには、EXPDP起動を再度試してください。ただし、access_methodパラメータをdirect_pathには設定しないでください。かわりに、automaticとexternal_tableのどちらかを使用してください。潜在的な問題とは、たとえば次のような権限の問題です。

ORA-28081: Insufficient privileges - the command references a

redacted object.

関連項目:

データ・ポンプ・エクスポートの使用に関する詳細は、『Oracle Databaseユーティリティ』を参照してください。

親トピック: Oracle Data RedactionとOracle Data Pump

Oracle Data Redactionで保護されているオブジェクトへのデータのインポートインポート操作中に、インポートされるデータを保護するデータ・リダクション・ポリシーを誤って削除しないように注意してください。

Oracle Data Pumpエクスポート(EXPDP)ユーティリティを使用してエクスポートされたソース表にOracle Data Redactionポリシーが存在しないシナリオを考えてみます。ただし、Oracle DataPumpインポート(IMPDP)を使用してデータをインポートする宛先表には、Oracle Data Redactionポリシーが存在します。

Data Pumpインポート操作中、インポートされるオブジェクトでのデータ・リダクション・ポリシーのステータスは、IMPDPコマンドのCONTENTオプションによって異なります。

IMPDPコマンドでCONTENT=ALL またはCONTENT=METADATA_ONLYオプションを使用する場合、宛先表のデータ・リダクション・ポリシーは削除されます。データ・リダクション・ポリシーを再作成する必要があります。IMPDPコマンドでCONTENT=DATA_ONLYを使用する場合、宛先表のデータ・リダクション・ポリシーは削除されません。

関連項目:

コピー

570

Page 571: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データ・ポンプ・エクスポートの使用に関する詳細は、『Oracle Databaseユーティリティ』を参照してください

親トピック: Oracle Data RedactionとOracle Data Pump

Oracle Data RedactionとData Masking and Subsetting PackOracle Enterprise Manager Data Masking and Subsetting Packを使用して、本番データベースの開発またはテスト・コピーを作成できます。

これを実行するには、このデータを一括でマスクして、出力後のマスクされたデータを開発またはテスト・コピーに配置します。

Oracle Enterprise Manager Data Masking and Subsetting Packですでにマスクされたデータを含む列をリダクションする場合は、データ・リダクション・ポリシーを本番以外のデータベースに適用してもかまいません。

データを開発およびテスト環境に移行する場合は、Oracle Enterprise Manager Data Masking andSubsetting Packを使用して、必ずデータ・セットをマスクしてください。データ・リダクションは、アプリケーション・コードを変更せずに、複数のアプリケーション間で一貫した方法で、起動時に本番アプリケーションをリダクションすることを主な目的として設計されています。

関連項目:

データ・マスキングおよびサブセッティングの詳細は、Oracle Data Masking and Subsettingガイドを参照してください。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

Oracle Data RedactionおよびJSONJavaScript Object Notation (JSON)を使用して、表の列にis json制約を作成できます。

ただし、is json制約のある表の列にOracle Data Redactionポリシーを作成することはできません。これを試みると、ORA-28073 - The column column_name has an unsupporteddatatypeエラーが発生します。回避策として、JSONオブジェクトの上にJSON_TABLE行ソース演算子使用するリレーショナル・ビューを作成し、このビューに対してデータ・リダクション・ポリシーを適用することをお薦めします。

JASON_TABLEの詳細は、Oracle Database SQL言語リファレンスを参照してください。

親トピック: Oracle Database機能と組み合せたOracle Data Redactionの使用

571

Page 573: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

16 Oracle Data Redactionのセキュリティの考慮事項Oracleでは、Oracle Data Redactionを使用する場合のガイドラインを提供しています。

Oracle Data Redactionの一般的なセキュリティのガイドラインOracle Data Redactionを使用するための一般的なセキュリティのガイドラインを理解することが重要です。

Oracle Data Redactionポリシーへの管理アクセスの制限データ・リダクション・ポリシーを作成、表示および編集できるユーザーのリストを制限できます。

Oracle Data RedactionがSYS、SYSTEMおよびデフォルト・スキーマに与える影響ユーザーSYSおよびSYSTEMはいずれも自動的にEXEMPT REDACTION POLICYシステム権限が付与されています。

SYS_CONTEXT属性を使用するポリシー式アプリケーションによって移入されるSYS_CONTEXT属性に依存するポリシー式を記述するときは、注意してください。

マテリアライズド・ビューに対するOracle Data Redactionポリシーマテリアライズド・ビューやその実表に対するOracle Data Redactionポリシーを作成できます。

ビューが無効な場合のREDACTION_COLUMNSデータ・ディクショナリ・ビューの動作Oracle Data Redactionポリシーがビューの列に存在しているときに、そのビューが無効になっても、REDACTION_COLUMNSデータ・ディクショナリ・ビューではデータ・リダクション・ポリシーが参照可能なままになります。

ごみ箱が有効になっている場合のOracle Data Redactionポリシーの削除Oracle Data Redactionポリシーを削除する前に、ごみ箱が有効になっているかどうかを確認す

573

Page 574: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

る必要があります。

親トピック: Oracle Data Redactionの使用

Oracle Data Redactionの一般的なセキュリティのガイドラインOracle Data Redactionを使用するための一般的なセキュリティ上のガイドラインを理解することが重要です。

Oracle Data Redactionは、データベースに対して直接非定型な問合せを実行する権限を持つ通常のデータベース・ユーザーによって行われる攻撃に対する保護目的では使用できません。ユーザーが任意のSQL文またはPL/SQL文を発行できる場合、そのユーザーは実際の値にアクセスできます。Oracle Data Redactionは、推論によって実際の値を判断しようと試みる非定型なSQL問合せを実行するユーザーに対する保護目的では使用できません。Oracle Data Redactionは、データベースおよびアプリケーションのコンテキスト値に依存します。アプリケーションの場合、コンテキスト値を適切に初期化するのは、アプリケーションの役割です。Oracle Data Redactionは、SYSDBA管理権限を使用してログインしているユーザーには適用されません。データ・リダクション・ポリシーの管理下から実際のデータをコピーしようとする特定のDDL文(CREATE TABLE AS SELECTやINSERT AS SELECT)は、デフォルトでブロックされますが、ユーザーにEXEMPT REDACTION POLICYシステム権限を付与することでこの動作を無効にできます。Oracle Data Redactionは、日常のデータベース操作(バックアップおよびリカバリ、Oracle DataPumpエクスポート/インポート、Oracle Data Guard操作、レプリケーションなど)には影響しません。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

Oracle Data Redactionポリシーへの管理アクセスの制限データ・リダクション・ポリシーを作成、表示および編集できるユーザーのリストを制限できます。

これを実行するには、DBMS_REDACTパッケージに対するEXECUTE権限を持つユーザーを制限し、REDACTION_POLICIESおよびREDACTION_COLUMNSビューに対するSELECT権限を持つユーザーを制限します。

また、EXEMPT REDACTION POLICY権限を制限することによって、リダクションから除外されるユーザーも制限できます。Oracle Database Vaultを使用して、権限ユーザーのアクセスを制限する

574

Page 575: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

と、レルムを使用してEXEMPT REDACTION POLICYの付与を制限できます。

関連項目

Oracle Data RedactionとOracle Database Vault

Oracle Data Redactionポリシーからのユーザーの除外

Oracle Database Vaultの概要

親トピック: Oracle Data Redactionのセキュリティの考慮事項

Oracle Data RedactionがSYS、SYSTEMおよびデフォルト・スキーマに与える影響ユーザーSYSおよびSYSTEMはいずれも自動的にEXEMPT REDACTION POLICYシステム権限が付与されています。

SYSTEMには、EXEMPT REDACTION POLICYシステム権限を含む、EXP_FULL_DATABASEロールが付与されています。

そのため、SYSおよびSYSTEMユーザーは、常に既存のOracle Data Redactionポリシーをバイパスでき、またデータ・リダクション・ポリシーが定義されている表(またはビュー)のデータを常に表示できます。

次のガイドラインに従ってください。

デフォルトのOracle Databaseスキーマには、データ・リダクション・ポリシーを作成しないでください。SYSおよびSYSTEMスキーマも同様です。

追加ロールにEXEMPT DATA REDACTIONシステム権限を付与すると、ユーザーにOracleData Redactionのバイパスを許す場合があることに注意してください。権限受領者ロールが追加のロールに付与されている可能性があるからです。デフォルトで付与されているロールからは、EXEMPT DATA REDACTIONシステム権限を取り消さないでください。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

SYS_CONTEXT属性を使用するポリシー式アプリケーションによって移入されるSYS_CONTEXT属性に依存するポリシー式を記述するときは、注意してください。

その属性はアプリケーションによって常に移入されるわけではありません。

ユーザーが(アプリケーションを通じてではなく)なんらかの方法で直接接続した場

575

Page 576: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

合、SYS_CONTEXT属性は移入されません。ポリシー式でこのNULLシナリオを処理しないと、意図せずに実際のデータを問合せユーザーに開示してしまうことがあります。

たとえば、クライアント識別子の値がSUPERVISORであるユーザー以外のすべてのユーザーに問合せ結果をリダクションする目的でポリシー式を作成するとします。次の式では、CLIENT_IDENTIFIERの値がNULLである問合せユーザーに、意図せずに実際のデータが表示されます。

SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER') IS NOT 'SUPERVISOR'

ポリシー式をより厳密にすると、クライアント識別子が設定されていない場合(NULL値である場合)、問合せ結果はリダクションされます。

SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER') IS NOT 'SUPERVISOR' OR

IS NULL

SQLでは、NULLとの比較は未定義であるため、FALSEになりますが、リダクションはポリシー式がTRUEに評価された場合にのみ実行されることに注意してください。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

マテリアライズド・ビューに対するOracle Data RedactionポリシーOracle Data Redactionポリシーは、マテリアライズド・ビューやその実表に作成できます。

ただし、マテリアライズド・ビューの作成者(または、マテリアライズド・ビューのリフレッシュを実行するユーザー)は、データ・リダクション・ポリシーによってブロックされないようにしてください。つまり、マテリアライズド・ビューの作成操作やリフレッシュ操作を実行するユーザーは、データ・リダクション・ポリシーから除外する必要があります。ベスト・プラクティスは、新しいマテリアライズド・ビューを作成する場合に、それを実際の表のコピーとして扱い、個別のデータ・リダクション・ポリシーを作成してそれを保護することです。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

ビューが無効な場合のREDACTION_COLUMNSデータ・ディクショナリ・ビューの動作Oracle Data Redactionポリシーがビューの列に存在しているときに、そのビューが無効になって

コピー

コピー

576

Page 577: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

も、REDACTION_COLUMNSデータ・ディクショナリ・ビューではデータ・リダクション・ポリシーが参照可能なままになります。

たとえば、ビューは、そのビューのいずれかの列が参照する列が、そのビューが依存する表から削除されると無効になることがあります。

データ・リダクション・ポリシーは表が無効になったときに自動的に削除されることがないため、REDACTION_COLUMNSデータ・ディクショナリ・ビューでは、その列が引き続き参照可能になります。

データ・リダクション・ポリシーを削除するかどうかは、その後でビューが変更されたときに決定されます。

ビューが無効になったときに自動的にデータ・リダクション・ポリシーを削除するのではなく、このアプローチが採用された理由は、間違いが発生しにくいことと、基礎となる表から実際のデータを誤って表示してしまうリスクが少なくなるためです。

ビューの変更時点まで決定を遅らせることで、列が表にリストアされた後でビューを再コンパイルできるようになります。列が表にリストアされてビューが再コンパイルされると、ビューは有効になり、データ・リダクション・ポリシーが引き続き適用されます。

その一方、無効なビュー定義が有効なビュー定義(データ・リダクション・ポリシーが定義されていた列を含まなくなったもの)に置き換えられた場合、その時点でデータ・リダクション・ポリシーは自動的に削除されます。その後で、REDACTION_COLUMNSデータ・ディクショナリ・ビューは列を表示しなくなるように更新されます(その列が新しいビューの定義に含まれなくなったため)。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

ごみ箱が有効になっている場合のOracle Data Redactionポリシーの削除Oracle Data Redactionポリシーを削除する前に、ごみ箱が有効になっているかどうかを確認する必要があります。

ごみ箱機能が有効になっている場合にOracle Data Redactionポリシーが定義されている表またはビューを削除するか、または、ごみ箱を空にする前にREDACTION_COLUMNSまたはREDACTION_POLICIESデータ・ディクショナリ・ビューを問い合せると、BIN$...(BIN$1Xu5PSW5VaPgQxGS5AoAEA==$0など)のオブジェクト名が表示されます。

これは正常な動作です。これらのポリシーは、ごみ箱を空にすると削除されます。

ごみ箱が有効になっているかどうかを確認するには、SQL*PlusのSHOW PARAMETERRECYCLEBINコマンドを実行します。

577

Page 578: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

関連項目:

ごみ箱からのオブジェクトの消去の詳細は、Oracle Database管理者ガイドを参照してください。

親トピック: Oracle Data Redactionのセキュリティの考慮事項

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

578

Page 579: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

用語集実際のデータOracle Data Redactionで、保護表または保護ビューにあるデータ。実際のデータには数字123456789などがあり、この数字のリダクションされたデータは、999996789になります。

親トピック: 用語集

自動ログイン・ソフトウェア・キーストアシステム生成のパスワードによって保護され、セキュリティ管理者によって明示的に開かれる必要のないソフトウェア・キーストア。自動ログイン・ソフトウェア・キーストアは、アクセス時に自動的に開かれます。また、Oracleデータベースを実行しているすべてのコンピュータで使用できます。たとえば、4つのノードそれぞれが別のコンピュータに存在するOracle RAC環境があるとします。この環境で自動ログイン・キーストアが使用されます。REKEY操作がノード1で実行されると、自動ログイン・キーストアとパスワードベースのキーストアを、ノード2、3および4をホストするコンピュータにコピーする必要があります。この構成では、自動ログイン・キーストアは必要な場合に4つのノードすべてで開きます。

「ローカル自動ログイン・ソフトウェア・キーストア」も参照してください。

親トピック: 用語集

暗号スイートSecure Sockets Layer (SSL)を使用して、ネットワーク・ノード間でメッセージを交換するために使用される認証、暗号化およびデータ整合性のアルゴリズムのセット。たとえば、SSLハンドシェイク時に、2つのノードでネゴシエーションを行い、メッセージを交換するときにどの暗号スイートを使用するかを確認します。

親トピック: 用語集

579

Page 580: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

暗号文暗号化されたメッセージ・テキスト。

「暗号化テキスト」も参照してください。

親トピック: 用語集

データ・リダクション様々な値でデータをリアルタイム(ユーザーがデータにアクセスしようとする瞬間)にマスクする機能。すべてのデータまたは一部のデータをマスクしたり、データのかわりにランダム値を表示できます。データベースの実際のデータは変更されません。

親トピック: 用語集

復号化暗号化されたメッセージ(暗号文)を元のメッセージ(平文)に変換する処理。

親トピック: 用語集

暗号化テキスト暗号化アルゴリズムおよび暗号化キーを使用して暗号化されたテキスト。暗号化プロセスの出力ストリーム。テキストは、最初に復号化しないと読取りまたは解読できません。暗号文とも呼ばれます。

親トピック: 用語集

暗号化元のメッセージ(平文)を暗号化されたメッセージ(暗号文)に変換する処理。

親トピック: 用語集

ハードウェア・キーストアハードウェア・セキュリティ・モジュール用の透過的データ暗号化キーを格納するコンテナです。

親トピック: 用語集

ハードウェア・セキュリティ・モジュール暗号化キーを安全に格納する物理デバイスです。

580

Page 581: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 用語集

推論問合せを繰り返し試行してデータを検出するように設計された問合せ。たとえば、最高額の給与を得ているユーザーを検出する場合、侵入者は次の問合せを使用できます。

SELECT FIRST_NAME, LAST_NAME, SALARY FROM HR.EMPLOYEES WHERE SALARY

> 16000 ORDER BY SALARY DESC;

FIRST_NAME LAST_NAME SALARY

-------------------- ------------------------- ----------

Steven King 24000

Neena Kochhar 17000

Lex De Haan 17000

親トピック: 用語集

キーのペア公開キーおよびそれに関連付けられている秘密キー。「公開キーと秘密キーのペア」を参照。

親トピック: 用語集

キーストア透過的データ暗号化キーなどの暗号化キーおよびその他の暗号化されたデータを格納するコンテナに対する一般的な用語です。以前のリリースでは、このコンテナはウォレットと呼ばれ、Oracle固有のものでした。Oracle Database 12cリリース12.1からは、この用語はハードウェア・セキュリティ・モジュールなどのOracle Database以外の暗号化キー・コンテナを含めるように変わりました。

「自動ログイン・ソフトウェア・キーストア」、「ハードウェア・キーストア」および「ローカル自動ログイン・ソフトウェア・キーストア」も参照してください。

親トピック: 用語集

ローカル自動ログイン・ソフトウェア・キーストア作成されたコンピュータ上に制限されるローカルのソフトウェア・キーストア。

コピー

581

Page 582: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

「自動ログイン・ソフトウェア・キーストア」も参照してください。

親トピック: 用語集

マスクユーザーまたはアプリケーションからデータをリダクションする機能。

親トピック: 用語集

Oracle管理の表領域データベース・システムの正しい機能(機密保護、整合性および可用性)のために必要な情報が格納される、Oracle提供の表領域。この情報には、システムのデータ・ディクショナリ、システムの一時ソート領域、システムのUNDOセグメントおよびシステムの補助データが含まれます。この情報はOracleデータベース・サーバーそのものによって内部的に更新されることのみを意図しており、通常、ユーザーが直接更新することはありません。

親トピック: 用語集

パスワードベースのソフトウェア・キーストアアクセスする前にパスワードで開く必要のあるソフトウェア・キーストア。

「キーストア」も参照してください。

親トピック: 用語集

平文暗号化されていないメッセージ・テキスト。

親トピック: 用語集

秘密キー公開キー暗号化では、このキーが、その所有者のみが知る秘密キーになります。主に、デジタル署名で使用されるメッセージ・ダイジェストの暗号化に使用されます。

「公開キーと秘密キーのペア」を参照。

親トピック: 用語集

公開キー公開キー暗号で使用される2つのキーの1つ。もう一方は秘密キーです。公開キー暗号の一般的な

582

Page 583: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

使用方法では、公開キーはデータを暗号化するとき、またはデジタル署名を検証するときに使用されます。秘密キーは、データを復号化するとき、またはデジタル署名を生成するときに使用されます。公開キーは誰でも使用できますが、秘密キーは秘密のまま管理されます。

「公開キーと秘密キーのペア」を参照。

親トピック: 用語集

公開キー暗号化メッセージの送信側が受信側の暗号化キーを暗号化する処理。配信されたメッセージは、受信側の秘密キーで復号化されます。

親トピック: 用語集

公開キーと秘密キーのペア暗号化および復号化に使用される関連する2つの数字のセットで、1つは秘密キー、もう1つは公開キーと呼ばれます。通常、公開キーは広範に使用可能であるが、秘密キーはそれぞれの所有者が保持する。キーのペアの公開キーまたは秘密キーで暗号化されたデータは、キーのペアのうち関連付けられているキーで復号化できます。

親トピック: 用語集

公開キー・インフラストラクチャ公開キー暗号化の原理を利用した情報セキュリティ・テクノロジ。公開キー暗号化には、共有の公開キーと秘密キーのペアを使用した情報の暗号化および復号化が含まれます。パブリック・ネットワーク内にセキュアでプライベートな通信を提供します。

親トピック: 用語集

リダクションされたデータ問合せユーザーに表示される、マスクされたデータ。たとえば、実際のデータが3714-4963-5398-4321の場合、データ・リダクション・ポリシーに従って、リダクションされたデータはXXXX-XXXX-XXXX-4321として表示されます。

親トピック: 用語集

salt暗号化技術において、暗号化されたデータのセキュリティを強化する方法。データが暗号化される前に追加されるランダムな文字列で、攻撃者が暗号文のパターンを既知の暗号文サンプルに一致させてデータを盗むことを困難にします。saltは通常、辞書攻撃(攻撃者が秘密のパスワードを特

583

Page 584: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

定するために使用する方法)を防ぐために、ハッシュ化される前のパスワードにも追加されます。saltを前もって知ることはできないため、ハッシュ化の前にsaltをパスワードに追加することで、侵入者は、ハッシュ値(ベリファイアとも呼ばれる)を一般的なパスワード・ハッシュ値の辞書リストと照合することがより困難になります。

親トピック: 用語集

ソフトウェア・キーストア自動ログイン・ソフトウェア・キーストア、ローカル自動ログイン・ソフトウェア・キーストアまたはパスワードベースのソフトウェア・キーストアとして使用するために透過的データ暗号化のTDEマスター暗号化キーを格納したコンテナ。

親トピック: 用語集

表領域暗号化キー表領域の暗号化の暗号化キー。TDE表領域暗号化キーは表領域暗号化キーを暗号化し、表領域暗号化キーは表領域のデータの暗号化および復号化を行います。

親トピック: 用語集

TDEマスター暗号化キーソフトウェア・キーストアまたはハードウェア・キーストア内に格納されたキー。表の暗号化では、このキーによってTDE表キーが暗号化され、表領域の暗号化では、このキーによって表領域暗号化キーが暗号化されます。

「キーストア」も参照してください。

親トピック: 用語集

TDE表キー列が暗号化用にマークされている表に関連付けられた暗号化キー。TDEマスター暗号化キーは、この表暗号化キーを暗号化します。

親トピック: 用語集

ウォレット個々のエンティティのセキュリティ資格証明を格納したり、管理するために使用されるデータ構造。ウォレットはOracle Databaseのみの固有のものです。ウォレット・リソース・ロケータ(WRL)は、ウォレットを探すために必要なすべての情報を提供します。Oracle Databaseリリース12c以降の透過的データ暗号化の場合、ウォレットがキーストアになります。

584

Page 585: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

親トピック: 用語集

ウォレット不明瞭化アクセスの前に、ユーザーにパスワードを問い合せずにOracleウォレットを格納およびアクセスする機能です(シングル・サインオン(SSO)をサポートしています)。

親トピック: 用語集

ウォレット・リソース・ロケータ(WRL)ウォレットを探すために必要なすべての情報を提供するツールです。ウォレットが格納されているオペレーティング・システム・ディレクトリへのパス。

親トピック: 用語集

About Oracle Contact Us Products A-Z Terms of Use & Privacy Ad Choices

このページは役に立ちましたか?

585

Page 586: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Release 19

Advanced Securityガイド

索引記号 A C D E G H I J K L M N O P R S T U V X

記号, 使用する状況 4.1.4.4

A非定型ツール

Oracle Data Redaction 11.4.2

ADMINISTER KEY MANAGEMENT

分離モード操作 6.2

許可されない分離モード操作 6.3

許可される統一モード操作 5.2

許可されない統一モード操作 5.3

ポリシーへの管理アクセス, 制限 16.2

集計関数データ・リダクション・ポリシー最適化に対する影響 15.6

ALTER SYSTEM文ADMINISTER KEY MANAGEMENT文との比較 7.5

APEX_UTIL.GET_NUMERIC_SESSION_STATE関数Oracle Data Redactionポリシー(NVパブリック・ファンクション) 13.5.6

APEX_UTIL.GET_SESSION_STATE関数

586

Page 587: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Data Redactionポリシー(Vパブリック・ファンクション) 13.5.6

アプリケーションデータベース・アプリケーションおよびOracle Data Redaction 11.4.1

透過的データ暗号化を使用するための変更 7.4

自動ログイン・キーストアおよび透過的データ暗号化(TDE) 4.2.6.4

自動ストレージ管理(ASM)

キーストアの場所の構成 4.1.13.1

ソフトウェア・キーストアの移動4.1.10

ASMの場所を指すマルチテナント・データベース 4.1.13.3

ASMの場所を指す非OMF準拠システム 4.1.13.4

ASMの場所を指すスタンドアロン・データベース 4.1.13.2

CCDB

暗号化されたデータを含むPDBのクローニング 5.8.3.2

分離モードでの暗号化されたデータを含むPDBのクローニング 6.8.3

暗号化されたデータを含むPDBのクローニング, 概要 5.8.3.1

データ・リダクションのマスキング・ポリシー 15.10

あるCDBから別のCDBへのPDBの移動 6.8.1

統一モードでのあるCDBから別のCDBへのPDBの移動 5.8.1

暗号化されたデータがあるPDB 5.8.2

PDB移動操作でのキーストア・パスワードの保持 6.8.1

統一モードでのPDB移動操作でのキーストア・パスワードの保持 5.8.1

分離モードでの暗号化されたデータを含むPDBのリモートからのクローニング 6.8.4,6.8.5

統一モードでの暗号化されたデータを含むPDBのリモートからのクローニング 5.8.3.3,5.8.3.4

チェンジ・データ・キャプチャ, 同期 3.5.3

ハードウェア・キーストアを閉じる 4.1.14.1

587

Page 588: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ソフトウェア・キーストアを閉じる 4.1.14.1

列の暗号化概要 2.4.2

アルゴリズムの変更 3.5.9

暗号化キーの変更 3.5.9

暗号化された表の列をデフォルトのアルゴリズムで作成 3.5.4.2

暗号化された表の列をデフォルト以外のアルゴリズムで作成 3.5.4.3

索引または暗号化列の作成 3.5.6

外部ファイルからのデータのロード 7.7

暗号化するデータ型 3.5.2

既存の表概要 3.5.5.1

暗号化列の追加 3.5.5.2

暗号化の無効化 3.5.5.4

暗号化されていない列の暗号化 3.5.5.3

外部表 3.5.4.7

非互換性 10.1

制限事項 10.1

パフォーマンス, 最適化 10.2

salt 3.5.7

セキュリティに関する考慮事項 7.2.2

整合性チェックのスキップ 3.5.4.4

列の機密タイプ検索データ・リダクション・ポリシー作成時の有効化 14.5.2

準拠透過的データ暗号化 2.2

透過的データ暗号化のデータの圧縮 7.1

ソフトウェア・キーストアの構成ローカル自動ログイン・キーストアの作成 3.3.3.3

制御ファイル

588

Page 589: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

消失 6.4.1

D保存データ 2.1

データベース・クローズ操作キーストア 7.8

データベース・リンクOracle Data Redactionポリシー 15.5

データベース・ロールデータ・リダクション・ポリシー 13.5.4

データベース暗号化について 3.6.1

既存の暗号化 3.6.9.1

オフラインの暗号化 3.6.9.2

オンラインの暗号化 3.6.9.3

透過的データ暗号化のデータのデータ重複除外 7.1

データ・リダクション「Oracle Data Redaction」を参照

データ・リダクションでサポートされるファンクション 13.5.1

データ記憶域透過的データ暗号化 7.3.2

DDL文Oracle Data Redactionポリシー 15.2

復号化表領域, オフライン 3.6.7.1, 3.6.7.3

表領域, オンライン 3.6.8.1

DISTINCT句, データ・リダクション・ポリシー 15.1

DML文Oracle Data Redactionポリシー 15.2

589

Page 590: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Eカスタム形式の編集 14.4.3

ポリシーの編集 14.5.3

エディション透過的データ暗号化 8.6

暗号化された列外部ファイルからのデータのロード 7.7

データの暗号化分離モード 6.5.5, 6.6.5

統一モード 5.5.5, 5.6.5

暗号化 2.4.2

「透過的データ暗号化(TDE)」も参照

暗号化されたデータを含むPDBのクローニング 5.8.3.2

分離モードでの暗号化されたデータを含むPDBのクローニング 6.8.3

オフラインのデータベース 3.6.9.2

オンラインのデータベース 3.6.9.3

将来の表領域の暗号化 3.6.5.2

概要 3.6.5.1

既存のデータベース 3.6.9.1

プロシージャ 3.6.5.2

分離モードでの暗号化されたデータを含むPDBのリモートからのクローニング 6.8.4,6.8.5

統一モードでの暗号化されたデータを含むPDBのリモートからのクローニング 5.8.3.3,5.8.3.4

サポートされる暗号化アルゴリズム 3.6.8.1

表領域, オフライン 3.6.7.1

表領域, オンライン 3.6.8.1

暗号化アルゴリズム, サポート 3.6.8.1

暗号化キー分離モードでの設定 6.5.4

590

Page 591: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

統一モードでの設定 5.5.4

EXEMPT REDACTION POLICY権限Database Vaultでの使用 16.2

式 13.5.1

LENGTHファンクション, 文字列 13.5.2.3

ネームスペース・ファンクション 13.5.2.1

Oracle Application Express 13.5.2.4

Oracle Label Securityファンクション 13.5.2.5

SUBSTRファンクション 13.5.2.2

EXTERNAL_STORE句 4.1.4.4

外部資格証明ストア, ハードウェア・キーストア 4.1.4.1

外部資格証明ストア, ハードウェア・キーストア, sqlnet.ora 4.1.4.3

外部資格証明ストア, ハードウェア・キーストア, WALLET_ROOT 4.1.4.2

外部資格証明ストア, パスワードベースのソフトウェア・キーストア 4.1.4.1

外部資格証明ストア, パスワードベースのソフトウェア・キーストア, sqlnet.ora 4.1.4.3

外部資格証明ストア, パスワードベースのソフトウェア・キーストア, WALLET_ROOT4.1.4.2

外部ファイル暗号化された列が含まれる表へのデータのロード 7.7

外部キーストア 3.4.1

パスワード用の外部ストアCDBでのオープン操作とクローズ操作 5.8.4, 6.8.6

外部表, 列の暗号化ORACLE_DATPUMP 7.7

ORACLE_LOADER 7.7

GGROUP BY句, データ・リダクション・ポリシー 15.1

ガイドラインマテリアライズド・ビューとデータ・リダクション 16.5

591

Page 592: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ごみ箱とデータ・リダクション 16.7

SYS_CONTEXT値とデータ・リダクション 16.4

ガイドライン, 一般的な使用上のリダクションされた列およびDISTINCT句 15.1

リダクションされた列およびGROUP BY句 15.1

リダクションされた列およびORDER BY句 15.1

ガイドライン, セキュリティ非定型な問合せの攻撃とデータ・リダクション 16.1

データ・リダクション・ポリシーで扱われるアプリケーションのコンテキスト値 16.1

日常の操作とデータ・リダクション 16.1

DDL文とデータ・リダクション・ポリシー 16.1

総当たりSQL問合せおよび推論とデータ・リダクション 16.1

Hハードウェア・キーストア

概要 2.4.4.3

バックアップ 4.1.7

分離モードでのパスワードの変更 6.7.1.2

統一モードでのパスワードの変更 5.7.1.2

クローズ 4.1.14.1

分離モードでのクローズ 6.7.4.2

統一モードでのクローズ 5.7.3.2

オープン, 概要 3.4.4.1

分離モードでのオープン 6.6.3

統一モードでのオープン 5.6.3

PDBのプラグ 5.8.2.4

PDBのアンプラグ 5.8.2.3

外部キーストアの使用 4.1.4.1

外部キーストアの使用, sqlnet.ora 4.1.4.3

外部キーストアの使用, WALLET_ROOT 4.1.4.2

592

Page 593: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ハードウェア・セキュリティ・モジュールキーストアのバックアップ 4.1.7

PDBのプラグ 6.8.2.4

PDBのアンプラグ 6.8.2.3

Iインポート/エクスポート・ユーティリティ, オリジナル 3.5.3

索引暗号化列に作成 3.5.6

索引レンジ・スキャン 2.4.3

インライン・ビューデータ・リダクション・ポリシーのリダクションの順序 15.3

Data Redactionのリダクション 15.3

侵入者非定型な問合せの攻撃 16.1

分離モード 6.2, 6.3

概要 6.1

許可されるADMINISTER KEY MANAGEMENT操作 6.2

許可されないADMINISTER KEY MANAGEMENT操作 6.3

ソフトウェア・キーストアのバックアップ 6.7.2

CDBルートからのPDBキーストアの変更 6.4.2

構成 6.4.1

ハードウェア・キーストアの構成, 概要 6.6.1

HSMの構成 6.6.2

ソフトウェア・キーストアの構成, 概要 6.5.1

ソフトウェア・キーストアの作成 6.5.2

後で使用するためのTDEマスター暗号化キーの作成 6.7.6

データの暗号化 6.5.5, 6.6.5

暗号化キー, 設定 6.5.4

TDEマスター暗号化キーのエクスポート, インポート 6.8.7.1

593

Page 594: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

マスター暗号化キーのエクスポートまたはインポート 6.8.7.2

ハードウェア・キーストア, クローズ 6.7.4.2

ハードウェア・キーストア, 開く 6.6.3

消失した制御ファイル 6.4.3

マスター暗号化キーPDBからCDBルートへのキーの移動 6.7.15

マスター暗号化キー, 移行 6.6.4.2

HSMからパスワード・ソフトウェア・キーストアへの移行 6.7.13.2

パスワード・ソフトウェア・キーストアからHSMへの移行 6.7.13.1

新しいキーストアへの暗号化キーの移動 6.7.9

あるCDBから別のCDBへのPDBの移動 6.8.1

Oracle RAC 6.4.4

ハードウェア・キーストアのパスワード変更 6.7.1.2

ソフトウェア・キーストアのパスワード変更 6.7.1.1

暗号化されたデータのあるPDBのCDBへのプラグイン 6.8.2.2

ハードウェア・キーストアにマスター暗号化キーが格納されているPDBのプラグ6.8.2.4

ハードウェア・キーストアに格納されたシークレット 6.7.12.2

ソフトウェア・キーストアに格納されたシークレット 6.7.12.1

新しい暗号化キーの設定 6.6.4.1

ソフトウェア・キーストア, クローズ 6.7.4.1

ソフトウェア・キーストア, オープン 6.5.3

PDBキーストアの結合 6.7.15

PDBのアンプラグ 6.8.2.3

JJSON

Oracle Data Redaction 15.16

594

Page 595: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Kキーストアの場所

設定 3.3.2

分離モードの設定 6.4.1

統一モードの設定 5.4.1, 5.4.2

キーストア概要 2.4.4.1

アーキテクチャ 2.4.2

ASMベース 4.1.13.1

自動ログイン 4.2.6.4

自動ログイン, CDBでのオープン操作とクローズ操作 5.8.4, 6.8.6

分離モードでのパスワード保護されたソフトウェア・キーストアのバックアッププロシージャ 6.7.2

パスワード保護されたソフトウェア・キーストアのバックアップ概要 4.1.5.1

バックアップ識別子のルール 4.1.5.2

プロシージャ 4.1.5.3

統一モードでのパスワード保護されたソフトウェア・キーストアのバックアッププロシージャ 5.7.2

ハードウェア・キーストアのパスワードを変更 4.1.3

パスワード保護されたソフトウェア・キーストアのパスワードの変更 4.1.2.1

ハードウェア・キーストアを閉じる 4.1.14.1

CDBでのクローズ 5.8.4, 6.8.6

ソフトウェア・キーストアを閉じる 4.1.14.1

PDBがクローズ状態のときの作成 6.7.16.1

データベース・クローズ操作 7.8

削除 4.1.16

未使用の削除 5.7.11

未使用の削除, 概要 4.2.8.1

未使用の削除, 手順 4.2.8.2

595

Page 596: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

分離モードでの未使用の削除 6.7.9

外部 3.4.1

ハードウェア, 分離モードでのパスワードの変更 6.7.1.2

ハードウェア, 統一モードでのパスワードの変更 5.7.1.2

ハードウェア, 分離モードでのオープン 6.6.3

ハードウェア, 統一モードでのオープン 5.6.3

ハードウェア・キーストア構成プロセス 3.4

マージ概要 4.1.8.1

パスワード保護への自動ログイン 4.1.8.4

あるものを既存の別のキーストアへ 4.1.8.2

分離モードであるものを既存の別のキーストアへ 6.7.3.1

マージ操作を戻す 4.1.8.5

2つを3つ目の新しいキーストアへ 4.1.8.3

分離モードで2つを3つ目の新しいキーストアへ 6.7.3.2

移行

ハードウェア・キーストアベースの暗号化に関するマスター暗号化キーを作成4.1.11.1.3

ハードウェア・キーストアからソフトウェア・キーストア 4.1.11.2.1

移行後のキーストアの順序 4.1.11.3

ハードウェア・キーストアへのパスワード・キー 4.1.11.1.2

Oracle Key Vaultを使用した移行 4.1.12

ASMからの移動 4.1.10

新しい場所へソフトウェア・キーストアを移動 4.1.9

ASMの場所を指すマルチテナント・データベース 4.1.13.3

ASMの場所を指す非OMF準拠システム 4.1.13.4

ハードウェア・キーストアを開く 3.4.4

CDBでのオープン 5.8.4, 6.8.6

Oracle Databaseのシークレット

596

Page 597: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

概要 4.3.1

ハードウェア・キーストアに格納 4.3.6

ソフトウェア・キーストアに格納 4.3.2

パスワード・アクセス 4.1.1

PDB移動操作でのパスワードの保持 6.8.1

統一モードでのPDB移動操作でのパスワードの保持 5.8.1

キーストアの作成操作の取消し 6.7.16.2

検索順序 3.2

ソフトウェア, 分離モードでのパスワードの変更 6.7.1.1

ソフトウェア, 統一モードでのパスワードの変更 5.7.1.1

ソフトウェア, 統一モードでの作成 5.5.2

ソフトウェア, 分離モードでのオープン 6.5.3

ソフトウェア, 統一モードでのオープン 5.5.3

ASMの場所を指すスタンドアロン・データベース 4.1.13.2

インポートまたはエクスポートとは異なるTDEマスター暗号化キーのマージ 4.2.7.10

自動ログイン・ハードウェア・キーストアの使用 4.3.10.1

キーストア, ソフトウェア構成プロセス 3.3

キーストア・タイプ設定 3.3.2

分離モードの設定 6.4.1

統一モードの設定 5.4.2

パラメータを使用した統一モードの設定 5.4.1

LLENGTHファンクション, 文字列

式 13.5.2.3

M

597

Page 598: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

マスキング「Oracle Data Redaction」を参照

マテリアライズド・ビューデータ・リダクションのガイドライン 16.5

透過的データ暗号化表領域暗号化 8.2.1

移行HSMからパスワード・ソフトウェア・キーストアへの移行 6.7.13.2

パスワード・ソフトウェア・キーストアからHSMへの移行 6.7.13.1

新しいキーストアへの暗号化キーの移動概要 4.2.8.1

プロシージャ 4.2.8.2

マルチテナント・コンテナ・データベース「CDB」を参照

Nネームスペース・ファンクション

式 13.5.2.1

ネストした関数データ・リダクション・ポリシーのリダクションの順序 15.3

NVパブリック・ファンクション(APEX_UTIL.GET_NUMERIC_SESSION_STATEファンクション), データ・リダクション・ポリシー 13.5.6

OOLS_LABEL_DOMINATESパブリック・ファンクション

データ・リダクション・ポリシー 13.5.5

ONE_STEP_PLUGIN_FOR_PDB_WITH_TDE動的システム・パラメータ 5.8.1, 6.8.1

ハードウェア・キーストアを開く 3.4.4, 3.4.4.1

ソフトウェア・キーストアを開く 3.3.4.1

許可される操作 5.2, 6.2

許可されない操作 5.3, 6.3

598

Page 599: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

ORA-00979エラー「GROUP BYの式ではありません。」エラー 15.1

ORA-28081

「権限が不十分です - コマンドはリダクション済のオブジェクトを参照しています。」エラー 15.2

ORA-28365エラーウォレットがオープンしていません 3.6.2

ORA-46680エラー 5.8.2.1

ORA-65040エラー 6.7.16.1

Oracle Application Express

データ・リダクション・ポリシーのセッション状態によるフィルタ使用方法 13.5.6

Oracle Application Expression

式 13.5.2.4

Oracle Call Interface

透過的データ暗号化 8.5

Oracle Database Real Application Security

データ・リダクション 15.12

Oracle Database Vault

データ・リダクションでの使用 16.2

Oracle Data Guard

マスター暗号化キー, スタンバイ・データベースからの削除 6.7.14

TDEおよびOracle Key Vault 8.2.2

TDEマスター暗号化キー, スタンバイ・データベースからの削除 5.7.12

透過的データ暗号化 8.2.1

Oracle Data Pump

暗号化列 8.1.2

暗号化データ 8.1.1

暗号化されたデータとデータベース・リンク 8.1.4

ダンプ・セットで暗号化されたデータ 8.1.3

データ・リダクション・ポリシーからエクスポートされたデータ 15.14.3

599

Page 600: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Oracle Data Redactionオブジェクトのエクスポート 15.14.2.1

データ・リダクション・ポリシーからインポートされたデータ 15.14.4

Oracle Data Redactionセキュリティ・ポリシー 15.14.1

Oracle Data Redaction 12.4

概要 11.1

非定型ツール 11.4.2

集計関数 15.6

利点 11.3

CDB 15.10

XML生成データを含む列 15.8

カスタム形式の作成 14.4.2

データベース・アプリケーション 11.4.1

DBMS_REDACT.ADD_POLICYプロシージャ使用 13.3

DBMS_REDACT.ALTER_POLICYプロシージャ概要 13.14.1

例 13.14.4

様々な操作に必要なパラメータ 13.14.3

構文 13.14.2

DBMS_REDACT.DISABLE_POLICY

概要 13.16.1

例 13.16.1

構文 13.16.1

DBMS_REDACT.DROP_POLICY

概要 13.17

例 13.17

構文 13.17

DBMS_REDACT.ENABLE_POLICY

概要 13.16.2

例 13.16.2

600

Page 601: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

構文 13.16.2

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUESプロシージャ概要 13.7.2.1

構文 13.7.2.2

使用 13.7.2.3

ポリシーの削除 14.5.6

カスタム形式の編集 14.4.3

エディション 15.9

Enterprise Manager Cloud Control 14.4.1, 14.4.2, 14.4.3, 14.5.1

Enterprise Manager Cloud Control, 概要 14.1

Enterprise Manager Cloud Controlのワークフロー 14.2

データ・ポンプ・エクスポートを使用してデータをエクスポート 15.14.3

データ・ポンプを使用してオブジェクトをエクスポート 15.14.2.1

完全データ・リダクション概要 12.1

ポリシーの作成 13.7.1.1

例 13.7.1.3

デフォルト値の変更 13.7.2.1

構文 13.7.1.2

式で使用されるファンクション 13.5.2

Oracle Database Real Application Securityマスキングとの相違点 15.12

Oracle Virtual Private Databaseマスキングとの相違点 15.11

データ・ポンプ・エクスポートを使用してデータをインポート 15.14.4

インライン・ビューのリダクションの順序 15.3

JSON 15.16

ポリシーの管理 14.5.1

名前付きポリシー式概要 12.8

ネストした関数のリダクションの順序 15.3

データ・リダクションなし

601

Page 602: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

概要 12.7, 13.12.1

ポリシーの作成 13.12.1

例 13.12.2

構文 13.12.1

Oracle Data Pumpセキュリティ・ポリシー 15.14.1

Oracle Enterprise Manager Data Masking and Subsetting Pack 15.15

部分データ・リダクション概要 12.2

キャラクタ・タイプ, ポリシー 13.9.4.1

日時データ型 13.9.6.1

文字データ型の使用例 13.9.4.2

日時データ型の使用例 13.9.6.2

固定文字形式を使用する例 13.9.3.2

数値データ型の使用例 13.9.5.2

形式, 固定文字 13.9.3.1

数値データ型 13.9.5.1

構文 13.9.2

ポリシー式概要 13.6.1

作成 13.6.2

削除 13.6.4

チュートリアル 13.6.5

更新 13.6.3

ポリシー作成の権限 13.2

データ・リダクション・ポリシーによって保護される列に対する問合せ 15.4

ランダム・データ・リダクション概要 13.11.1

ポリシーの作成 13.11.1

例 13.11.2

ランダム化されたデータ・リダクション

602

Page 603: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

概要 12.5

正規表現によるデータ・リダクションポリシーの作成 13.10.1

カスタム, ポリシーの作成 13.10.4

例 13.10.3.2

カスタムの例 13.10.4.2

書式 13.10.3.1

形式, ポリシーの作成 13.10.3

設定 13.10.4.1

構文 13.10.2

正規表現によるリダクション概要 12.3

NULL値を返す概要 13.8.1

例 13.8.3

構文 13.8.2

SYSスキーマ・オブジェクト 16.3

SYSTEMスキーマ・オブジェクト 16.3

ユースケース 11.4

使用する状況 11.2

WHERE句のリダクション 15.3

Oracle Data Redaction, データベース・リンク 15.5

Oracle Data Redaction, Enterprise Manager Cloud Control

カスタム形式の削除 14.4.5

Oracle Data Redaction形式Cloud Controlでの作成 14.4.2

Cloud Controlでの削除 14.4.5

Cloud Controlでの編集 14.4.3

Enterprise Management Cloud Control, 管理 14.4.1

Enterprise Manager Cloud Control, 機密列タイプ 14.3

603

Page 604: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

Enterprise Manager Cloud Control, 表示 14.4.4

Oracle Data Redactionの部分リダクションポリシーの作成 13.9, 13.9.1

Oracle Data Redactionポリシー 13.5.3

概要 13.1

変更 13.14.1

レポートの作成 13.18

作成例 13.7.1.4

一般的な構文 13.4

プロシージャ 13.3

Cloud Controlでの作成 14.5.2

Cloud Controlでの削除 14.5.6

無効化 13.16.1

Cloud Controlでの無効化 14.5.5

削除 13.17

Cloud Controlでの編集 14.5.3

有効化 13.16.2

Enterprise Manager Cloud Control, 表示 14.5.4

ユーザーの除外 13.13

式Application Expressセッション状態 13.5.6

データベース・ロール 13.5.4

OLSラベル優位による 13.5.5

ユーザー環境 13.5.3

ユーザーのフィルタリング概要 13.5.1

フィルタリングなし 13.5.7

情報の検索 13.19

Oracle Enterprise Manager Cloud Control。 14.5.6

604

Page 605: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

1つのポリシーにおける複数列のリダクション 13.15

Oracle Data Redactionポリシー式Cloud Control, 概要 14.6.1

Cloud Controlでの作成 14.6.2

Cloud Controlでの削除 14.6.5

Cloud Controlでの編集 14.6.3

Cloud Controlでの表示 14.6.4

Oracle Enterprise Manager Cloud Control。 14.5.3

カスタム形式の作成 14.4.2

ポリシー式の作成 14.6.2

ポリシー式の削除 14.6.5

ポリシーの無効化 14.5.5

ポリシー式の編集 14.6.3

Oracle Data Redaction 14.4.2, 14.4.3, 14.5.5, 14.6.1, 14.6.2, 14.6.3, 14.6.4, 14.6.5

Oracle Data Redaction, ポリシーの作成 14.5.2

Oracle Data Redaction, ポリシーの詳細の表示 14.5.4

Oracle Data Redaction形式, 表示 14.4.4

ポリシー式, 概要 14.6.1

ポリシー式の表示 14.6.4

Oracle Enterprise Manager Data Masking and Subsetting Pack

Oracle Data Redactionの影響 15.15

Oracle GoldenGate

Oracleキーストアへのシークレットの格納 4.4.1

Oracle Key Vault

キーストアの移行 4.1.12

Oracle Label Security

データ・リダクション式を使用したファンクション 13.5.2.5

Oracle管理の表領域 3.6.1

Real Application Clusters

マルチテナント構成のOracle Key VaultおよびTDE 8.3.2

605

Page 606: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

透過的データ暗号化 8.3.1

Oracle Recovery Manager

透過的データ暗号化 4.1.15

Oracle Securefiles

透過的データ暗号化 8.4, 8.4.1

Oracle Virtual Private Database(VPD)

データ・リダクション 15.11

orapkiユーティリティADMINISTER KEY MANAGEMENT文との比較 7.5

ORDER BY句, データ・リダクション・ポリシー 15.1

オリジナルのインポート/エクスポート・ユーティリティ 3.5.3

Pパスワード

ADMINISTER KEY MANAGEMENT操作のためのアクセス 4.1.1

PDB移動操作での保持 6.8.1

統一モードでのPDB移動操作での保持 5.8.1

PDB

データ・リダクション・ポリシー 15.10

すべてのPDBに関するTDEキーストア・ステータスの検索 5.8.5

マスター暗号化キーエクスポート 6.8.7.1

インポート 6.8.7.1

暗号化されたデータとのアンプラグ 5.8.2.1

パフォーマンス透過的データ暗号化7.3.1

PKI暗号化バックアップおよびリカバリ操作 7.6.3

ハードウェア・キーストア 7.6.2

マスター暗号化キー 7.6.1

606

Page 607: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表領域の暗号化 7.6.2

プラガブル・データベース「PDB」を参照

ポリシー式, Oracle Data Redaction 13.6.1

Rごみ箱

データ・リダクション・ポリシー 16.7

REDACTION_COLUMNSデータ・ディクショナリ・ビュー無効なビュー 16.6

キー更新マスター暗号化キー 4.2.6.4

分離モードでのTDEマスター暗号化キー 6.7.8

統一モードでのTDEマスター暗号化キー 5.7.8

レポート基礎となるデータ・リダクション・ポリシー 13.18

NULL値を返す概要 12.4

Ssalt

削除 3.5.8

salt (TDE)

追加 3.5.7

シークレット

キーストアへのOracle Databaseのシークレットの格納概要 4.3.1

ハードウェア・キーストアに格納 4.3.6

ソフトウェア・キーストアに格納 4.3.2

607

Page 608: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

SecureFiles

透過的データ暗号化 8.4, 8.4.1

機密資格証明データ 3.6.6

ソフトウェア・キーストア概要 2.4.4.3

分離モードでのパスワードの変更 6.7.1.1

統一モードでのパスワードの変更 5.7.1.1

分離モードでのクローズ 6.7.4.1

統一モードでのクローズ 5.7.3.1

統一モードでの作成 5.5.2

オープン, 概要 3.3.4.1

分離モードでのオープン 6.5.3

統一モードでのオープン 5.5.3

外部キーストアを使用したパスワードベース 4.1.4.1

外部キーストアを使用したパスワードベース, sqlnet.ora 4.1.4.3

外部キーストアを使用したパスワードベース, WALLET_ROOT 4.1.4.2

SUBSTR関数式 13.5.2.2

同期チェンジ・データ・キャプチャ 3.5.3

SYS_CONTEXT関数データ・リダクション・ポリシー 16.4

データ・リダクションで使用されているSYS_SESSION_ROLESネームスペース 13.5.4

SYS_SESSION_ROLES SYS_CONTEXTネームスペースデータ・リダクション 13.5.4

SYSTEMユーザーデータ・リダクション・ポリシー 16.3

SYSユーザーデータ・リダクション・ポリシー 16.3

T

608

Page 609: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

表領域の暗号化概要 2.4.3

アーキテクチャ 2.4.3

暗号化された表領域の作成 3.6.4.3.2

例 3.6.4.3.3

非互換性 10.1

キーストアを開く 3.6.4.1.2

パフォーマンス, 最適化 10.2

パフォーマンスのオーバーヘッド 7.3.1

プロシージャ 3.6.4.1.1

制限 3.6.3

平文のフラグメントに関するセキュリティ上の考慮事項 7.2.3

表領域のキーの設定 3.6.4.2

記憶域のオーバーヘッド 7.3.2

表領域マスター暗号化キー設定 3.6.4.2

表領域暗号化について 3.6.1

オフライン変換とオンライン変換の比較 3.6.1

Oracle管理、暗号化に影響する閉じられたTDEキーストア 3.6.2

暗号化アルゴリズムのキー更新 4.2.6.5

表領域暗号化 4.2.6.5

表領域, オフライン復号化プロシージャ 3.6.7.3

表領域, オフライン暗号化概要 3.6.7.1

プロシージャ 3.6.7.2

表領域, オンライン暗号化概要 3.6.8.1

609

Page 610: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

復号化 3.6.8.4

中断されたジョブの終了 3.6.8.5

プロシージャ 3.6.8.2

キー更新 3.6.8.3

TDE

「透過的データ暗号化(TDE)」を参照TDE列暗号化

制限 3.5.3

TDEマスター暗号化キー 3.3.1

分離モードでの後で使用するための作成 6.7.6

統一モードでの後で使用するための作成 5.7.6

TDEマスター暗号化キー

アクティブ化概要 4.2.3.1

例 4.2.3.3

プロシージャ 4.2.3.2

分離モードでのアクティブ化 6.7.7

統一モードでのアクティブ化 5.7.7

アーキテクチャ 2.4.2

属性 4.2.4.1

今後の使用のために作成概要 4.2.2.1

例 4.2.2.3

プロシージャ 4.2.2.2

カスタム属性タグ概要 4.2.5.1

作成 4.2.5.2

分離モードでの作成 6.7.10

統一モードでの作成 5.7.10

無効化の禁止 4.2.6.1

610

Page 611: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

エクスポート 4.2.7.2

PDBでのエクスポート 6.8.7.1

統一モードで現在使用されている暗号化キーを検索 5.7.9

現在使用されているTDEマスター暗号化キーを検索 4.2.4.2

インポート 4.2.7.7

PDBでのインポート 6.8.7.1

インポートまたはエクスポートとは異なるキーストアのマージ 4.2.7.10

データベースの外部概要 4.2.1.1

データベースの外部作成 4.2.1.2

分離モードでの作成 6.7.5

統一モードでの作成 5.7.4

キー更新 4.2.6.4, 5.7.8, 6.7.8

スタンバイ・データベースからの自動的な削除 5.7.12, 6.7.14

キーストアにおけるリセット 4.2.6.3

キーストアにおける設定 4.2.6.1

透過的データ暗号化(TDE)

概要 2.1

構成の概要 3.1

利点 2.2

列の暗号化概要 2.4.2, 3.5.1

既存の表への暗号化列の追加 3.5.5.2

アルゴリズムの変更 3.5.9

暗号化キーの変更 3.5.9

外部表への暗号化列の作成 3.5.4.7

索引または暗号化列の作成 3.5.6

デフォルトの暗号化アルゴリズムで表を作成 3.5.4.2

非デフォルト暗号化アルゴリズムで表を作成 3.5.4.3

611

Page 612: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

サポートされているデータ型 3.5.2

既存の列における暗号化の無効化 3.5.5.4

既存の表にある列の暗号化 3.5.5.1

既存の列の暗号化 3.5.5.3

暗号化および整合性アルゴリズム 2.4.5

制限 3.5.3

暗号化された列のsalt 3.5.7

ID列を含む列 3.5.3

アプリケーション・ソフトウェアとの互換性 10.1

Oracle Databaseツールとの互換性 10.1

暗号化データの圧縮 7.1

ハードウェア・キーストアの構成概要 3.4.1

構成ステップ 3.4.3

開く 3.4.4

PKCS#11ライブラリ 3.4.3

ソフトウェア・キーストアの再構成 3.4.5.3

マスター暗号化キーの設定 3.4.5.1

sqlnet.ora構成 3.4.2

分離モードでのハードウェア・キーストアの構成ソフトウェア・キーストアの再構成 6.6.4.2

ソフトウェア・キーストアの構成概要 3.3.1

自動ログイン・キーストアの作成 3.3.3.3

パスワード保護されたキーストアの作成 3.3.3.2

ソフトウェアTDEマスター暗号化キーの設定 3.3.5

暗号化データのデータ重複除外 7.1

エディション 8.6

暗号化および整合性アルゴリズム 2.4.5

情報の検索 3.7

612

Page 613: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

よくある質問 10

非互換性 10.1

キーストア管理ASMベースのキーストア 4.1.13.1

パスワード保護されたソフトウェア・キーストアのバックアップ 4.1.5.1

ハードウェア・キーストアのパスワードを変更 4.1.3

パスワード保護されたソフトウェア・キーストアのパスワードの変更 4.1.2.1

ハードウェア・キーストアを閉じる 4.1.14.1

ソフトウェア・キーストアを閉じる 4.1.14.1

キーストアのマージ, 概要 4.1.8.1

キーストアのマージ, パスワード保護への自動ログイン 4.1.8.4

キーストアのマージ, 既存のキーストアへ 4.1.8.2

キーストアのマージ, 分離モードで既存のキーストアへ 6.7.3.1

キーストアのマージ, マージ操作を戻す 4.1.8.5

キーストアのマージ, 2つを3つ目の新しいキーストアへ 4.1.8.3

キーストアのマージ, 分離モードで2つを3つ目の新しいキーストアへ 6.7.3.2

パスワード・キーおよびハードウェア・キーストアの移行 4.1.11.1.2

パスワード・キーおよびハードウェア・キーストアの移行, マスター暗号化キーの作成 4.1.11.1.3

パスワード・キーおよびハードウェア・キーストアの移行, 移行を戻す 4.1.11.2.1

TDEマスター暗号化キーの属性 4.2.4.1

キーストア概要 2.4.4.1

利点 2.4.4.2

タイプ 2.4.4.3

キーストアの検索順序 3.2

マスター暗号化キーキー更新 4.2.6.4

統一モードでのキー更新 5.7.8

マスター暗号化キーの属性

613

Page 614: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

カスタム・タグの作成

マスター暗号化キーキーストアにおける設定, 概要 4.2.6.1

キーストアにおける設定, 手順 4.2.6.1

組み合せて使用するためのアプリケーションの変更 7.4

マルチデータベース環境 8.7

ASMの場所を指すマルチテナント・データベース 4.1.13.3

マルチテナント環境 2.5

ASMの場所を指す非OMF準拠システム 4.1.13.4

Oracle Call Interface 8.5

Oracle Data Guard 8.2.1, 8.2.2

Oracle Data Pump

ダンプ・セットに関するエクスポートおよびインポート操作 8.1.3

暗号化された列に関するエクスポートおよびインポート操作 8.1.2

データベース・リンクでのエクスポート操作 8.1.4

Oracle Data Pumpのエクスポートおよびインポート操作概要 8.1.1

Real Application Clusters

概要, 8.3.1

マルチテナント構成のOracle Key Vault 8.3.2

Oracle Recovery Manager 4.1.15

キーストア 4.1.15

PDB

すべてのPDBに関するキーストア・ステータスの検索 5.8.5

パフォーマンスデータベース・ワークロード 10.2

データ・セット全体の復号化 10.2

最適 10.2

最悪なケースのシナリオ 10.2

パフォーマンスのオーバーヘッド

4.2.5.2

614

Page 615: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

概要 7.3.1

標準 10.2

PKI暗号化 7.6

必要な権限 2.3

SecureFiles 8.4, 8.4.1

セキュリティに関する考慮事項列の暗号化 7.2.2

一般的なアドバイス 7.2.1

平文のフラグメント 7.2.3

ASMの場所を指すスタンドアロン・データベース 4.1.13.2

記憶域のオーバーヘッド 7.3.2

Oracle GoldenGateのシークレットの格納 4.4.1

表領域の暗号化概要 2.4.3, 3.6

作成 3.6.4.3.1

暗号化および整合性アルゴリズム 2.4.5

例 3.6.4.3.3

キーストアを開く 3.6.4.1.2

制限 3.6.3

マスター暗号化キーの設定 3.6.4.2

表領域の暗号化, COMPATIBLEパラメータでの設定 3.6.4.1.1

TDEマスター暗号化キー分離モードでのキー更新 6.7.8

TDEマスター暗号化キーの属性概要 4.2.5.1

分離モードでのカスタム・タグの作成 6.7.10

統一モードでのカスタム・タグの作成 5.7.10

TDEマスター暗号化キーエクスポートとインポート 4.2.7.1

TDEマスター暗号化キー

615

Page 616: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

キーストアにおけるリセット 4.2.6.3

ビュー 3.7

透過的データ暗号化(TDE)整合性

列の暗号化整合性チェックなしで表を作成(NOMAC) 3.5.4.4

パフォーマンスの向上 3.5.4.4

NOMACパラメータ(TDE) 3.5.4.4

透過的データ暗号化(TDE)キーストア削除 4.1.16

削除した場合に影響を受ける機能 4.1.17

新しい場所へソフトウェア・キーストアを移動 4.1.9

トランスポータブル表領域 3.5.3

チュートリアル名前付きデータ・リダクション・ポリシー式 13.6.5

U統一モード 5.2, 5.3

概要 5.1

暗号化データを含むクローニングされたPDBの管理について 5.8.3.1

許可されるADMINISTER KEY MANAGEMENT操作 5.2

許可されないADMINISTER KEY MANAGEMENT操作 5.3

ソフトウェア・キーストアのバックアップ 5.7.2

暗号化されたデータを含むPDBのクローニング 5.8.3.2

構成, 手順 5.4.2

構成, パラメータを使用する手順 5.4.1

ハードウェア・キーストアの構成, 概要 5.6.1

HSMの構成 5.6.2

ソフトウェア・キーストアの構成, 概要 5.5.1

ソフトウェア・キーストアの作成 6.5.2

後で使用するためのTDEマスター暗号化キーの作成 5.7.6

616

Page 617: Release 19 Advanced Securityガイド - Oracle · Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを 使用する機能 1 Oracle

データの暗号化 5.5.5, 5.6.5

暗号化キー, 設定 5.5.4

すべてのPDBに関するキーストア・ステータスの検索 5.8.5

ハードウェア・キーストア, クローズ 5.7.3.2

ハードウェア・キーストア, 開く 5.6.3

PDBキーストアの分離 5.7.13

キーストアの開閉操作 5.8.4

マスター暗号化キーCDBルートからPDBへのキーの移動 5.7.13

新しいキーストアへのTDEマスター暗号化キーの移動 5.7.11

ハードウェア・キーストアのパスワード変更 5.7.1.2

ソフトウェア・キーストアのパスワード変更 5.7.1.1

暗号化されたデータを含む複数のPDBのリモートからのクローニング 5.8.3.4, 6.8.5

暗号化されたデータを含むPDBのリモートからのクローニング 5.8.3.3, 6.8.4

ハードウェア・キーストア暗号化キーの設定 5.6.4

ソフトウェア・キーストア, クローズ 5.7.3.1

ソフトウェア・キーストア, 作成 5.5.2

ソフトウェア・キーストア, オープン 5.5.3

ユーティリティ, インポート/エクスポート 3.5.3

VV$ENCRYPTION_WALLETビュー

移行後のキーストアの順序 4.1.11.3

ビューデータ・リダクション 13.19

Vパブリック・ファンクション(APEX_UTIL.GET_SESSION_STATEファンクション), データ・リダクション・ポリシー 13.5.6

X

617