Terraform 0.11

google_service_account_key




terraform

google_service_account_key

सेवा खाता कुंजी-जोड़े बनाता है और प्रबंधित करता है, जो उपयोगकर्ता को GCP के बाहर सेवा खाते की पहचान स्थापित करने की अनुमति देता है। अधिक जानकारी के लिए, आधिकारिक दस्तावेज और API

उदाहरण उपयोग, एक नई कुंजी जोड़ी बनाना

resource "google_service_account" "myaccount" {
  account_id = "myaccount"
  display_name = "My Service Account"
}

resource "google_service_account_key" "mykey" {
  service_account_id = "${google_service_account.myaccount.name}"
  public_key_type = "TYPE_X509_PEM_FILE"
}

उदाहरण उपयोग, कुबेरनेट्स गुप्त में कुंजी सहेजें

resource "google_service_account" "myaccount" {
  account_id   = "myaccount"
  display_name = "My Service Account"
}

resource "google_service_account_key" "mykey" {
  service_account_id = "${google_service_account.myaccount.name}"
}

resource "kubernetes_secret" "google-application-credentials" {
  metadata {
    name = "google-application-credentials"
  }
  data {
    credentials.json = "${base64decode(google_service_account_key.mykey.private_key)}"
  }
}

नई कुंजी जोड़ी बनाएँ, PGP कुंजी के साथ निजी कुंजी को एन्क्रिप्ट करना

resource "google_service_account" "myaccount" {
  account_id = "myaccount"
  display_name = "My Service Account"
}

resource "google_service_account_key" "mykey" {
  service_account_id = "${google_service_account.myaccount.name}"
  pgp_key = "keybase:keybaseusername"
  public_key_type = "TYPE_X509_PEM_FILE"
}

तर्क संदर्भ

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

  • service_account_id - (आवश्यक) कुंजी जोड़ी की सेवा खाता आईडी। यह प्रारूप {ACCOUNT} या projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT} में एक स्ट्रिंग हो सकता है, जहां {ACCOUNT} सेवा खाते का ईमेल पता या अद्वितीय आईडी है। यदि {ACCOUNT} सिंटैक्स का उपयोग किया जाता है, तो परियोजना को खाते से हटा दिया जाएगा।

  • key_algorithm एल्गोरिदम - (वैकल्पिक) कुंजी उत्पन्न करने के लिए उपयोग किया जाने वाला एल्गोरिदम। KEY_ALG_RSA_2048 डिफ़ॉल्ट एल्गोरिथ्म है। मान्य मान ServiceAccountPrivateKeyType पर सूचीबद्ध हैं (केवल बनाने पर उपयोग किए गए)

  • public_key_type (वैकल्पिक) सार्वजनिक कुंजी के आउटपुट स्वरूप का अनुरोध किया गया। X509_PEM डिफ़ॉल्ट आउटपुट स्वरूप है।

  • private_key_type (वैकल्पिक) निजी कुंजी का आउटपुट स्वरूप। TYPE_GOOGLE_CREDENTIALS_FILE डिफ़ॉल्ट आउटपुट स्वरूप है।

  • pgp_key - (वैकल्पिक) परिणामी निजी कुंजी सामग्री को एन्क्रिप्ट करने के लिए एक वैकल्पिक PGP कुंजी। केवल एक नई कुंजी जोड़ी बनाते या आयात करते समय उपयोग किया जाता है। या तो बेस 64-एनकोडेड सार्वजनिक कुंजी या keybase:keybaseusername वॉल्ट में ऊपर की ओर देखने के लिए keybase:keybaseusername स्ट्रिंग।

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

निम्नलिखित विशेषताओं को ऊपर सूचीबद्ध तर्कों के अतिरिक्त निर्यात किया गया है:

  • name - इस प्रमुख जोड़ी के लिए प्रयुक्त नाम

  • public_key - सार्वजनिक कुंजी, base64 एन्कोडेड

  • private_key - JSON प्रारूप में निजी कुंजी, base64 एन्कोडेड। यह वही है जो आप आम तौर पर सीएलआई या वेब कंसोल के माध्यम से सेवा खाता कुंजी बनाते समय एक फ़ाइल के रूप में प्राप्त करते हैं। यह केवल एक नई कुंजी बनाते समय आबादी है, और जब कोई pgp_key प्रदान नहीं किया pgp_key है।

  • private_key_encrypted - निजी कुंजी सामग्री, बेस 64 दिए गए pgp_key साथ एन्कोड और एन्क्रिप्ट किया गया है। यह केवल तब बनाया जाता है जब एक नई कुंजी और pgp_key की आपूर्ति की जाती है

  • private_key_fingerprint - एन्क्रिप्टेड निजी कुंजी के लिए MD5 सार्वजनिक कुंजी फिंगरप्रिंट। यह केवल तब बनाया जाता है जब एक नई कुंजी और pgp_key की आपूर्ति की जाती है

  • valid_after - इस टाइमस्टैम्प के बाद कुंजी का उपयोग किया जा सकता है। RFC3339 UTC "ज़ुलु" प्रारूप में एक टाइमस्टैम्प, नैनोसेकंड के लिए सटीक। उदाहरण: "2014-10-02T15: 01: 23.045123456Z"।

  • valid_before - इस टाइमस्टैम्प से पहले कुंजी का उपयोग किया जा सकता है। RFC3339 UTC "ज़ुलु" प्रारूप में एक टाइमस्टैम्प, नैनोसेकंड के लिए सटीक। उदाहरण: "2014-10-02T15: 01: 23.045123456Z"।