Key Protect の統合

IBM Cloud® Databases に保管するデータは、デフォルトでは、ランダムに生成される鍵を使用して暗号化されます。 暗号化キーを管理するには、Bring Your Own Key(BYOK)を利用 IBM Key Protect し、ご自身のキーのいずれかを使用してデータベースとバックアップを暗号化できます。

この文書は、 Cloud DatabasesKey Protect との統合について扱っており、これには、 Databases for RedisDatabases for MongoDB、、 Databases for Elasticsearch、 IBM Cloud® Databases for MySQL、、 Databases for PostgreSQL が含まれます Messages for RabbitMQ。

開始するには、Key Protect が IBM Cloud アカウントにプロビジョンされている必要があります。

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

Key Protect のインスタンスに移動して、鍵を生成または入力します。

UIでのサービス認可の付与

Key Protect デプロイメントで使用できるように Cloud Databases を許可します。

  1. IBM Cloud のダッシュボードを開きます。
  2. メニューバーから、 [管理 ] → [アクセス (IAM) ] をクリックします。
  3. サイド・ナビゲーションで、**「許可」**をクリックします。
  4. 「作成」 をクリックします。
  5. **「ソース・サービス」メニューで、デプロイメントのサービスを選択します。 例えば、「Databases for PostgreSQL」または「Messages for RabbitMQ」**を選択します
  6. ソース サービス リソース メニューで、 [すべてのリソース] を選択します。
  7. **「ターゲット・サービス」メニューで、「Key Protect」**を選択します。
  8. デフォルト値を選択または保持 アカウント し、リソースグループとして設定します。 ターゲットサービス
  9. ターゲット・サービスの**「インスタンス ID」**メニューで、許可を付与するサービス・インスタンスを選択します。
  10. リーダー の役割を有効にします。
  11. バックアップに「Bring Your Own Key」(BYOK) を使用するには、**「依存サービスの許可」セクション内で「許可を委任できるようにする」**ボックスを選択します。
  12. 「許可」 をクリックします。

鍵を使用してデプロイメントをプロビジョンする前にサービス許可が存在していない場合は、プロビジョンが失敗します。

Key Protect 鍵の使用

鍵を使用する許可を Cloud Databases デプロイメントに付与した後、デプロイメントをプロビジョンするときに鍵の名前または CRN を指定します。 このデプロイメントは暗号鍵を使用してデータを暗号化します。

UIでKey Protectキーを使用する

カタログ・ページからプロビジョンする場合は、ドロップダウン・メニューから Key Protect インスタンスと鍵を選択します。

CLIでKey Protectキーを使用する

CLI で、パラメーター JSON オブジェクト内で disk_encryption_key_crn パラメーターを使用します。

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
  "disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'

キー Key Protect は、そのIDだけでなく、完全なCRNによって識別される必要があります。 Key Protect の CRN の形式は crn:v1:<...>:key:<id> です。

APIでKey Protectキーを使用する

API で、要求の本文内で disk_encryption_key パラメーターを使用します。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "blue-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-x-standard",
    "disk_encryption_key_crn": "crn:v1:<...>:key:<id>"
  }'

キー Key Protect は、そのIDだけでなく、完全なCRNによって識別される必要があります。 Key Protect の CRN の形式は crn:v1:<...>:key:<id> です。

鍵のローテーション

Key Protect には手動と自動の鍵のローテーションがあり、鍵のローテーションは Cloud Databases デプロイメントでサポートされています。 鍵をローテートすると、プロセスは KMS 状態の同期中_タスクを開始し、デプロイメントは新しい鍵で再暗号化されます。 タスクがデプロイメントの_概要_の_タスク・ページに表示され、関連する Key Protect イベントおよび Cloud Databases イベントが Activity Tracker に送信されます。

詳しくは、手動または自動回転 をご覧ください。

デプロイメントの削除

Key Protect 鍵で保護されているデプロイメントを削除しても、ソフト削除期間 (最大 9 日間) 中は、デプロイメントがその鍵に対して登録されたままになります。 ソフト削除期間にキーを削除するには、キーを 強制削除する。 ソフト削除期間が経過すると、その鍵は強制しなくても削除できます。 キーをいつ削除できるかを判断するには、キーと配置の関連付け を確認します。

暗号の廃棄

暗号の廃棄は破壊アクションです。 鍵が削除されると、データはリカバリー不能になります。

Key Protect では、IBM Cloud® デプロイメントなどの Cloud Databases サービスで使用されている鍵の強制削除を開始できます。 このアクションは暗号の廃棄と呼ばれます。 デプロイメントで使用中の鍵を削除すると、データが含まれているディスクがロックされ、そのデプロイメントが無効化されます。 UI や、UI、CLI、API のセキュリティー設定などの一部のメタデータには引き続きアクセスできますが、データベースやそこに含まれているデータにはアクセスできません。 キー削除 は Activity Tracker Event Routing として送信されます kms.secrets.delete

