https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html
为了使用CLI命令为CloudWatch所有日志组创建加密,需要单独的日志组名称。是否有一种方法来加密所有的日志组在CloudWatch一次使用一个命令?或者是否有一种使用CDK的方法?
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"
使用CLI或任何sdk,您可以获得所有日志组的列表,然后使用循环逐个加密。
对于python3 SDK (Boto3),这是关于descripbe_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'
)