내가 암시 적으로 데이터 암호화 키를 생성하고 암호화 얻기 위해 두 가지 이상의 영역을 추가 (사용 키 ID는 단지 구상이다) :일부 KMS 지역 마스터 키를 사용하여 데이터 키를 얻기 다음 동일한 데이터 키는 다음과 같이
from aws_encryption_sdk import encrypt
# Key provider with only 2 region master keys to begin with
kms_key_provider = KMSMasterKeyProvider(key_ids=[“west-1”, “west-2”])
# encrypt something random only to get the encrypted data keys in the header from those 2 regions
my_ciphertext, encryptor_header = encrypt(source=“somerandomplaintextofnorelevance”, key_provider= kms_key_provider, algorithm=AWSKeyProvider.DEFAULT_ALGORITHM, encryption_context={“somekey”: “some value”})
my_data_keys = []
for dek in encryptor_header.encrypted_data_keys:
my_data_keys.append(dek.encrypted_data_key)
my_data_keys (예 : DEK_enc_west_1 및 DEK_enc_west_2)에 두 개의 암호화 된 데이터 암호화 키 (DEK) 문자열을 얻습니다. 둘 다 단일 일반 데이터 암호화 키, 예를 들어 DEK_Plain으로 해독됩니다. 이제 중복성을 위해 영역 중 하나에서 DEK_Plain을 암호화/해독 할 수 있습니다.
그런 다음 east-1 및 east-2 영역에서 두 개의 마스터 키를 활성화합니다. 이제 동일한 두 DEK_Plain을 두 개의 새로운 영역 (east-1 & east-2) 마스터 키로 암호화하여 두 개의 새로운 암호화 된 데이터 키 (예 : DEK_enc_east_1 및 DEK_enc_east_2)를 얻길 바란다.
그래서 같은 새로운 완전히 형성 키 제공으로 :
kms_key_provider = KMSMasterKeyProvider(key_ids=[“west-1”, “west-2”, “east-1”, “east-2”])
내가 사용이 네 지역의에서 내 DEK_Plain를 얻을 수 있습니다 :
my_plain_data_key = kms_key_provider.decrypt_data_key_from_list(…..)
를 기본적으로 어떻게 추가 영역을 추가 할 수 있습니다 이전에 존재했던 다른 영역 마스터 키를 사용하여 이전에 생성 및 암호화 된 동일한 데이터 암호화 키에 대해 마스터 키를 활용할 수 있습니까?