Terraform 0.11 - aws_kms_secret

डेटा स्रोत: aws_kms_secret




terraform

डेटा स्रोत: aws_kms_secret

KMS गुप्त डेटा स्रोत आपको अपनी संसाधन परिभाषाओं में AWS KMS सेवा के साथ एन्क्रिप्टेड डेटा का उपयोग करने की अनुमति देता है।

कृपया ध्यान रखें कि संसाधन परिभाषाओं के बाहर अपने गुप्त डेटा को सुरक्षित रखें।

उदाहरण उपयोग

सबसे पहले, आइए AWS CLI टूल का उपयोग करते हुए KMS के साथ एक पासवर्ड एन्क्रिप्ट करें। इसके लिए आपको अपना AWS CLI सेटअप सही ढंग से करना होगा, और आप की-आईडी को अपने साथ बदल देंगे। यदि आपकी फ़ाइल के अंत में एक नया वर्ण है, तो रहस्य इस नई वर्ण विशेषता के साथ डिक्रिप्ट किया जाएगा। अधिकांश उपयोग-मामलों के लिए यह अवांछनीय है और गलत पासवर्ड या अमान्य मूल्यों की ओर जाता है, साथ ही साथ योजना में संभावित बदलाव भी करता है। वैकल्पिक रूप से आप एक फ़ाइल से पढ़ने के बजाय --plaintext 'password' उपयोग कर सकते हैं।

$ echo -n 'master-password' > plaintext-password
$ aws kms encrypt \
> --key-id ab123456-c012-4567-890a-deadbeef123 \
> --plaintext fileb://plaintext-password \
> --encryption-context foo=bar \
> --output text --query CiphertextBlob
AQECAHgaPa0J8WadplGCqqVAr4HNvDaFSQ+NaiwIBhmm6qDSFwAAAGIwYAYJKoZIhvcNAQcGoFMwUQIBADBMBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDI+LoLdvYv8l41OhAAIBEIAfx49FFJCLeYrkfMfAw6XlnxP23MmDBdqP8dPp28OoAQ==

अब, उस आउटपुट को लें और अपनी संसाधन परिभाषाओं में जोड़ें।

data "aws_kms_secret" "db" {
  secret {
    name    = "master_password"
    payload = "AQECAHgaPa0J8WadplGCqqVAr4HNvDaFSQ+NaiwIBhmm6qDSFwAAAGIwYAYJKoZIhvcNAQcGoFMwUQIBADBMBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDI+LoLdvYv8l41OhAAIBEIAfx49FFJCLeYrkfMfAw6XlnxP23MmDBdqP8dPp28OoAQ=="

    context {
      foo = "bar"
    }
  }
}

resource "aws_rds_cluster" "rds" {
  master_username = "root"
  master_password = "${data.aws_kms_secret.db.master_password}"

  # ...
}

और आपका RDS क्लस्टर रूट पासवर्ड "मास्टर-पासवर्ड" पर सेट होगा

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • secret - (आवश्यक) KMS सेवा से एक या अधिक एन्क्रिप्टेड पेलोड परिभाषाएँ। नीचे सीक्रेट परिभाषाएँ देखें।

गुप्त परिभाषाएँ

प्रत्येक गुप्त परिभाषा निम्नलिखित तर्कों का समर्थन करती है:

  • name - (आवश्यक) विशेषताओं के तहत इस रहस्य को निर्यात करने का नाम।
  • payload - (आवश्यक) बेस 64 एन्कोडेड पेलोड, जैसा कि केएमएस एनक्रिप्ट ओपेरशन से लौटाया जाता है।
  • context - (वैकल्पिक) एक वैकल्पिक मानचित्रण जो गुप्त के लिए एन्क्रिप्शन संदर्भ बनाता है।
  • grant_tokens (वैकल्पिक) गुप्त के लिए अनुदान टोकन की एक वैकल्पिक सूची।

context और grant_tokens बारे में अधिक जानकारी के लिए KMS अवधारणाओं को देखें

संदर्भ संदर्भित करता है

प्रत्येक secret परिभाषित को उसके name तहत एक शीर्ष-स्तरीय विशेषता के रूप में निर्यात किया जाता है।