バックアップ用のBring your own key

Key Protectを使用する場合、データベースをプロビジョンするときに、デプロイメントのバックアップを保持する Cloud Object Storage ディスクを暗号化するための鍵を指定することもできます。

BYOK for バックアップは、米国リージョン us-south および us-easteu-de でのみ利用可能です。

us-south 内のキーのみがリージョン eu-de 障害に対して耐久性を持つ。 リージョン障害が発生した場合でもバックアップを利用可能にするには、デプロイメントの場所に関係なく、 eu-de または us-south のキーを使用する必要があります。

委任許可の付与

デプロイメントで キー Key Protect を使用できるようにするには、サービス認証を付与する際に 認証の委任を有効にする 必要があります。 鍵を使用してデプロイメントをプロビジョンする前に委任許可が存在していない場合は、プロビジョンが失敗します。

CLIでプロビジョニング時のキーを使用する

該当する許可と委任を付与した後、デプロイメントをプロビジョンするときに鍵の名前または CRN を指定します。

CLI で、パラメーター JSON オブジェクト内で backup_encryption_key_crn パラメーターを使用します。

ibmcloud resource service-instance-create <INSTANCE_NAME> <SERVICE-NAME> standard us-south \
-p \ '{
  "backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
}'

APIで提供されるキーを使用する

API で、要求の本文内で backup_encryption_key_crn パラメーターを使用します。

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "blue-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-x-standard",
    "backup_encryption_key_crn": "crn:v1:<...>:key:<id>"
  }'

委任を有効にしてデプロイメントをプロビジョンすると、IAM の_許可_に 2 つのエントリーが表示されます。 その 1 つは、委任者として状況をリストするデプロイメントに関するエントリーです。 このエントリーは「作成したユーザー (User Created)」です。

デリゲータの例Key Protect認証
役割 ソース ターゲット タイプ
許可委任者、リーダー <cloud-databases>サービス Key Protect サービス ユーザー定義

もう 1 つはバックアップ用の Cloud Object Storage バケットのエントリーで、デプロイメントはイニシエーターです。

例 ~ Key Protect からの Cloud Object Storage 承認 Cloud Databases
役割 ソース ターゲット タイプ
リーダー Cloud Object Storage サービス Key Protect サービス 作成者<cloud-databases-crn>

鍵の削除

IAM/Key Protect では、鍵と Cloud Object Storage (2 番目の例) の間のポリシーを削除できなくすることはありませんが、削除するとバックアップをリストアできなくなる可能性があります。 リストアできなくならないように、Cloud Databases で Cloud Object Storage に関する鍵を使用する機能を管理する Cloud Object Storage ポリシーを削除する場合、ポリシーが再作成されて、デプロイメントのバックアップが続行されます。

キーと許可を削除する場合は注意してください。 複数のデプロイメントで同じ鍵が使用されている場合は、委任許可を取り消すと、これらのデプロイメントすべてに対するバックアップが誤って破棄される可能性があります。 可能であれば、複数のデプロイのバックアップに同じキーを使用しないでください。

バックアップを廃棄しようとしている場合は、鍵を削除できます。 Cloud Object Storage は、ストレージが読み取り不能かつ書き込み不能であることを確認します。 ただし、同じキーをバックアップに使用するその他のデプロイメントでは、その後のバックアップが失敗します。

複数のデプロイメントのバックアップに同じ鍵を使用する必要がある場合は、鍵と許可を削除すると、以下の副次作用が発生する可能性があります。

  • Cloud Object Storage 許可 (表 2 を参照) のみを削除する場合、作成者として示されるデプロイメントに加えて、同じ鍵を使用するデプロイメントも影響を受けます。 ポリシーが自動的に再作成されるまで、それらのデプロイメントでは一時的にバックアップが失敗する可能性があります。 バックアップが欠落する場合を除き、永続的な影響はありません。
  • もし、あなたが作成したデリゲーター認証(表 Cloud Databases 1に示す通り)だけを削除した場合、第二の認証がまだ有効であるため、すぐに何かが壊れることはありません。 しかし、Cloud Object Storage 許可が削除された場合、これは再作成できないので、同じ鍵を使用する複数のデプロイメントでバックアップの機能が失われる可能性があります。
  • Cloud Object Storage 許可 Cloud Databases 委任者許可を両方とも削除する場合、同じ鍵を使用するすべてのデプロイメントでは即時にバックアップの機能がなくなり、正しい許可を再作成できなくなるので、この鍵を使用するすべてのデプロイメントでバックアップが実質的に破棄されます。

鍵を再利用する場合には注意してください。