AWS Lambda 암호화 도우미를 사용하여 AWS Key Management Service(AWS KMS)의 환경 변수를 해독하려고 했는데 “InvalidCiphertextException” 오류가 발생했습니다.
간략한 설명
AWS KMS API 작업 오류 InvalidCiphertextException은 Lambda가 환경 변수를 암호화하는 방법을 업데이트했기 때문에 암호 해독 요청이 실패했음을 나타냅니다. Lambda는 함수 이름을 암호화 호출을 수행한 암호화 컨텍스트로 AWS KMS에 전달합니다. 이 변경 전에 생성된 암호 해독 함수의 경우 암호 해독 코드를 업데이트하고 Lambda 함수 이름을 암호화 컨텍스트로 전달해야 합니다.
해결 방법
암호화 컨텍스트가 있는 특정 SDK의 AWS KMS에 대한 암호 해독 호출이 포함된 코드를 가져오려면 다음 단계를 완료하세요.
- Lambda 콘솔을 연 다음 함수를 선택합니다.
- 함수 이름에서 Lambda 함수를 선택한 다음 구성 탭을 선택합니다.
- 환경 변수에서 편집을 선택한 다음 환경 변수 추가을 선택합니다.
- 키와 값을 입력한 다음 암호화 구성을 펼칩니다.
- 전송 중 암호화 도우미 사용을 선택한 다음 암호화를 선택합니다.
- 비밀 코드 조각 해독을 확장한 다음 다음과 유사한 코드 조각을 입력합니다.
DECRYPTED = boto3.client('kms').decrypt( CiphertextBlob=b64decode(ENCRYPTED),
EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')
앞의 코드 조각을 사용하여 암호화 도우미로 암호화된 새 환경 변수를 암호 해독합니다.
새 환경 변수와 함께 작동하도록 이전 환경 변수를 다시 암호화해야 합니다.
자세한 내용은 AWS Lambda 환경 변수 사용을 참조하세요.
관련 정보
AWS KMS API를 직접 호출할 때 연결된 데이터 암호화와 함께 인증된 암호화가 사용되는지 확인하려면 어떻게 해야 하나요?