4.4 Exadata Storage Serverのデータ・セキュリティの構成
Oracle Exadata Storage Serverのデータ・セキュリティは、ストレージ・セル上の特定のグリッド・ディスクにアクセスできるOracle Automatic Storage Management (Oracle ASM)クラスタおよびOracle Databaseクライアントを制御することにより実装されます。
デフォルトでは、Oracle DatabaseとOracle ASMのすべてのインスタンスが、ストレージ・サーバーのすべてのグリッド・ディスクにアクセスできます。各データベースの記憶域は、Oracle ASMによって提供されます。Oracle Exadata Database Machineでは、クラスタ化された、またはクラスタ化されていない複数のデータベースを実行できます。複数のOracle ASMクラスタを含めることもできます。Oracle ASMクラスタとは、インターコネクトされたノードの集合で、各ノードにはOracle ASMインスタンスが存在し、統合クラスタとして機能します。Oracle ASMクラスタは、ノード上でも機能する1つ以上のOracle Databaseインスタンスに共有ストレージ・プールを提供します。
- Exadata Storage Serverのセキュリティ・モードについて
Oracle Exadata System Softwareのセキュリティは、オープン・セキュリティ、ASMを有効範囲にしたセキュリティ、またはDBを有効範囲にしたセキュリティに対応しています。 - ASMを有効範囲にしたセキュリティとDBを有効範囲にしたセキュリティのベスト・プラクティス
セキュリティを設定する際には、すべてのストレージ・サーバーで構成が同じであることが重要です。 - セキュリティ・キーについて
Oracle Exadata System Softwareでは、キーを使用してクライアントを識別し、グリッド・ディスクへのアクセス権を決定します。 - Oracle Exadata Storage ServerのASMを有効範囲にしたセキュリティの設定
ASMを有効範囲にしたセキュリティを構成するには、データベース・サーバーとストレージ・サーバーの両方でアクションを実行する必要があります。 - Oracle Exadata Database MachineでのDBを有効範囲にしたセキュリティの設定
DBを有効範囲にしたセキュリティを構成する際には、データベースおよびストレージ・サーバーの両方でアクションを実行します。 - ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティのセキュリティ・キーの変更
ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティで使用されるキーを変更できます。 - Cell-to-Cell操作の有効化
Oracle Exadata Database Machineに対して、ASMを有効範囲にしたセキュリテまたはDBを有効範囲にしたセキュリティを構成した場合は、Cell-to-Cell操作が制限されないようにアクセス制御を構成する必要があります。 - ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティの削除
オープン・セキュリティ・モデルに戻す場合は、ASMを有効範囲にしたセキュリティを削除する前に、グリッド・ディスクのDBを有効範囲にしたセキュリティを削除する必要があります。
親トピック: Oracle Exadataの保護
4.4.1 Exadata Storage Serverのセキュリティ・モードについて
Oracle Exadata System Softwareのセキュリティは、オープン・セキュリティ、ASMを有効範囲にしたセキュリティ、またはDBを有効範囲にしたセキュリティに対応しています。
オープン・セキュリティ
デフォルトのセキュリティ・モードはオープン・セキュリティで、すべてのデータベース・クライアントがすべてのグリッド・ディスクにアクセスできます。オープン・セキュリティ・モードは、セキュリティ要件がないテスト用または開発用のデータベースで便利です。このモードは、新規のストレージ・セルを作成した後のデフォルトのセキュリティ・モードです。
ASMを有効範囲にしたセキュリティ
ASMを有効範囲にしたセキュリティを使用すると、Oracle ASMクラスタに関連付けられたOracle ASMディスク・グループによって使用されるグリッド・ディスクにのみアクセスを制限できます。Oracle ASMクラスタに関連付けられているすべてのOracle Databaseインスタンスが、ディスク・グループおよび基礎となるグリッド・ディスクにアクセスできます。異なるOracle ASMクラスタに属するディスク・グループで使用されるグリッド・ディスクには、これらのインスタンスからアクセスできません。
クラスタ内のすべてのデータベースおよびOracle ASMインスタンスが、そのクラスタによって使用されるOracle ASMディスク・グループを構成するグリッド・ディスクにアクセスできるようにする場合は、ASMを有効範囲にしたセキュリティを使用します。これは、Oracle ASMクラスタにデータベースが1つしかない場合にも適用されます。
DBを有効範囲にしたセキュリティ
DBを有効範囲にしたセキュリティを使用すると、Oracle Databaseインスタンスのアクセスを特定のグリッド・ディスクのセットのみに制限できます。データベース・インスタンスは、データベースのOracle ASMディスク・グループによって使用されるすべてのグリッド・ディスクにアクセスできる必要があります。これらのOracle ASMディスク・グループによって使用されるグリッド・ディスクは、他のOracle ASMディスク・グループでは使用できません。
DBを有効範囲にしたセキュリティ・モードは、複数のデータベースがグリッド・ディスクにアクセスする場合に適しています。DBを有効範囲にしたセキュリティを使用すると、データベースに関連付けられたOracle ASMディスク・グループによって使用されるグリッド・ディスクのみにデータベース・アクセスを制限できます。

