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つのボールトを作成することをお薦めします。1つは本番環境キー用で、もう1つは非本番環境キー用です。

4. キーの作成

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

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

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

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

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

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

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

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

環境作成ページ:

  1. 「詳細オプション」を選択します。
  2. 「暗号化」で、「顧客管理鍵を使用した暗号化」を選択します。

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

  3. ボールトを選択します。ボールトが環境を作成しているコンパートメントと同じコンパートメントにない場合は、適切なコンパートメントを選択します。
  4. キーを選択します。キーが環境を作成しているものと同じコンパートメントにない場合は、適切なコンパートメントを選択します。AES-256-bitキーのみが表示されます。

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

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

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

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

  2. 環境の詳細ページで、「アクション」メニューを選択し、「暗号化キーの管理」を選択します。

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

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

  4. ボールトを選択します。ボールトが環境を作成しているコンパートメントと同じコンパートメントにない場合は、適切なコンパートメントを選択します。
  5. キーを選択します。キーが環境を作成しているものと同じコンパートメントにない場合は、適切なコンパートメントを選択します。AES-256-bitキーのみが表示されます。
  6. 「Save changes」を選択します。

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

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

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

  1. 環境へのナビゲート: コンソールのアプリケーション・ホームで、アプリケーション名を選択します。
  2. 「環境」を選択し、環境名を選択します。
  3. 環境の詳細ページに、キーの詳細が「暗号化」セクションに表示されます。

ボールトおよびキー名を選択して、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')
 

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