AWS KMS(AWS Key Management Service)是一款提供安全管理和加密服务的云服务,用于管理数据加密所需的密钥。在AWS KMS中,CMK(Customer Master Key)是管理密钥的主要方式之一。CMK由一个密钥元素和与该元素相关联的密钥策略组成。
简单来说,密钥材料是生成CMK的原始数据,而CMK是由密钥材料生成的加密密钥。
下面是使用AWS SDK for Python实现创建CMK的示例代码:
import boto3
# 创建一个AWS KMS客户端
kms = boto3.client('kms')
# 创建CMK,指定描述和别名(可选)
response = kms.create_key(
Description='my customer master key for encryption',
KeyUsage='ENCRYPT_DECRYPT',
Origin='AWS_KMS',
KeySpec='AES_256',
BypassPolicyLockoutSafetyCheck=False,
Tags=[
{
'TagKey': 'Application',
'TagValue': 'Sample Application'
},
],
)
print(response)
创建CMK后,您可以使用该CMK加密和解密数据。CMK的使用与密钥材料无关。在使用AWS KMS时,您不必直接访问密钥材料。