Key Management Service (KMS) は、Alibaba Cloud サービスにデフォルトの暗号化を提供します。クラウドサービスが自動的に作成するサービスキー、または KMS で作成したキーのいずれかを使用できます。
KMS 暗号化と Alibaba Cloud サービスの統合のメリット
-
データセキュリティとプライバシー保護の強化
KMS は、ほとんどの Alibaba Cloud サービスでデータ暗号化を実現します。クラウドサービスの作成時、または作成後に暗号化を設定できます。KMS は、データベースエンジンによって生成されたファイルなど、クラウドサービスの使用中に生成されるデータに対してエンドツーエンドの暗号化を実行します。
-
カスタムデータ暗号化の構築に伴う開発コストの削減
カスタムデータ暗号化を構築するには、複雑なエンジニアリングおよびセキュリティ上の課題を解決する必要があります。KMS と統合されたクラウドサービスは、これらの課題に対処し、開発コストを削減します。
-
暗号化パフォーマンスとセキュリティのバランスを取るための適切なキー階層とデータパーティショニング戦略の設計。
-
キーのローテーションとデータの再暗号化の実装。
-
暗号化の専門知識を適用した適切な暗号化アルゴリズムの選択、および暗号化システムの堅牢性、セキュリティ、耐タンパー性の確保。
-
クラウドサービス暗号化でサポートされるキータイプ
KMS が提供するデフォルトキー、ソフトウェアで保護されたキー、およびハードウェアで保護されたキーはすべて、Alibaba Cloud サービスとの統合によるサーバー側の暗号化をサポートしています。詳細については、「KMS の概要」をご参照ください。
|
キー作成者 |
キータイプ |
キーマテリアルソース |
課金 |
説明 |
|
クラウドサービスによる作成 |
デフォルトキー (サービスキー) |
KMS によって生成されます。 |
無料。 |
各 Alibaba Cloud アカウントは、各リージョンのクラウドサービスごとに 1 つのサービスキーのみを保持できます。 |
|
ユーザーによる作成 |
デフォルトキー (マスターキー) |
サポートされる方法:
|
無料。 |
キーの作成後、クラウドサービスにキーの使用権限を付与する必要があります。詳細については、「Key Management Service のカスタムポリシーリファレンス」をご参照ください。 |
|
ソフトウェアで保護されたキー |
KMS によって生成されます。 |
有料。 |
||
|
ハードウェアで保護されたキー |
サポートされる方法:
|
有料。 |
クラウドサービスのサーバー側の暗号化でキーを使用する際のワークフロー
次の例は、クラウドサービスの購入時にサーバー側の暗号化用のキーを設定する方法を示しています。購入後に暗号化を設定することもできます。詳細な手順については、各クラウドサービスのドキュメントをご参照ください。
クラウドサービスの作成
これは、サービスキーのことです。既存のサービスキーは KMS コンソールで確認できます。
-
クラウドサービスの購入時に、KMS デフォルトキーを使用してサーバー側のデータを暗号化することを選択します。次の例は、Elastic Compute Service (ECS) インスタンスの購入を示しています。[システムディスク] 設定セクションで、[暗号化] チェックボックスをオンにし、キーのドロップダウンリストから [Default Service CMK] を選択します。
説明識別しやすくするために、サービスキーには
alias/acs/<クラウドサービスコード>の形式で特別なエイリアスが自動的に割り当てられます。たとえば、ECS 用に作成されたサービスキーには、alias/acs/ecsというエイリアスが付けられます。 -
KMS コンソールでクラウドサービスによって作成されたサービスキーを確認します。KMS コンソールの [デフォルトキー] タブで、キー仕様が
Aliyun_AES_256で、キーのステータスが [有効] であることを確認できます。説明-
Key UsageがService Keyに設定されているキーは、クラウドサービス用に作成されたキーです。
-
クラウドサービスは、お客様に代わってサービスキーのライフサイクルを管理します。KMS コンソールでサービスキーを有効化、無効化、またはその他の方法で管理することはできませんが、ActionTrail コンソールでその操作および使用状況のレコードを確認できます。
-
ユーザーによる作成
-
デフォルトキー (マスターキー)
-
KMS コンソールでマスターキーを有効にします。詳細については、「キー管理のクイックスタート」をご参照ください。
例えば、マスターキーのエイリアスは
alias/byokです。 -
クラウドサービスの購入時に、デフォルトキー (マスターキー) を使用してサーバー側のデータを暗号化することを選択します。
次の例では、ECS インスタンスを購入します。[システムディスク] 設定セクションで、[暗号化] をオンにし、キーのドロップダウンリストからユーザーが作成したキー ([alias/byok] など) を選択します。
-
-
ソフトウェアで保護されたキー
-
ソフトウェアキー管理インスタンスを購入します。詳細については、「KMS インスタンスの購入と有効化」をご参照ください。
-
KMS コンソールでキーを作成します。詳細については、「キー管理のクイックスタート」をご参照ください。
-
クラウドサービスの購入時に、ソフトウェアで保護されたキーを使用してサーバー側のデータを暗号化することを選択します。
-
-
ハードウェアで保護されたキー
-
ハードウェアキー管理インスタンスを購入します。詳細については、「KMS インスタンスの購入と有効化」をご参照ください。
-
KMS コンソールでキーを作成します。詳細については、「キー管理のクイックスタート」をご参照ください。
-
クラウドサービスの購入時に、ハードウェアで保護されたキーを使用してサーバー側のデータを暗号化することを選択します。
-
クラウドサービスの暗号化統合方法
暗号化設計の実装は、クラウドサービスによって若干異なります。通常、クラウドサービスはエンベロープ暗号化を使用してデータを保護します。KMS がデータキーを暗号化し、データキーが実際のビジネスデータを暗号化します。

-
KMS でキーを作成します。
-
KMS GenerateDataKey API を呼び出して、データキーをリクエストします。
-
KMS は、プレーンテキスト版と暗号文版の両方を含むデータキーを返します。暗号文は、指定された KMS キーでプレーンテキストデータキーを暗号化することによって生成されます。
-
クラウドサービスは、プレーンテキストデータキーを使用してプレーンテキストデータを暗号化します。次に、暗号化されたデータキー (KMS によって暗号化) と暗号化されたデータ (データキーを使用してクラウドサービスによって暗号化) を永続ストレージに一緒に保存します。
-
エンベロープ暗号化では、「エンベロープ」は概念的に暗号化されたデータキーと暗号化されたデータを一緒にパッケージ化することを指します。
-
KMS は、セキュアなチャネルを介してデータキーをクラウドサービスに安全に送信します。プレーンテキストデータキーは、クラウドサービスのメモリ内にのみ存在し、永続ストレージにプレーンテキストで保存されることはありません。
アクセス制御
KMS は Resource Access Management (RAM) を使用して、クラウドサービスが特定のキーを使用する権限を持っているかどうかを検証します。クラウドサービスの RAM 認可ガイドに従うか、RAM でアクセスポリシーを設定することで、アクセスを許可または拒否できます。詳細については、「Key Management Service のカスタムポリシーリファレンス」をご参照ください。
監査
ActionTrail を使用して、クラウドサービスがお客様のキーをどのように使用しているかを監査できます。詳細については、「ActionTrail を使用した KMS 操作イベントのクエリ」をご参照ください。