Oracle Break Glassの顧客管理キー

Oracle Break Glassと顧客管理キーを使用してアプリケーション環境を保護します。

デフォルトでは、アプリケーション環境はOracle管理の暗号化キーによって保護されます。Oracle Break Glassサービスを含むサブスクリプションを購入すると、環境を保護する暗号化キーを提供および管理できる顧客管理のキー機能が提供されます。このオプションは、アドオンのサブスクリプションとして購入することもできます。

OCI Vaultサービスを使用して暗号化キーを作成および管理し、本番環境および非本番環境で保存されているデータを保護します。環境の作成時にキーを設定することも、既存の環境にキーを追加することもできます。

ボールトとキーの設定および管理のベスト・プラクティス

本番環境と非本番環境用に個別のボールトを作成することがベスト・プラクティスです。非本番ボールト内で、テスト環境と開発環境用に別々のキーを作成します。たとえば、次を作成します:

環境 Vault マスター暗号化キー
生産 my-production-vault my-production-key
テスト my-non-production-vault my-test-environment-key
開発 my-development-environmentキー

本番用と非本番用に別々のボールトを使用する利点:

  • 個別のボールトを保持すると、本番環境と非本番環境でキーを個別にローテーションできます。
  • ボールト当たりのキー数には制限があります。ボールトを別にすると、本番環境と非本番環境に対して個別のカウントが提供されます。

キーの制限と使用状況を確認するには、特定のリージョンのリソース制限、割当て制限および使用状況がサービスごとに分類されている「制限、割当て制限と使用状況」ページを表示します。

  1. コンソールでナビゲーション・メニューを開き、「ガバナンスと管理」をクリックします。「テナンシ管理」で、「制限、割当ておよび使用状況」をクリックします。
  2. 「サービス」リストから、「キー管理」を選択します。

    使用するように選択したキー・タイプに応じて、仮想ボールトのキー・バージョン数または仮想ボールトのソフトウェア・キー・バージョン数に対するキー制限を確認します。

設定タスクの実行

次のタスクを実行してボールトおよびキーを設定し、顧客管理キーを使用するようにテナンシを準備します。

テナンシ管理者には、必要なすべての設定タスクの実行に必要な権限があります。設定タスクを別のロールに指定する場合は、ボールトとキーを操作するための適切な権限を持っていることを確認します。権限リファレンスを参照してください。

次の表に、後述する設定タスクをまとめます。

タスク 必須/オプション 追加情報
1. ボールトとキーのコンパートメントを作成します。 オプション ボールトとキーに対して別々のコンパートメントを作成してアクセスを絞り込むことは、セキュリティのベスト・プラクティスです。
2. アプリケーションで顧客管理キーを使用できるようにするシステム・ポリシーを追加します。 必須 ボールトとキーを環境に追加する前に、このポリシーを追加する必要があります。このポリシーが追加されていない場合、環境はプロビジョニングを完了しないか(環境の作成中に追加された場合)、作業リクエストを完了しません(既存の環境に追加した場合)。
3. 本番環境と非本番環境のボールトを作成します。 必須 Vaultサービス手順に従います。
4. 本番環境と非本番環境のキーを作成します。 必須 Vaultサービス手順に従います。

1. ボールトおよびキーのコンパートメントの作成(オプション)

必須ではありませんが、ボールトおよびキーに専用コンパートメントを設定すると、これらのリソースにアクセスできるユーザーをより詳細に制御できます。テナンシで顧客管理キーを有効にするには、Oracle管理システムによるボールトおよびキーへのアクセスを許可するシステム・ポリシー(タスク2)を作成する必要があります。これらのリソースをテナンシに作成するのではなく、コンパートメントに配置することで、ポリシーを重要なコンパートメントに制限できます。コンパートメントの利点の詳細は、コンパートメントの理解を参照してください。

コンパートメント作成の簡略化された手順を次に示します。コンパートメントの管理の詳細は、コンパートメントの管理を参照してください。

ボールトおよびキーのコンパートメントを作成するには:

  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「コンパートメント」を選択します。アクセス権を持つコンパートメントのリストが表示されます。
  2. 「コンパートメントの作成」をクリックします。

  3. 次を入力します:
    • 名前: コンパートメントの一意の名前(文字、数字、期間、ハイフン、アンダースコアなど、最大100文字)。名前は、テナンシ内のすべてのコンパートメントで一意である必要があります。機密情報を入力しないでください。たとえば、My-managed-keysなどです。
    • 説明: わかりやすい説明。これは、必要に応じて後で変更できます。
    • 親コンパートメント: 現在のコンパートメントが表示されます。他のコンパートメントを作成した場合は、このコンパートメントを作成する別のコンパートメントを選択できます。
    • タグ: リソースを作成する権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
  4. 「コンパートメントの作成」をクリックします。

