CloudMonitor 2.0 は、サービスデータとアプリケーションデータを Log Service (SLS) に保存します。Log Service は、Key Management Service (KMS) を使用してデータを暗号化することで、保存データを保護します。このドキュメントでは、Log Service におけるデータ暗号化の仕組みと、KMS を使用したデータ暗号化の方法について説明します。
前提条件
KMS を有効化する必要があります。詳細については、「専用 KMS インスタンスの購入」をご参照ください。
データ暗号化の仕組み
Log Service は、次の 2 つの暗号化方式をサポートしています。
SLS サービスキー
機能:
シンプル:追加の操作は不要です。Log Service が暗号化とキー管理の両方を処理するため、管理の負担が軽減されます。
キーの分離:LogStore ごとに固有のデータ暗号化キーが生成され、データセキュリティが向上します。
耐久性:これらのデータ暗号化キーは無期限で有効であり、暗号化されたデータの長期的な安定性と可用性を保証します。
サポートされる暗号化アルゴリズム:AES (デフォルト) および SM4。
ユースケース:
キーを自分で管理することなく、データ暗号化を迅速に導入したい場合。
特定のキー管理要件がなく、プロバイダーが管理するソリューションを希望する場合。
データ暗号化キーの長期的な有効性と安定性が必要な場合。
最適な対象:
キー管理の複雑さを避けて、セキュアでシンプルなログ暗号化ソリューションを求める中小企業や個人ユーザー。
Bring Your Own Key (BYOK)
機能:
制御:キーの作成、ローテーション、削除を含むキーライフサイクル全体を完全に制御できます。
柔軟性:必要に応じてキーを簡単に更新または置き換えることができ、セキュリティと運用の柔軟性が向上します。
プロアクティブな管理:キーを積極的に管理する必要があり、KMS コンソールでカスタマーマスターキー (CMK) を作成し、その使用権限を付与する必要があります。
ユースケース:
組織に、暗号化キーの制御を義務付ける厳格なセキュリティまたはコンプライアンス要件がある場合。
高いセキュリティ基準を満たすために、暗号化キーをプロアクティブに管理およびローテーションする必要がある場合。
キーの侵害やその他のセキュリティリスクが発生した場合に、データを保護するためにキーを迅速に置き換えまたは削除する必要がある場合。
最適な対象:
厳格なデータ保護要件、カスタムキー管理ポリシー、専任のキー管理チームを持つ大企業や金融機関。
カスタマーマスターキー (CMK) を削除または無効化すると、BYOK キーが無効になります。
その結果、LogStore へのすべての読み取りおよび書き込みリクエストが失敗します。
制限事項
一度選択すると、LogStore の暗号化方式、アルゴリズム、またはタイプを変更することはできません。暗号化の有効化または無効化には、enable パラメータのみを使用できます。LogStore を更新する際は、すべてのリクエストに完全な encrypt_conf パラメータを含める必要があります。
たとえば、最初に SLS 管理のサービスキーによる暗号化を選択した場合、後で Bring Your Own Key (BYOK) 方式に切り替えることはできません。
SLS サービスキーによる暗号化
CreateLogStore API を呼び出して LogStore を作成する場合、または UpdateLogStore API を呼び出して LogStore を変更する場合は、encrypt_conf パラメーターを追加して暗号化を設定します。
次の表に、encrypt_conf パラメータの構造を示します。この暗号化方式では、user_cmk_info パラメータを指定しないでください。
パラメータ | タイプ | 説明 | 例 |
encrypt_conf | Object | 暗号化設定のデータ構造。 | |
enable | Boolean | データ暗号化を有効にするかどうかを指定します。
| true |
encrypt_type | String | 暗号化アルゴリズムのタイプ。指定可能な値: default、sm4、sm4_ecb、sm4_cbc、sm4_gcm、aes_ecb、aes_cbc、aes_cfb、aes_ofb、aes_gcm。 | default |
user_cmk_info | このパラメータを指定すると、Bring Your Own Key (BYOK) が使用されます。指定しない場合は、SLS サービスキーが使用されます。 | { "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx", "arn" : "acs:ram::13234:role/logsource", "region_id" : "cn-hangzhou" } |
Bring Your Own Key (BYOK) による暗号化
前提条件
KMS を有効化する必要があります。詳細については、「専用 KMS インスタンスの購入」をご参照ください。
ステップ 1: BYOK 権限の付与
BYOK 暗号化を使用するには、まず Resource Access Management (RAM) で必要な権限を付与する必要があります。
RAM コンソールにログインします。
信頼された Alibaba Cloud サービス用の RAM ロールを作成し、次のように設定します。
[Role Type] で [Normal Service Role] を選択します。[Role Name] を
KMS-TESTに設定します。[Select Trusted Service] で [Log Service] を選択します。RAM ロールに AliyunKMSReadOnlyAccess および AliyunKMSCryptoUserAccess 権限を付与します。詳細については、「RAM ロールの権限管理」をご参照ください。
ram:PassRole権限を付与します。Alibaba Cloud アカウントを使用して BYOK 暗号化を設定する場合は、この手順をスキップできます。RAM ユーザーを使用する場合は、カスタム権限ポリシーを作成し、RAM ユーザーの権限を管理してポリシーをアタッチする必要があります。次のポリシーの
Resource値は、作成する RAM ロールの ARN に置き換える必要があります。ロールを次のように設定します。「ロールタイプ」で「通常のサービスロール」を選択し、「ロール名」に「KMS-TEST」と入力して、信頼できるサービスとして「Log Service」を選択します。ロール ARN の表示方法の詳細については、「RAM ロールと STS トークンの FAQ」をご参照ください。{"Version": "1","Statement": [{"Effect": "Allow","Action": "ram:PassRole","Resource": "acs:ram::<account-id>:role/<role-name>"}]}
ステップ 2: データ暗号化の設定
重要
設定後、暗号化アルゴリズムや暗号化タイプを変更することはできません。暗号化の有効化または無効化には、enable パラメータのみを使用できます。LogStore を更新する際は、すべてのリクエストに完全な encrypt_conf パラメータを含める必要があります。
既存の LogStore に対してデータ暗号化を有効にするには、UpdateLogStore API を呼び出し、encrypt_conf パラメータを含めてください。
UpdateLogStore を呼び出す前に、まず GetLogStore を呼び出して現在の LogStore 設定を取得する必要があります。この設定を変更してから、UpdateLogStore 呼び出しに渡します。
次の表に、encrypt_conf パラメータの構造を示します。この暗号化方式では、user_cmk_info パラメータを指定する必要があります。
パラメータ | タイプ | 説明 | 例 |
encrypt_conf | Object | 暗号化設定のデータ構造。 | |
enable | Boolean | データ暗号化を有効にするかどうかを指定します。
| true |
encrypt_type | String | 暗号化アルゴリズムのタイプ。指定可能な値: default、sm4、sm4_ecb、sm4_cbc、sm4_gcm、aes_ecb、aes_cbc、aes_cfb、aes_ofb、aes_gcm。 | default |
user_cmk_info | このパラメータを指定すると、Bring Your Own Key (BYOK) が使用されます。指定しない場合は、SLS サービスキーが使用されます。 | { "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx", "arn" : "acs:ram::13234:role/logsource", "region_id" : "cn-hangzhou" } |
EncryptUserCmkConf データ構造
パラメータ | タイプ | 説明 | 例 |
user_cmk_info | Object | ユーザー暗号化設定のデータ構造。 | |
cmk_key_id | String | BYOK で使用するカスタマーマスターキー (CMK) の ID。 | f5136b95-2420-ab31-xxxxxxxxx |
arn | String | ステップ 1: BYOK 権限の付与で作成した RAM ロールの ARN。 | acs:ram::13234:role/logsource |
region_id | String | CMK が配置されているリージョン ID。 | cn-hangzhou |
encrypt_conf = {"enable" : True, # 暗号化を有効にするかどうかを指定します。
"encrypt_type" : "default", # 暗号化アルゴリズム。指定可能な値については、上記の表のパラメータ説明をご参照ください。
"user_cmk_info" : # BYOK を使用する場合に指定します。指定しない場合は、SLS サービスキーが使用されます。
{"cmk_key_id" : "" # BYOK 用の CMK ID。例: f5136b95-2420-ab31-xxxxxxxxx。
"arn" : "" # ステップ 1 で作成した RAM ロールの ARN。
"region_id" : "" # CMK が配置されているリージョン ID。
}}関連ドキュメント
詳細については、次の API 操作をご参照ください。