Я пытаюсь зашифровать свою postgres строковую переменную подключения.
db_host = os.environ.get('db_host')
db_port = os.environ.get('db_port')
db_name =os.environ.get('db_name')
db_user =os.environ.get('db_user')
db_pass =os.environ.get('db_pass')
как видите, я использовал переменную среды, но хочу ее зашифровать.
У меня есть выяснил способ шифрования, он также проверял способ его расшифровки.
Лямбда-функция предложила приведенный ниже код.
import boto3
import os
from base64 import b64decode
ENCRYPTED = os.environ['db_host']
# Decrypt code should run once and variables stored outside of the function
# handler so that these are decrypted once per container
DECRYPTED = boto3.client('kms').decrypt(
CiphertextBlob=b64decode(ENCRYPTED),
EncryptionContext={'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}
)['Plaintext'].decode('utf-8')
def lambda_handler(event, context):
# TODO handle the event here
pass
Вопросы:
Могу ли я включить это в тот же файл .py, который содержит мою лямбда-функцию?
Это показывает расшифровку одной переменной. У меня есть несколько переменных, как мне реализовать это, чтобы все расшифровывались в одном go?
EncryptionContext = {'LambdaFunctionName': os.environ [ 'AWS_LAMBDA_FUNCTION_NAME']}) ['Открытый текст']. Decode ('utf-8')
Что такое {'LambdaFunctionName': os.environ['AWS_LAMBDA_FUNCTION_NAME']}