2. テナンシで顧客管理キーを有効にするシステム・ポリシーの追加

重要

顧客管理キーを環境に追加する前に、このポリシーを追加する必要があります。このポリシーが追加されていない場合、環境はプロビジョニングを完了しないか(環境の作成中に追加された場合)、更新を完了しません(既存の環境に追加した場合)。アプリケーションに必要なポリシーについては、アプリケーション固有のドキュメントを参照してください。

システム・ポリシーを作成するには:

  1. ナビゲーション・メニューを開き、「インフラストラクチャ」「アイデンティティとセキュリティ」をクリックしてメニューを展開し、「アイデンティティ」「ポリシー」をクリックします。
  2. 「ポリシーの作成」をクリックします。
  3. 次を入力します:
    • 名前: ポリシーの一意の名前。名前は、テナンシ内のすべてのポリシーで一意である必要があります。これは後で変更できません。
    • 説明: わかりやすい説明。これは、必要に応じて後で変更できます。
    • コンパートメント: テナンシ(ルート・コンパートメント)が選択されていることを確認します。
  4. ポリシー・ビルダーで、「手動エディタの表示」を切り替えて、フリーフォーム・テキスト入力のテキスト・ボックスを表示します。
  5. アプリケーション固有のドキュメントからポリシー・ステートメントを入力します。
  6. 「作成」をクリックします。

3. 環境用のボールトの作成

VaultドキュメントのVaultの作成の手順に従います。コンパートメントを作成した場合は、システム・ポリシーで指定したコンパートメントにボールトを作成していることを確認してください。

本番環境キー用と非本番環境キー用の2つのボールトを作成することをお薦めします。

4. キーの作成

Vaultドキュメントのマスター暗号化キーの作成の手順に従います。システム・ポリシーで指定したコンパートメントにキーを作成していることを確認してください。

アプリケーションのキーを作成する場合は、次の選択を行う必要があります。

  • 「キー・シェイプ: アルゴリズム」で、「AES (暗号化および暗号化に使用される対称キー)」を選択します(アプリケーションの顧客管理キーの場合、このオプションを選択する必要があります)。
  • 「キー・シェイプ: 長さ」で、「256ビット」を選択します。

本番環境用の本番ボールトに1つのキーを作成し、非本番ボールト内の非本番環境ごとに1つのキーを作成することをお薦めします。

環境への顧客管理キーの追加

環境の作成中または環境の作成後に、顧客管理キーを追加できます。

環境作成時の顧客管理キーの追加

この手順には、顧客管理キーを有効にする手順のみが含まれます。環境の作成手順の詳細は、環境を作成するにはを参照してください。

環境作成ページ:

  1. 「拡張オプションの表示」をクリックします。
  2. 「暗号化」タブをクリックします。
  3. 「顧客管理キーを使用した暗号化」を選択します。

    このオプションが表示されない場合は、サブスクリプションがテナンシに追加されていることを確認します。

  4. 「Vault」を選択します。ボールトが環境の作成先と同じコンパートメントにない場合は、「コンパートメントの変更」をクリックし、適切なコンパートメントを選択する必要があります。
  5. 「キー」を選択します。キーが環境の作成先と同じコンパートメントにない場合は、「コンパートメントの変更」をクリックし、適切なコンパートメントを選択する必要があります。AES-256-bitキーのみが表示されます。

環境を設定するためのすべてのステップを完了すると、プロビジョニング・プロセスが開始されます。顧客管理キーを追加すると、プロビジョニング・プロセスに時間がかかります。

既存の環境に対する顧客管理キーの追加

既存の環境で顧客管理キーを有効にするには:

  1. 「環境」リスト・ページで、使用する環境を選択します。リスト・ページの検索に関するヘルプが必要な場合は、環境をリストするにはを参照してください。

  2. 環境の詳細ページで、「暗号化」タブをクリックします。
  3. デフォルトでは、「タイプ」はOracle管理です。「管理」をクリックして、ボールトおよびキーを追加します。

    「管理」オプションが表示されない場合は、オプションを購入していないか、顧客管理キーのサブスクリプションがテナンシに追加されていません。

  4. 「顧客管理キーを使用した暗号化」を選択します。

  5. 「Vault」を選択します。ボールトが環境の作成先と同じコンパートメントにない場合は、「コンパートメントの変更」をクリックし、適切なコンパートメントを選択する必要があります。
  6. 「キー」を選択します。キーが環境の作成先と同じコンパートメントにない場合は、「コンパートメントの変更」をクリックし、適切なコンパートメントを選択する必要があります。AES-256-bitキーのみが表示されます。
  7. 「変更の保存」をクリックします。

