0

为了使用 CLI 命令为 CloudWatch 所有日志组创建加密,需要单独的日志组名称。有没有办法使用单个命令一次加密 CloudWatch 中的所有日志组?或者有没有办法使用CDK来做到这一点?

我遵循了以下 AWS 文档:
https ://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html

每次关联 KMS 密钥时都要求我提供单个组名。

aws logs associate-kms-key --log-group-name my-log-group --kms-key-id "key-arn"
4

1 回答 1

0

使用 CLI 或任何 SDK,您可以获得所有日志组的列表,然后使用循环一个一个地加密。

对于 python3 SDK (Boto3) ,这是有关 describe_log_groups函数的相关文档。您的最终代码应如下所示:

import boto3
client = boto3.client('logs')
response = client.describe_log_groups()
for log_group in response['logGroups']:
    client.associate_kms_key(
        logGroupName=log_group['logGroupName'],
        kmsKeyId='key-arn'
    )
于 2022-01-26T18:21:10.990 回答