IBM Key Protect によるサーバーサイド暗号化(SSE-KP)

IBM Key Protect キーを作成、追加、管理し、それを IBM® Cloud Object Storage のインスタンスに関連付けることで、バケットを暗号化することができます。

開始前に

Key Protect を Cloud Object Storage バケットで使用する前に、次のものが必要です

また、 IBM Cloud カタログ を使用してサービス・インスタンスが作成され、適切な許可が付与されていることを確認する必要があります。 このセクションでは、開始に役立つステップバイステップの手順の概要を示します。

IBM のインスタンスのプロビジョニング Key Protect

適切なサービス・インスタンスをプロビジョンおよびセットアップする方法については、サービス固有の製品ページを参照してください。

2025年1月1日より、アカウントごとに5つの主要バージョンは無料ではなくなります。 作成された最初のキーから、キーのバージョンごとに課金されます。

Key Protectのインスタンスができたら、ルート鍵を作成し、その鍵の CRN (クラウド・リソース名) をメモする必要があります。 CRN は、バケット作成中にヘッダーに入って送信されます。

Key Protectで使用するバケットを作成する前に、 可用性と災害復旧に関する関連ガイダンス を確認してください。

Cross Region バケットの管理対象暗号化では、最も近い 高可用性ロケーション (us-southeu-de、または jp-tok) にある Key Protect インスタンスのルート鍵を使用 しなければならない ことに注意してください。

Key Protect での鍵の作成または追加

Key Protect のインスタンスに移動して、ルート・キーを生成または入力します。

サービスへの許可の付与

Key Protect を IBM COSでの使用を承認する

  1. IBM Cloud ダッシュボードを開きます。
  2. メニュー・バーから、**「管理」 > 「アクセス (IAM)」**をクリックします。
  3. サイド・ナビゲーションで、**「許可」**をクリックします。
  4. **「許可の作成」**をクリックします。
  5. 「ソース・サービス」 メニューで 「Cloud Object Storage (Cloud Object Storage)」 を選択します。
  6. **「ソース・サービス・インスタンス」**メニューで、許可を付与するサービス・インスタンスを選択します。
  7. ターゲットサービスメニュー で、選択します IBM Key Protect
    図 1: Key Protectのサービス許可を付与します。
    サービス許可の付与
  8. **「ターゲット・サービス・インスタンス」**メニューで、許可を付与するサービス・インスタンスを選択します。 追加フィールドはブランクのままにすることができます。
  9. リーダー の役割を有効にします。
  10. 「許可」 をクリックします。

バケットの作成

Key Protect にキーが存在し、 IBM COSでの使用を承認した場合は、新しいバケットにキーを関連付けます

  1. Object Storage のインスタンスに移動します。
  2. 「バケットの作成」 をクリックします。
  3. **「カスタム・バケット (Custom bucket)」**を選択します。
  4. バケット名を入力し、**「地域」**回復力を選択し、ロケーションおよびストレージ・クラスを選択します。
  5. 「サービス統合 (Service integrations)」 で、 「鍵管理無効 (Key management disabled)」 を切り替えて暗号鍵管理を有効にし、 「既存インスタンスの使用 (Use existing instance)」 をクリックします。
  6. 関連付けられたサービス・インスタンスと鍵を選択し、 「鍵の関連付け」 をクリックします。
  7. 情報が正しいことを確認してください。
  8. 「作成」 をクリックします。

Key Protect を使用してバケットの暗号化を管理するかどうかは、作成時にのみ選択できます。 既存のバケットを Key Protect で使用するように変更することはできません。

バケット作成が 400 Bad Request エラーとメッセージ The Key CRN could not be found で失敗する場合、CRN が正しいこと、および、サービス間許可ポリシーが存在することを確認してください。

「バケット」 リストで、バケットの 「属性」 の下に 「表示」 リンクがあります。このリンクで、バケットの Key Protect 鍵が有効になっていることを確認できます。

注意: Etag SSE-KP を使用して暗号化されたオブジェクトに対して返される値は、元の復号化されたオブジェクトの実際の MD5 ハッシュになります。

また、 REST API または SDK (GoJavaNode.js、または Python) を使用することもできます。

キー・ライフサイクル管理

Key Protect は、暗号鍵のライフサイクルを管理するためのさまざまな方法を提供します。 詳しくは、 Key Protect の資料 を参照してください。

