クラウドディスクの暗号化は、暗号化アルゴリズムを使用して、クラウドディスクに保存されているデータを不正アクセスやデータ漏洩から保護します。クラウドディスクの暗号化機能は、クラウドディスクに書き込まれるデータを暗号化し、承認されたユーザーが読み取るデータを復号できます。これにより、データが漏洩した場合でも、不正ユーザーがクラウドディスクにアクセスしてデータを復号することを防ぎ、ディスクデータの機密性と整合性を確保します。このトピックでは、ディスク暗号化の仕組み、ディスク暗号化の制限、およびディスク暗号化の実装方法について説明します。
暗号化
暗号化の仕組み
Elastic Compute Service(ECS)では、Key Management Service(KMS)を使用して、Advanced Encryption Standard 256(AES-256)に基づいてクラウドディスク、イメージ、およびスナップショットを暗号化します。KMSは、ダブルキー設計とエンベロープ暗号化メカニズムを使用してデータを暗号化します。ダブルキー設計では、暗号化と復号に、カスタマーマスターキー(CMK)と CMK によって生成されたデータキー(DK)を使用します。CMK は DK に対して有効であり、DK はビジネスデータに対して有効です。KMS は、エンベロープ暗号化メカニズムを使用して暗号化を実装するために、次の手順を実行します。
DK を暗号化する。
DK を使用する前に、CMK を使用して DK を暗号化します。プレーンテキスト以外で暗号化された DK は、暗号化されたビジネスデータと共に安全に保存できます。このように、不正ユーザーが記憶媒体にアクセスした場合でも、CMK を持っていないため、DK を復号することはできません。
暗号化されたデータを保存して読み取る。
暗号化されたデータを読み取ると、DK を復号するための KMS リクエストが送信されます。KMS はリクエストを検証した後、プレーンテキストの DK を返します。このプロセスはメモリ内で実行され、DK は記憶媒体には保存されません。ハイパーバイザーメモリ内のプレーンテキスト DK は、ディスク I/O 操作中にデータの復号に使用されます。
エンベロープ暗号化プロセス中、プレーンテキストの CMK は、KMS によって管理されるハードウェアセキュリティモジュール外に保存または使用されることはありません。プレーンテキストの DK は、サービスインスタンスが存在するホストのメモリ内でのみ使用され、記憶媒体には保存されません。
詳細については、「KMS との統合の概要」トピックの「暗号化プロセス」セクションをご参照ください。
暗号鍵
キーの種類
KMS は、デフォルトキーやソフトウェア保護キーなど、Alibaba Cloud サービス用に複数の種類のキーを提供しています。デフォルトキーは、サービスキーまたは CMK にすることができます。ECS インスタンス上の特定のリソースを暗号化する場合は、サービスキーを使用するか、作成または管理する CMKを使用できます。キーの種類の詳細については、「キー管理の概要」をご参照ください。
サービスキー
リージョンで初めてクラウドディスクを暗号化すると、システムはリージョン内の ECS 用に KMS にサービスキーを自動的に作成します。各ユーザーのサービスキーは、各リージョンで一意であり、Alibaba Cloud サービスによって作成および管理されます。サービスキーは、基本的なデータ保護機能を取得するのに役立ちます。ただし、セキュリティ要件が高いシナリオでは、サービスキーの管理で問題が発生する可能性があります。たとえば、サービスキーのライフサイクルを管理することはできません。
ECS は、サービスキーに次のエイリアスを使用します。
中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (河源)、中国 (成都)、中国 (香港)、マレーシア (クアラルンプール)、フィリピン (マニラ)、日本 (東京)、米国 (シリコンバレー)、米国 (バージニア)、ドイツ (フランクフルト) リージョン: alias/acs/ecs。
その他のリージョン: デフォルトサービス CMK。
CMK
CMK を KMS に作成またはアップロードし、CMK のライフサイクルを管理し、CMK を使用してより多くのセキュリティ機能を提供できます。KMS コンソールで CMK を無効化または有効化したり、キーを CMK としてインポートしたりして、キーのライフサイクル管理を強化し、ECS データの暗号化と復号を管理できます。CMK の作成と無効化の方法については、「キーの管理」をご参照ください。
キーの仕様
KMS は、暗号化されたデータのセキュリティを確保するために、一般的な対称キーと非対称キーをサポートしています。ディスクの作成中に CMK を使用してクラウドディスクを暗号化する場合、または暗号化されたスナップショットまたは暗号化されたイメージをコピーする場合は、対称キーのみを使用できます。詳細については、「キーの種類と仕様」をご参照ください。
キーのローテーション
ECS 暗号化のベストプラクティスでは、暗号鍵を過度に再利用しないことをお勧めします。キーの使用のセキュリティを強化するために、KMS のキーローテーション機能を使用することをお勧めします。
キーローテーション機能は、ディスク、スナップショット、イメージなど、暗号化を必要とする新しいリソースにのみ有効です。新しいリソースは、新しいキーマテリアルを使用して暗号化されます。キーローテーション機能は、既存の暗号化リソースには影響しません。
キーマテリアルが KMS によって生成された対称キーのみがローテーションをサポートします。独自のキーマテリアルを使用するキーは、ローテーションをサポートしていません。
詳細については、「キーローテーションの構成」をご参照ください。
クラウドディスクに保存されているデータが暗号化されているかどうかを確認する
クラウドディスクでディスク暗号化メカニズムが機能しているかどうかを判断することはできません。データがクラウドディスクに保存されているときに暗号化されているかどうかを確認するには、次の手順を実行します。
暗号化されたクラウドディスクを作成するときに、CMK を選択します。詳細については、このトピックの「クラウドディスクの暗号化」セクションをご参照ください。
CMK を無効にします。詳細については、「キーの管理」トピックのキーの無効化セクションをご参照ください。
実行します
再起動
ディスクがアタッチされている ECS インスタンスを再起動するコマンド。
上記の手順を実行した後、暗号化されたクラウドディスクに関連付けられている CMK は無効になります。この場合、次のいずれかの問題が発生する可能性があります。ECS インスタンスを再起動できない、システムディスクで I/O ハングが発生する、またはクラウドディスクの読み取りまたは書き込みができない。これは、クラウドディスクに保存されているユーザーデータが暗号化されていることを示します。
課金
KMS は、サービスキーと CMK を含む無料のデフォルトキーを提供しています。KMS インスタンスを購入する必要なく、デフォルトキーを使用できます。CMK の数を増やしたり、Secrets Manager を使用したり、自己管理型アプリケーション用のアプリケーション層暗号ソリューションを構築したりする場合は、ソフトウェアまたはハードウェアキー管理タイプの KMS インスタンスを購入する必要があります。KMS の課金については、「課金」をご参照ください。
制限
制限 | 説明 |
インスタンスタイプ |
|
ディスクカテゴリ |
|
CMK |
|
権限ポリシー | セキュリティコンプライアンス要件が高い企業の場合、企業の Alibaba Cloud アカウントに属するすべての Resource Access Management (RAM) ユーザーは、データの機密性を確保するためにデータ暗号化を必要とします。ECS では、RAM ユーザーが暗号化されたクラウドディスクのみを作成できるようにカスタムポリシーを構成できます。詳細については、「ECS のカスタムポリシー」トピックの「RAM ユーザーに暗号化されたディスクのみを作成する権限を付与するカスタムポリシー」セクションをご参照ください。 |
考慮事項
暗号化操作は元に戻すことができません。暗号化されたクラウドディスクが作成されると、クラウドディスクを暗号化されていないディスクに変換することはできません。
キーを削除または無効にすると、キーは無効になります。その後、暗号化されたクラウドディスク、暗号化されたイメージ、および暗号化されたスナップショットのデータは復元されない場合があります。キーを削除または無効にする前に、[キーの無効化] 機能を使用して、Alibaba Cloud サービスでサーバー側の暗号化にキーが使用されているかどうかを確認することをお勧めします。また、[確認] 機能を使用して、Alibaba Cloud サービスでサーバー側の暗号化にキーが使用されているかどうかを確認することもできます。これにより、キーがない場合にデータの復元が失敗することを防ぎます。
警告実行した操作が原因でキーが無効になった場合、関連付けられているクラウドディスクに保存されているデータが復元されないリスクは、お客様の責任となります。
クラウドディスクの暗号化
ECS インスタンスまたはクラウドディスクの作成時にクラウドディスクを暗号化する
ECS コンソールの使用
ECS インスタンスの作成時にクラウドディスクを暗号化する
次の手順では、ECS インスタンスの作成時にシステムディスクまたはデータディスクを暗号化する方法のみについて説明します。その他の構成については、「[カスタム起動] タブでインスタンスを作成する」をご参照ください。
[ストレージ] セクションで、ディスクカテゴリを選択し、システムディスクとデータディスク (存在する場合) を含む各ディスクのディスクサイズを指定します。
[暗号化] を選択し、ドロップダウンリストから暗号鍵を選択します。
クラウドディスクの作成時にクラウドディスクを暗号化する
次の手順では、クラウドディスクの作成時にディスク暗号化設定を構成する方法のみについて説明します。クラウドディスクのその他の構成については、「空のデータディスクの作成」をご参照ください。
[クラウドディスク] セクションで、ディスクカテゴリを選択し、ディスクサイズを指定します。
[ディスクの暗号化] を選択し、ドロップダウンリストから暗号鍵を選択します。
暗号鍵を選択するときは、リージョン固有のサービスキーまたは KMS で作成された CMK をドロップダウンリストから選択できます。暗号鍵については、このトピックの「暗号鍵」セクションをご参照ください。CMK を選択する前に、CMK がリージョンと権限の要件を満たしている必要があることに注意してください。詳細については、このトピックの「制限」セクションをご参照ください。
[スナップショットから作成] を選択した場合は、[暗号化] を選択する前に、インスタンスファミリーとディスクカテゴリが要件を満たしている必要があることに注意してください。詳細については、このトピックの「制限」セクションをご参照ください。
API オペレーションの呼び出し
ECS インスタンスの作成時にクラウドディスクを暗号化する
RunInstances オペレーションを呼び出して ECS インスタンスを作成するときに、SystemDisk または DataDisk パラメーターの
Encrypted
とKMSKeyId
の値を指定して、システムディスクまたはデータディスクを暗号化できます。クラウドディスクの作成時にクラウドディスクを暗号化する
CreateDisk オペレーションを呼び出してデータディスクを作成するときに、
Encrypted
とKMSKeyId
の値を指定して、データディスクを暗号化できます。
既存の暗号化されていないクラウドディスクを暗号化されたクラウドディスクに変換する
既存のシステムディスクまたはデータディスクを暗号化するには、次のいずれかの方法を使用できます。
ECS コンソールの使用
システムディスクの暗号化
ECS インスタンスのイメージを作成します。詳細については、「インスタンスからカスタムイメージを作成する」をご参照ください。
イメージを暗号化されたイメージとしてコピーします。詳細については、「カスタムイメージのコピー」をご参照ください。
暗号化されたイメージに基づいてシステムディスクを暗号化します。
暗号化されたイメージを使用してソース ECS インスタンスのシステムディスクを置き換えると、ソース ECS インスタンスのシステムディスクは自動的に暗号化されます。詳細については、「インスタンスのオペレーティングシステムの置き換え」をご参照ください。
暗号化されたイメージを使用して ECS インスタンスを作成すると、新しい ECS インスタンスのシステムディスクとデータディスク (存在する場合) は自動的に暗号化されます。詳細については、「カスタムイメージを使用してインスタンスを作成する」をご参照ください。
データディスクの暗号化
データディスクのスナップショットを作成します。詳細については、「スナップショットの作成」をご参照ください。
スナップショットを暗号化されたスナップショットとしてコピーします。詳細については、「スナップショットのコピー」をご参照ください。
暗号化されたスナップショットからクラウドディスクを作成します。新しいクラウドディスクのデータは自動的に暗号化されます。詳細については、「スナップショットからディスクを作成する」をご参照ください。
作成した暗号化されたクラウドディスクをソース ECS インスタンスに接続します。詳細については、「データディスクの接続」をご参照ください。
OOS の使用
ACS-ECS-BulkyEncryptSystemDisk という名前の CloudOps Orchestration Service (OOS) によって提供されるパブリックテンプレートを使用して、複数の ECS インスタンスのシステムディスクを一度に暗号化できます。詳細については、「複数の ECS インスタンスのシステムディスクを一度に暗号化する」をご参照ください。
CloudOps Orchestration Service (OOS) は、Alibaba Cloud によって無料で提供される包括的で自動化された O&M サービスであり、クラウドでの O&M タスクの管理と実行に役立ちます。OOS は、O&M タスクの標準化プラットフォームとしても機能し、コードとして操作を実行できます。詳細については、「OOS とは」をご参照ください。OOSパブリックテンプレートについては、「パブリックテンプレート」をご参照ください。