図sagug_031-db-scoped-security.epsの説明
4.4.2 ASMを有効範囲にしたセキュリティとDBを有効範囲にしたセキュリティのベスト・プラクティス
セキュリティを設定する際には、すべてのストレージ・サーバーで構成が同じであることが重要です。
Oracle Exadata System Softwareで一貫性のあるセキュリティを設定するには、次の点を確認します。
- 混乱やエラーを避けるために、同じOracle ASMディスク・グループに属するすべてのグリッド・ディスクに対して、セル側に同じグリッド・ディスク・セキュリティを構成します。
- Oracle ASMクラスタ内のOracle Real Application Clusters (Oracle RAC)のすべてのサーバーに、Oracle ASMの
cellkey.ora
ファイルの同じ内容、所有権およびセキュリティがあることを確認します。 - データベース・クラスタのすべてのOracle RACサーバーに、データベースの
cellkey.ora
ファイルの同じ内容、所有権およびセキュリティがあることを確認します。 - DBを有効範囲にしたセキュリティを実装する場合は、グリッド・ディスクにアクセスするすべてのデータベースに実装されていることを確認します。グリッド・ディスクに、ASMを有効範囲にしたセキュリティとDBを有効範囲にしたセキュリティを混在させないでください。
dcli
ユーティリティを使用して構成を変更し、一貫性を確保してユーザー・エラーの可能性を排除します。
関連トピック
4.4.3 セキュリティ・キーについて
Oracle Exadata System Softwareでは、キーを使用してクライアントを識別し、グリッド・ディスクへのアクセス権を決定します。
グリッド・ディスクにアクセスできるクライアントを決定するには、CellCLIを使用してキーを生成し、クライアントによってのみアクセス可能な読取り専用ファイルに格納します。CellCLIのCREATE KEY
コマンドでは、セキュリティ・キーとして使用するランダムの16進文字列が生成されます。このキーは、クライアント側のcellkey.ora
ファイルに格納され、ASSIGN KEY
コマンドを使用してストレージ・サーバー上のターゲットに割り当てられます。
ノート:
クライアント名またはOracle ASMクラスタ名では、大/小文字が区別されません。たとえば、ASM1
とasm1
は同じ値として扱われます。
CREATE KEY
コマンドは任意のセルで実行できます。このコマンドは、新しい一意キーを作成する必要がある場合にのみ実行する必要があります。ASMを有効範囲にしたセキュリティを構成する場合は、Oracle ASMクラスタごとに1つのセキュリティ・キーしか必要ありません。DBを有効範囲にしたセキュリティを構成する場合は、Oracle ASMクラスタごとに1つのキーが必要であり、データベース・クライアントごとに追加のセキュリティ・キーが必要です。
ASMスコープのセキュリティの場合、cellkey.ora
ファイルには、Oracle ASMクラスタおよびそのデータベース・クライアントのみがアクセスできます。DBを有効範囲にしたセキュリティの場合、複数のセキュリティ・キーが使用されます。Oracle ASMクラスタに1つのキーが割り当てられ、データベース・クライアントごとに1つのキーが割り当てられます。これらのセキュリティ・キーは別々のcellkey.ora
ファイルに格納され、各ファイルにはクライアントからのみアクセスできます。
cellkey.ora
ファイルには、Oracle ASM、データベース・クライアントおよびセル間のセキュリティを構成するエントリが含まれます。Oracle ASMおよびデータベースのホスト・コンピュータ上のcellkey.ora
ファイルのkey
およびasm
の値は、セル上のクライアントに割り当てられた値に一致する必要があります。
cellkey.ora
ファイルには次のフィールドがあります。
-
key
— このフィールドは必須です。-
ASMを有効範囲にしたセキュリティの場合は、CellCLIの
ASSIGN KEY
コマンドでOracle ASMクラスタに割り当てられたキーの値に、このキーを一致させる必要があります。 -
DBを有効範囲にしたセキュリティの場合は、CellCLIの
ASSIGN KEY
コマンドでデータベース・クライアントに割り当てられたキーの値に、このキーを一致させる必要があります。
-
-
asm
— このフィールドは必須です。このフィールドには、各Oracle ASMクラスタの一意の識別子が含まれます。この値は、ストレージ・グリッドのストレージ・サーバーにアクセスするすべてのクラスタで一意である必要があります。この値は、各セルで実行される
ASSIGN KEY
コマンドで使用されます。また、特定のOracle ASMクラスタのみからアクセスを許可するようにグリッド・ディスクを構成するために、ALTER GRIDDISK
およびCREATE GRIDDISK
コマンドで使用されます。ノート:
asm
フィールドは、ASMを有効範囲にしたセキュリティとDBを有効範囲にしたセキュリティの両方を構成する場合に使用されます。
cellkey.ora
ファイルへのアクセスは、オペレーティング・システム権限によって制御されます。
-
Oracle ASMクライアントの場合、ファイルは
/etc/oracle/cell/network-config
ディレクトリに格納され、Oracle Grid Infrastructureソフトウェア所有者とユーザーが属するグループによって読み取ることができます。 -
DBを有効範囲にしたセキュリティの場合、Oracle ASMにはOracle Grid Infrastructureソフトウェア所有者のみが読み取れる1つの
cellkey.ora
と、データベース・クライアントごとに追加のcellkey.ora
ファイルがあります。データベース・クライアントの場合、ファイルは各データベースのOracleホーム・ディレクトリのpfile
ディレクトリに格納されます。データベースのcellkey.ora
ファイルは、Oracle Databaseソフトウェアのインストールを所有するオペレーティング・システム・ユーザーのみが読み取ることができます。ノート:
DBを有効範囲にしたセキュリティを実装するには、Oracle Grid InfrastructureおよびOracle Databaseソフトウェアを、異なるオペレーティング・システム・ユーザーが所有する必要があります。
ストレージ・サーバーで、セルのアクセス制御リスト(ACL)にセキュリティ・キーを格納するには、ASSIGN KEY
コマンドを使用します。ALTER GRIDDISK
コマンドは、AvailableTo
属性で個々のグリッド・ディスクのアクセス権を設定する際に使用します。グリッド・ディスクにアクセスするには、セルACLのセキュリティ・キーがクライアントのセキュリティ・キーと一致しており、クライアントの一意の名前がグリッド・ディスクのAvailableTo
属性に含まれている必要があります。
Oracle ASMおよびデータベースに使用される識別名は一意にする必要があります。ただし、一部の環境では、DB_UNIQUE_ID
に同じ値を持つデータベースが複数存在します。各データベースは、記憶域に異なるOracle ASMクラスタを使用します。Oracle Exadata System Softwareリリース12.2.1.1.0以降では、Oracle ASMクラスタに基づいて、ASMを有効範囲にしたセキュリティを定義できます。ASSIGN KEY
コマンドでは、ASMCLUSTER
キーワードを使用します。ASMCLUSTER
キーワードを使用すると、データベース名はOracle ASMの一意識別子で修飾され、同じDB_UNIQUE_ID
を持つ場合でも、データベースごとに一意のIDが作成されます。各Oracle ASMクラスタ内では、データベース名は一意である必要があります。
ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティを構成する場合は、Cell-to-Cell操作を有効にするためにセキュリティ・キーを構成する必要があります。ストレージ・サーバーまたはセルごとにキーを作成し、ASSIGN KEY FOR LOCAL CELL
コマンドを使用してセルのローカル・キーとしてそのキーを割り当てます。次に、ASSIGN KEY FOR REMOTE CELL
コマンドを使用して現在のセルでCell-to-Cell操作を実行する他のセルのキーを割り当てます。
例4-5 Exadata Storage Securityのセキュリティ・キーの作成
任意のストレージ・サーバーで次のコマンドを使用して、一意のセキュリティ・キーを生成します。このキーは、ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティの構成に使用されます。
CellCLI> CREATE KEY
66e12adb996805358bf82258587f5050
例4-6 cellkey.oraファイルのエントリ
この例では、cellkey.ora
ファイルのエントリを示しています。
key=66e12adb996805358bf82258587f5050
asm=cluster1
関連トピック
4.4.4 Oracle Exadata Storage ServerのASMを有効範囲にしたセキュリティの設定
ASMを有効範囲にしたセキュリティを構成するには、データベース・サーバーとストレージ・サーバーの両方でアクションを実行する必要があります。
grid
であることを前提としています。
4.4.5Oracle Exadata Database MachineのDBを有効範囲にしたセキュリティの設定
DBを有効範囲にしたセキュリティを構成する際には、データベースおよびストレージ・サーバーの両方でアクションを実行します。
これらのステップでは、単一のOracle ASMクラスタと、そのOracle ASMクラスタのクライアントであるデータベースに対して、DBを有効範囲にしたセキュリティを構成します。これらのステップの例では、Oracle ASMソフトウェア所有者がユーザーgrid
で、各Oracle Databaseホームが別々のオペレーティング・システム・ユーザーによって所有されていることを前提としています。
- データベース・クライアントで使用されるOracle Databaseクライアントの一意の名前とOracle ASMクラスタとの組合せは、環境内で一意である必要があります。
- Oracle Grid Infrastructureソフトウェアのインストールおよび各Oracle Databaseソフトウェアのインストールは、異なるオペレーティング・システム・ユーザーが所有する必要があります。
- 各データベース・クライアントには、個別のOracle ASMディスク・グループが必要です。Oracle ASMディスク・グループによって使用されるグリッド・ディスクは、1つのOracle ASMディスク・グループにのみ割り当てることができます。
4.4.6 ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティのセキュリティ・キーの変更
ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティで使用されるキーを変更できます。
- ASMCLUSTERのASMを有効範囲にしたセキュリティ・キーのアップグレード
Oracle Exadata System Softwareリリース12.2.1.1.0以降では、Oracle ASMクラスタに基づいて、ASMを有効範囲にしたセキュリティを定義できます。 - ASMを有効範囲にしたセキュリティに割り当てられたキー値の変更
ASMを有効範囲にしたセキュリティを使用するように構成されたOracle ASMクライアントに使用するキー値を変更できます。 - DBを有効範囲にしたセキュリティに割り当てられたキー値の変更
DBを有効範囲にしたセキュリティを使用するように構成されたOracle ASMクライアントによって使用されるキー値を変更できます。
4.4.6.1 ASMCLUSTERのASMを有効範囲にしたセキュリティ・キーのアップグレード
Oracle Exadata System Softwareリリース12.2.1.1.0以降では、Oracle ASMクラスタに基づいて、ASMを有効範囲にしたセキュリティを定義できます。
Oracle ASMおよびデータベース・インスタンスに使用される識別名は一意にする必要があります。ただし、一部の環境では、DB_UNIQUE_ID
に同じ値を持つデータベースが複数存在します。各データベースが異なるOracle ASMクラスタを記憶域に使用する場合、セキュリティ・キーを割り当てる際にASMCLUSTER
キーワードを使用して、指定したOracle ASMクラスタへのアクセスを制限するよう指定することができます。
ASMCLUSTER
キーワードを使用すると、データベース名はOracle ASMの一意識別子で修飾され、同じDB_UNIQUE_ID
を持つ場合でも、データベースごとに一意のIDが作成されます。各Oracle ASMクラスタ内では、データベース名は一意である必要があります。
ノート:
DBを有効範囲にしたセキュリティを使用している場合は、キーを割り当てるときにASMCLUSTER
キーワードを使用しないでください。ASMを有効範囲にしたセキュリティには、ASMCLUSTER
キーワードのみを使用します。
ASMを有効範囲にしたセキュリティは構成されているが、キーをASMCLUSTER
キーに変更する場合は、次のステップを実行します。
4.4.6.2 ASMを有効範囲にしたセキュリティに割り当てられたキー値の変更
ASMを有効範囲にしたセキュリティを使用するように構成されたOracle ASMクライアントに使用するキー値を変更できます。
4.4.7 Cell-to-Cell操作の有効化
Oracle Exadata Database Machineに対して、ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティを構成した場合は、Cell-to-Cell操作が制限されないようにアクセス制御を構成する必要があります。
セルが直接相互に通信する必要がある場合に、他のセルにアクセスできるようにするには、各セルにセル・キーを設定する必要があります(たとえば、オフロード操作の場合)。
- 単純セル・アクセスの構成
インバウンドとアウトバウンド両方のCell-to-Cellトラフィックに単一のキーを使用できます。 - LOCALおよびREMOTEのセル・キーの構成
一意のキーを持つように各セルを設定すると、アクセス権を付与する複数のリモート・セル・キーを許容できます。 - 単純セル・キー、LOCALキーおよびREMOTEキー間の変更
新しいキーを別のフォーマットで割り当てる前に、既存のセル・キーを削除する必要があります。これにより、ストレージ・サーバーでリモート・キーとローカル・キーが異なるために誤って構成が中断されるのを防ぎます。
4.4.7.1 単純セル・アクセスの構成
インバウンドとアウトバウンド両方のCell-to-Cellトラフィックに単一のキーを使用できます。
セルが直接相互に通信する必要がある場合に、他のセルにアクセスできるようにするには、単一のキーを作成できます(たとえば、オフロード操作の場合)。ASSIGN KEY
コマンドの単純なバージョンを使用して、すべてのセルにそのキーを割り当てます。
セル・キーのavailableTo
属性の更新にALTER GRIDDISK
コマンドを使用する必要はありません。セルで既存のアクセス制御ポリシーを使用するには、リモート・ターゲット・セルで元のクライアントが識別されるようにします。
親トピック: Cell-to-Cell操作の有効化
4.4.7.2 LOCALおよびREMOTEのセル・キーの構成
一意のキーを持つように各セルを設定すると、アクセス権を付与する複数のリモート・セル・キーを許容できます。
セルが直接相互に通信する必要がある場合に、他のセルにアクセスできるようにするには、セル・キーを作成できます(たとえば、オフロード操作の場合)。すべてのセルで使用される単一のキーを作成するか、LOCAL
キーワードおよびREMOTE
キーワードを使用して個々のセルに一意のキーを割り当てることができます。
キー更新中に一時的に複数のセル・キーを使用したり、特定のセルへのアクセスを制限する場合があります。この場合、ASSIGN KEY
コマンドでLOCAL
またはREMOTE
を指定する必要があります。
親トピック: Cell-to-Cell操作の有効化
4.4.7.3 単純セル・キー、LOCALキーおよびREMOTEキー間の変更
新しいキーを別のフォーマットで割り当てる前に、既存のセル・キーを削除する必要があります。これにより、ストレージ・サーバーでリモート・キーとローカル・キーが異なるために誤って構成が中断されるのを防ぎます。
LOCAL
またはREMOTE
キーをセル・キーに割り当てようとすると(つまり、すでにASSIGN KEY FOR CELL
コマンドを実行しており、明示的にLOCAL
またはREMOTE
キーに切り替えようとすると)、次のエラーが発生します。
CELL-02911: Remove existing CELL key before assigning LOCAL CELL key
同様に、ローカルまたはリモートのセル・キーがすでに存在する場合にASSIGN KEY FOR CELL
を実行すると、次のエラーが表示されます。
CELL-02912: Remove all existing LOCAL and REMOTE CELL keys before assigning a CELL key.
Use LIST KEY FOR CELL to show all LOCAL and REMOTE CELL keys, then use ASSIGN KEY to assign an
empty value to each.
単純セル・キーを割り当てる前に、既存のLOCAL
およびREMOTE
のセル・キーをすべて削除する必要があります。
- 各ストレージ・サーバーの構成済キーを表示します。
- 既存のセル・キーを削除します。
- 必要な形式でキーを再作成します。
- 単純セル・キーをローカルおよびリモート・キーに変更するには、「LOCALおよびREMOTEのセル・キーの構成」のステップに従います。
- ローカルおよびリモート・セル・キーを単純セル・キーに変更するには、「単純セル・アクセスの構成」のステップに従います。
親トピック: Cell-to-Cell操作の有効化
4.4.8 ASMを有効範囲にしたセキュリティまたはDBを有効範囲にしたセキュリティの削除
オープン・セキュリティ・モデルに戻す場合は、ASMを有効範囲にしたセキュリティを削除する前に、グリッド・ディスクのDBを有効範囲にしたセキュリティを削除する必要があります。
セルのセキュリティを更新する前に、Oracle DatabaseおよびOracle ASMインスタンスをシャットダウンする必要があります。セキュリティ構成のすべての変更が完了したら、Oracle DatabaseおよびOracle ASMインスタンスを起動します。
- DBを有効範囲にしたセキュリティの削除
- ASMを有効範囲にしたセキュリティの削除
ストレージ・サーバー上のグリッド・ディスクにオープン・セキュリティを設定する場合は、DBを有効範囲にしたセキュリティを削除してから、ASMを有効範囲にしたセキュリティを削除できます。
4.4.8.1 DBを有効範囲にしたセキュリティの削除
グリッド・ディスクでDBを有効範囲にしたセキュリティを削除するには、次の手順を実行します。
例4-7 グリッド・ディスクからのデータベース・クライアントの削除
次のコマンドでは、すべてのデータベース・クライアントをグリッド・ディスクのグループから削除します。
CellCLI> ALTER GRIDDISK DATA1_CD_00_cell01, DATA1_CD_01_cell01, -
DATA1_CD_02_cell01, RECO1_CD_00_cell01, RECO1_CD_01_cell01, -
RECO1_CD_02_cell01 -
availableTo='asm1'
DBを有効範囲にしたセキュリティ用に複数のデータベース・クライアント(db1
、db2
、db
3など)が構成されており、そのうち1つのクライアント(たとえば、db1
)のセキュリティのみを削除する場合、グリッド・ディスクのグループに対して次のようなコマンドを使用できます。
CellCLI> ALTER GRIDDISK sales_CD_04_cell01, sales_CD_05_cell01, -
sales_CD_06_cell01, sales_CD_07_cell01, sales_CD_08_cell01, -
sales_CD_09_cell01, -
availableTo='+asm,db2,db3'
次の例では、すべてのグリッド・ディスクからすべてのデータベース・クライアントを削除します。
ALTER GRIDDISK ALL availableTo='+asm'
ノート:
グリッド・ディスクとストレージ・サーバーにオープン・セキュリティを設定する場合は、DBを有効範囲にしたセキュリティを削除してから、ASMを有効範囲にしたセキュリティを削除する必要があります。関連トピック
4.4.8.2 ASMを有効範囲にしたセキュリティの削除
ストレージ・サーバー上のグリッド・ディスクにオープン・セキュリティを設定する場合は、DBを有効範囲にしたセキュリティを削除してから、ASMを有効範囲にしたセキュリティを削除できます。
例4-8 グリッド・ディスクからのOracle ASMクライアントの削除
次のコマンドでは、Oracle ASMクライアントをセルのすべてのグリッド・ディスクから削除します。
CellCLI> ALTER GRIDDISK ALL availableTo=''
次のコマンドでは、Oracle ASMクライアントをセルのグループのすべてのグリッド・ディスクから削除します。
dcli -g cell_group -l celladmin "cellcli -e \"ALTER GRIDDISK ALL availableTo=''\""
次のコマンドでは、Oracle ASMクライアントをセルのグリッド・ディスクのグループから削除します。
CellCLI> ALTER GRIDDISK sales_CD_01_cell01, sales_CD_02_cell01, -
sales_CD_03_cell01, sales_CD_04_cell01, sales_CD_05_cell01, -
sales_CD_06_cell01
availableTo=''
関連トピック