#aws-kms #aws-dms
#amazon-kms #aws-dms
Вопрос:
Пытаюсь использовать Lambda / Boto3 для изменения конечной точки.
Согласно документации:
response = client.modify_endpoint(
EndpointArn='string',
S3Settings={
'EncryptionMode': 'sse-s3'|'sse-kms',
'ServerSideEncryptionKmsKeyId': 'string',
}
Однако, когда я устанавливаю ‘sse-kms’ и передаю свой KeyID, я получаю эту ошибку обратно :
[ОШИБКА] Ошибка интерфейса: произошла ошибка (исключение InvalidParameterCombinationException) при вызове операции ModifyEndpoint: поддерживается только режим шифрования SSE_S3. Обратная трассировка (последний вызов): Файл «/var/task/main.py «, строка 16, в основном ответе = client.modify_endpoint( файл «/var/runtime/botocore/client.py «, строка 316, в _api_call возвращает self._make_api_call(operation_name, kwargs) файл «/var/runtime/botocore/client.py «, строка 635, в _make_api_call вызывает ошибку class(parsed_response, operation_name)
Вот мой полный лямбда:
def main(event,context):
client = boto3.client('dms')
response = client.modify_endpoint(
EndpointArn = 'arn:aws:dms:us-east-1:123456789012:endpoint:xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
ExtraConnectionAttributes = 'cdcPath=undefined',
S3Settings = {
'CompressionType': 'none',
'DataFormat': 'parquet',
'EncryptionMode': 'sse-kms',
'ServerSideEncryptionKmsKeyId': 'arn:aws:kms:us-east-1:772631637424:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
}
)
Комментарии:
1. Каков существующий режим шифрования? Используется ли она по умолчанию или sse-kms?
2. Если это SSE_S3, то вы не можете изменить его на SSE_KMS
3. Хорошо, спасибо. Я создавал конечную точку с помощью Terraform, но там много ошибок между s3_settings и extra_connection_attributes, кажется, я не могу создать это со всеми настройками, которые мне нужны. Может быть, я просто попробую создать всю конечную точку с помощью Boto.
Ответ №1:
Похоже, что вы создали или ваш существующий EncryptionMode конечной точки, для которого установлено значение SSE_S3. Согласно этому документу, вы не можете перейти с SSE_S3 на SSE_KMS.
Для операции ModifyEndpoint вы можете изменить существующее значение параметра EncryptionMode с SSE_KMS на SSE_S3. Но вы не можете изменить существующее значение с SSE_S3 на SSE_KMS.