AWS Lambda関数の中には、os環境で機密情報を探すライブラリがいくつかあります。私はKMSを使用して環境変数を暗号化できますが、ラムダハンドラモジュールで暗号化された環境変数を上書きしなければならないことが判明しました。これは脆弱性ですか?例えば。AWS Lambda関数内の環境変数を解読して設定することは脆弱ですか?
# lambda_handler.py
encrypted_env_var = os.environ["SECRET_KEY"]
decrypted_env_var = decrypt(encrypted_env_var)
os.environ["SECRET_KEY"] = decrypted_env_var
def lambda_function(event, context):
... libs get and use SECRET_KEY ...
私はそれらの暗号化があなたをカバーすると理解します。 awscliを使用しているときに、コンテナ内にこれを設定することは脆弱ですか? hereからわかるように、コンテナはすぐに破棄されないかもしれません。
さらに、提案復号化コードでAWSが(ラムダダッシュボードに)あなたを与えることスニペット、コメントは私の注意を引いた:
# lambda_handler.py
ENCRYPTED = os.environ['SECRET_KEY']
# 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))['Plaintext']
def lambda_handler(event, context):
# handle the event here
(乱雑が)、それは十分であるだけで解除に関連する変数関数の終わりに?
おかげ