2015-09-16 3 views
4

Я только начал работать с услугами AWS, особенно AWS Lambda. Есть ли способ использовать сервис AWS KMS из кода Лямбды (Java). Я хотел бы использовать KMS для дешифрования секретного секретного (прочитанного из свойства). Мой Лямбда-код находится в java. Заранее спасибо.Как использовать AWS KMS в AWS lambda

+1

Разве это сработало для вас? Я пытаюсь сделать то же самое, но продолжаю зацикливаться на двух вещах: 1. Невозможно включить зашифрованный пароль во время выполнения. Единственное решение, которое я нашел, - создать дополнительные исходные каталоги и включить их в Leiningen на основе профиля. 2. При вызове KMS из лямбда моя функция зависает и истекает время (независимо от того, как долго я устанавливаю тайм-аут) – VincentDM

ответ

3

Да, это должно работать нормально.

Недавно я портировал API Node.js RESTful на Lambda и не нуждался в изменении кода KMS.

Вам просто нужно убедиться, что роль, которую выполняет ваша функция Lambda, имеет разрешения на ключ, который вы устанавливаете через AWS для использования с зашифрованными/дешифрованными вызовами.

+0

вы можете отправить образец фрагмента кода? – ZZzzZZzz

3

В Python:

with open('encrypted_pem.txt', 'r') as encrypted_pem: 
    pem_file = encrypted_pem.read() 

kms = boto3.client('kms', region_name=REGION) 
return kms.decrypt(CiphertextBlob=b64decode(pem_file))['Plaintext'] 

Взятые из AWS Labs Chef cleanup source.

В статье README of that repo объясняется, как шифровать файл PEM в первую очередь с использованием AWS KMS CLI.

Смежные вопросы