鍵のローテーション

鍵のローテーションは、データ・ブリーチのリスク軽減の重要な部分です。 鍵を定期的に変更することで、鍵が失われたり漏えいしたりした場合に起こり得るデータ損失を減らすことができます。 鍵のローテーションの頻度は組織によって異なり、環境、暗号化データの量、データの種別、準拠法など、多くの変動要因に依存します。 米国国立標準技術研究所(NIST)は、適切なキーの長さの定義と、キーをどのくらいの期間使用すべきかのガイドラインを提供しています。

詳細は、回転キーのドキュメントを参照してください。 Key Protect

鍵の無効化および再有効化

管理者は、機密漏れ、暗号漏えい、データ漏えいの発生が疑われる場合に、 一時的に ルート鍵を無効にする必要が ある場合があります。 ルート鍵を無効にすると、その鍵の暗号化操作と復号操作が中断されます。 セキュリティリスクがもはやアクティブではないことを確認した後、無効にされたルートキーを有効にすることで、データへのアクセスを再開することができます。

鍵が無効にされ、その後すぐに再度有効にされた場合、そのバケットに対して行われた要求は、キャッシュされた鍵情報がリフレッシュされるまでに最大 1 時間拒否される可能性があります。

鍵および暗号消去の削除

保存ポリシー が適用されているバケットに関連付けられたルート鍵を削除することはできません。 ルート鍵を削除するには、まずバケットを空にして破棄する必要があります。 詳しくは、 Key Protect の資料を参照してください

暗号消去 (または暗号断片化) とは、データ自体ではなく 暗号鍵を削除 することによって、暗号化されたデータを読み取ることができないようにレンダリングする方法です。 Key Protect でルート鍵が削除される の場合、そのルート・キーを使用して作成されたすべてのバケット内のすべてのオブジェクトが影響を受け、事実上、データが「断片化」され、バケットに対する読み取りまたは書き込みが防止されます。 このプロセスは瞬時には実行されませんが、鍵が削除されてから約 90 秒以内に実行されます。

暗号断片化バケット内のオブジェクトは読み取ることができず、新規オブジェクトは書き込むことができませんが、既存のオブジェクトは、ユーザーによって削除されるまでストレージを消費し続けます。

削除された鍵の復元

管理者として、以前にそのキーで保護されていたデータにアクセスできるように、 Key Protect に インポートしたルートキーを復元する必要 があるかもしれません。 キーを復元すると、キーの状態が「破壊されたキー」から「アクティブなキー」に変更され、そのキーで暗号化されていたすべてのデータへのアクセスが復元されます。 これは、鍵を削除してから 30 日以内に発生する必要があります。

Activity Tracking

Key Protect ルート鍵が削除、ローテート、中断、有効化、または復元されると、 Key Protectによってログに記録されたイベントに加えて、 Activity Tracker 管理イベント (cloud-object-storage.bucket-key-state.update) が生成されます。

鍵に対するライフサイクル・アクションでサーバー・サイドの障害が発生した場合、その障害は COS によってログに記録されません。 イベントが送信されてから 4 時間以内に Key Protect がイベント処理の成功を COS から受信しない場合、 Key Protect は失敗をログに記録します。

cloud-object-storage.bucket-key-state.update アクションは、 Key Protectで発生するイベントによってトリガーされ、バケットが Key Protect サービスに登録されている必要があります。 この登録は、 Key Protect ルート鍵を使用してバケットが作成されるときに自動的に行われます。

2020 年 2 月 26thより前に作成されたバケットは、 Key Protect サービスに登録されず、現時点では暗号鍵ライフサイクル・イベントの通知を受け取りません。 これらのバケットは、 バケット・リスト操作 を実行し、バケット作成の日付を調べることによって識別できます。 これらのバケットの鍵の状態が Key Protectから最新であることを確認するには、影響を受ける各バケット内のオブジェクトで 一部のデータ操作が実行される( PUTGETHEAD など) を使用することをお勧めします。 鍵の状態が Key Protect 状態と正しく同期していることを確認するために、1 つのオブジェクト操作を少なくとも 1 時間おきに 2 回実行することをお勧めします。

オブジェクト・ストレージの Activity Tracker イベントについて詳しくは、 参照トピック を参照してください。