環境の暗号化のスケジュールは、アプリケーションによって異なります。一部のアプリケーションでは、作業リクエストがただちに発行されます。作業リクエストをモニターして、暗号化の進捗を追跡できます。更新中は環境を使用できません。他のアプリケーションの場合、暗号化は次のメンテナンス・サイクルまたはパッチ更新で実行されます。メンテナンスが発生するまで、環境はOracle管理キーによって暗号化されたままになります。

鍵のステータスと詳細の表示

キーのステータスと詳細を表示するには:

  1. 環境に移動します: コンソールの「アプリケーション・ホーム」で、アプリケーション名をクリックします。「概要」ページで、環境名をクリックします。
  2. 環境の詳細ページで、「暗号化」タブをクリックします。
  3. キーの詳細が表示されます。

Vaultおよびキー名をクリックすると、Vaultサービスでこれらのリソースに移動できます。

キーの回転

組織のセキュリティ・プラクティスに基づいてキーをローテーションします。CLIジョブを設定してキーを自動的にローテーションすることも、指定したセキュリティ管理者がVaultサービス・コンソールUIを使用して手動でローテーションすることもできます。キー・バージョンの詳細は、キーおよびシークレット管理の概念を参照してください。

キーを回転するには

VaultドキュメントのVaultキーのローテーションの手順に従います。

ノート

アプリケーションによっては、さらに必要なステップがある場合があります。アプリケーション固有のドキュメントのローテーション手順の次のステップを確認してください。

キーの無効化および有効化

アプリケーション・サービスを停止し、アプリケーション・データベースにアクセスする状況が発生した場合は、キーを無効にして、すべてのユーザーを即時に強制的にシステムから除外できます。

警告

キーを無効にすると、データが失われる可能性があります。キーが無効になっている場合、Oracleは、環境の使用中に障害が発生する可能性を最小限に抑えるために、環境を事前に停止しようとします。ただし、鍵が無効になったら、ふたたび有効にするまで環境を再起動できません。キーが無効な状態のままですが、以前に保存された顧客データにアプリケーション・クラウド・サービスはアクセスできません。
ノート

キーの無効化を開始すると、一連のプロセスが環境のコンポーネント(データベース・サービス、中間層、ロード・バランサなど)を停止し、完了までに最大1時間かかる場合があります。これらのプロセスが完了するまで、鍵を再度有効にしないでください。

同様に、キーの有効化を開始すると、システムを再起動する一連のプロセスの完了には最大1時間かかることがあります。

キーの削除

キーおよびボールトの削除は、非常に破壊的な操作であり、まれな状況ではテナンシ管理者のみが実行する必要があります。

テナンシ管理者がキーを削除すると、このキーで暗号化されているすべてのデータまたはOCIリソース(アプリケーション・データベースを含む)は、即座にすべて使用不可または取得不可になります。

鍵の削除をスケジュールする前に、鍵をバックアップすることを強くお勧めします。後でキーを再度使用する場合は、バックアップを使用してキーとボールトをリストアできます。

詳細は、「Vaultキーの削除」を参照してください。

権限参照

アプリケーション管理者は、ボールトおよびキーに対してread権限が必要です。read権限により、管理者は次のことを実行できます。
  • 構成時にボールトとキーを選択します。
  • トラブルシューティングのためにOCI Vaultサービスのボールトとキーを表示します。

アプリケーション管理者の権限を追加するには:

  1. アプリケーション管理者ロールの作成手順については、アプリケーション・サービス・ポリシー・リファレンスを参照してください。
  2. 次の文をロールに追加します(まだ存在しない場合)。
    
    Allow group <your-group-name> to read vaults in tenancy
    Allow group <your-group-name> to read keys in tenancy

アプリケーション管理者がボールトおよびキーを作成できるようにする場合、または別の個人(セキュリティ管理者など)を指定してボールトおよびキーを管理する場合は、次の権限を持つグループのメンバーである必要があります:

allow group <group-name> to manage keys in <location> where request.permission not in ('KEY_DELETE')
allow group <group-name> to manage vaults in <location> where request.permission not in ('VAULT_DELETE')
 

削除権限がポリシー・ステートメントから削除されることに注意してください。つまり、削除操作を実行できるのはテナンシ管理者のみです。ロールを定義するグループおよびポリシーを作成する手順については、アクセスが制限されたユーザーの追加を参照してください。