Cloud Firewallのログ分析機能を使用して収集されたログを暗号化して保存する場合は、Simple log serviceが提供するサービスキーを使用するか、Bring Your Own Key (BYOK) キーを使用できます。 このトピックでは、ログを暗号化する方法について説明します。
データ暗号化メカニズム
Simple Log Serviceは、次の暗号化タイプをサポートしています。
サービスキーを使用した暗号化
Log serviceは、Logstoreごとに独立したサービスキーを生成します。 サービスキーの有効期限はありません。
Simple Log Serviceは、AES (Advanced Encryption Standard) およびSM4暗号化アルゴリズムをサポートしています。
Bring Your Own Key (BYOK) キーを使用した暗号化
KMSコンソールでCMKを作成し、Simple Log Serviceに関連する権限を付与できます。 Simple Log ServiceがKMS APIを呼び出すと、このCMKはデータの暗号化に使用されるキーを作成するために使用されます。 CMKを削除または無効にすると、対応するBYOKキーが無効になります。
重要KMSコンソールで作成されたCMKが無効になると、Logstoreへのすべての読み取りおよび書き込み要求が失敗します。
制限事項
初めてデータ暗号化設定を構成するときは、データ暗号化メカニズムを選択できます。 設定後、データ暗号化メカニズムを変更したり、暗号化アルゴリズムや暗号化タイプを変更したりすることはできません。 データ暗号化を有効または無効にするには、enableパラメーターのみを設定できます。 Logstoreを更新するたびに、encrypt_confパラメーターの完全な設定を追加する必要があります。
たとえば、Simple Log serviceが提供するサービスキーを使用して暗号化を初めて選択した場合、BYOKキーを使用して暗号化に切り替えることはできません。
サービスキーを使用した暗号化
CreateLogStoreを呼び出してLogstoreを作成する場合、またはUpdateLogStoreを呼び出してLogstoreを変更する場合は、encrypt_confパラメーターを追加して暗号化設定を構成します。 詳細については、「CreateLogStore」または「UpdateLogStore」をご参照ください。
次の表に、encrypt_confパラメーターのフィールドを示します。 user_cmk_infoフィールドを指定しないでください。
パラメーター | データ型 | 説明 | 例: |
object | 暗号化設定のデータ構造。 | ||
enable | Boolean | データ暗号化を有効にするかどうかを指定します。 有効な値:
| true |
encrypt_type | String | 暗号化アルゴリズム。 有効な値: defaultおよびsm4。 enableがtrueに設定されている場合、このパラメーターを設定する必要があります。 | default |
user_cmk_info | オプションです。 このパラメーターを設定すると、BYOKキーが使用されます。 このパラメーターを設定しない場合、Simple Log serviceのサービスキーが使用されます。 | { "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx" "arn" : "acs:ram::13234:role/logsource" "region_id" : "cn-hangzhou" } |
BYOKキーを使用した暗号化
前提条件
キー管理サービス (KMS) が有効化されています。 詳細については、「専用KMSインスタンスの購入」をご参照ください。
手順1: Simple Log ServiceによるKMSへのアクセス許可
BYOKキーを使用してデータを暗号化する前に、Simple Log ServiceにKMSへのアクセスを許可する必要があります。
RAMコンソールにログインします。
RAMロールを作成します。 詳細については、「手順1: RAMロールの作成」をご参照ください。
RAMロールの信頼ポリシーを変更します。 詳細については、「RAMロールの信頼ポリシーの編集」をご参照ください。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }AliyunKMSReadOnlyAccessおよびAliyunKMSCryptoUserAccess権限をRAMロールに付与します。 詳細については、「RAMロールへの権限の付与」をご参照ください。

RAMユーザーを使用してBYOKキーを使用してデータを暗号化する前に、PassRole権限をRAMユーザーに付与する必要があります。 RAMユーザーにPassRole権限を付与するには、カスタムポリシーを作成し、そのポリシーをRAMユーザーにアタッチします。 詳細については、「カスタムポリシーの作成」および「RAMユーザーへの権限付与」をご参照ください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram::*" # The Alibaba Cloud Resource Name (ARN) of the RAM role. For more information, see How do I obtain the ARN of a RAM role? } ] }
手順2: Logstoreのデータ暗号化の設定
ログ分析機能を有効にすると、システムは専用プロジェクトと専用ログストアを自動的に作成します。 UpdateLogStore操作を呼び出してデータを暗号化し、encrypt_confパラメーターを追加して暗号化設定を構成する必要があります。
UpdateLogStore操作を呼び出す前に、GetLogStore操作を呼び出して、Logstoreの元の設定を取得する必要があります。 設定を変更した後、変更後の設定をUpdateLogStore操作に追加します。
次の表に、encrypt_confパラメーターのフィールドを示します。 user_cmk_infoパラメーターを設定する必要があります。
パラメーター | データ型 | 説明 | 例: |
object | 暗号化設定のデータ構造。 | ||
enable | Boolean | データ暗号化を有効にするかどうかを指定します。 有効な値:
| true |
encrypt_type | String | 暗号化アルゴリズム。 有効な値: defaultおよびsm4。 enableがtrueに設定されている場合、このパラメーターを設定する必要があります。 | default |
user_cmk_info | オプションです。 このパラメーターを設定すると、BYOKキーが使用されます。 このパラメーターを設定しない場合、Simple Log serviceのサービスキーが使用されます。 | { "cmk_key_id" : "f5136b95-2420-ab31-xxxxxxxxx" "arn" : "acs:ram::13234:role/logsource" "region_id" : "cn-hangzhou" } |
EncryptUserCmkConfのデータ構造
パラメーター | データ型 | 説明 | 例: |
object | ユーザー定義の暗号化設定のデータ構造。 | ||
cmk_key_id | String | 持参キー (BYOK) タイプのカスタマーマスターキー (CMK) のID。 | f5136b95-2420-ab31-xxxxxxxxx |
arn | String | リソースアクセス管理 (RAM) ロールのAlibaba Cloudリソース名 (ARN) 。 | acs:ram::13234:role/logsource |
region_id | String | CMKが存在するリージョンのID。 | cn-杭州 |
encrypt_conf = {
"enable" : True, # Specifies whether data encryption is enabled.
"encrypt_type" : "default"# The encryption algorithm. Valid values: default and m4.
"user_cmk_info" : # Optional parameter. If you configure this parameter, the BYOK key is used. If you do not configure this parameter, the service key is used.
{
"cmk_key_id" : "" # The ID of the CMK to which the BYOK key belongs, for example, f5136b95-2420-ab31-xxxxxxxxx.
"arn" : "" # The ARN of the RAM role. For more information, see How do I obtain the ARN of a RAM role?
"region_id" : "" # The ID of the region where the CMK resides.
}
}関連ドキュメント
詳細については、Simple Log Serviceの次の操作を参照してください。