टेराफ़ॉर्म aws_ssm_parameter मान कैसे छिपाएँ
मेरे पास एक SSM पैरामीटर है जो टाइप सिक्योरस्ट्रिंग और की-वैल्यू के साथ बनाया गया है (pasword = Passwor @ d123)। मैं डेटा संसाधनों का उपयोग करके मूल्य प्राप्त करने की कोशिश कर रहा हूं जहां मूल्य योजना आउटपुट में मुद्रित हो रहा है।
data "aws_ssm_parameter" "foo" {
name = "password"
}
module "lamda_env_vars" {
New_password = data.aws_ssm_parameter.foo.value
}
plan output:-
New_paswword = Password@123
मैंने नीचे की तरह एन्क्रिप्शन की कोशिश की।
data "aws_ssm_parameter" "foo" {
name = "password"
with_decryption = false
}
module "lambda_env_vars" {
New_password = data.aws_ssm_parameter.foo.value
}
plan output:-
New_password = Q#iuws##)9ssdhs(some encryptrd value)
यहाँ समस्या वही एन्क्रिप्टेड हैश कोड है जो मेरे लंबो फ़ंक्शन के मान के रूप में असाइन किया जा रहा है।
टेराफ़ॉर्मिंग योजना के दौरान मुखौटा मूल्य कैसे प्राप्त करें और मेरे लैम्ब्डा फ़ंक्शन के लिए सादा पाठ मूल्य प्राप्त करें?
जवाब
आम तौर पर आप बस एसएसबी के पैरामीटर के नामSecretString को अपने लैम्ब्डा फ़ंक्शन के एनवी चर के रूप में पास करेंगे। फिर लंबोदा समारोह इसे SSM पैरामीटर स्टोर से प्राप्त करेगा।
यदि आप दृष्टिकोण का उपयोग करना चाहते हैं with_decryption = false, तो आपके लैम्ब्डा फ़ंक्शन को वास्तव में अपने सादे पाठ संस्करण में सिफर पाठ को डिक्रिप्ट करने के लिए केएमएस डिक्रिप्ट एपीआई को कॉल करना होगा ।
दोनों ही मामलों में आपके फ़ंक्शन की निष्पादन भूमिका केएमएस और / या एसएसएम पैरामीटर स्टोर की अनुमति होनी चाहिए।