Terraform 0.11 - IAM policy for GCE subnetwork

GCE सबनेटवर्क के लिए IAM नीति




terraform

GCE सबनेटवर्क के लिए IAM नीति

तीन अलग-अलग संसाधन आपको GCE सबनेटवर्क के लिए अपनी IAM नीति को प्रबंधित करने में मदद करते हैं। इन संसाधनों में से प्रत्येक एक अलग उपयोग के मामले में कार्य करता है:

  • google_compute_subnetwork_iam_policy : आधिकारिक। सबनेटवर्क के लिए IAM नीति सेट करता है और पहले से संलग्न किसी भी मौजूदा नीति को बदल देता है।
  • google_compute_subnetwork_iam_binding : किसी भूमिका के लिए आधिकारिक। सदस्यों की सूची में भूमिका प्रदान करने के लिए IAM नीति को अद्यतन करता है। सबनेटवर्क के लिए IAM नीति के भीतर अन्य भूमिकाएं संरक्षित हैं।
  • google_compute_subnetwork_iam_member : गैर-आधिकारिक। नए सदस्य को भूमिका देने के लिए IAM नीति को अद्यतन करता है। सबनेटवर्क के लिए भूमिका के लिए अन्य सदस्य संरक्षित हैं।

google_compute_subnetwork_iam_policy

data "google_iam_policy" "admin" {
  binding {
    role = "roles/editor"

    members = [
      "user:[email protected]",
    ]
  }
}

resource "google_compute_subnetwork_iam_policy" "subnet" {
    subnetwork  = "your-subnetwork-id"
    policy_data = "${data.google_iam_policy.admin.policy_data}"
}

google_compute_subnetwork_iam_binding

resource "google_compute_subnetwork_iam_binding" "subnet" {
  subnetwork = "your-subnetwork-id"
  role       = "roles/compute.networkUser"

  members = [
    "user:[email protected]",
  ]
}

गूगल \ compute_subnetwork_iam_member

resource "google_compute_subnetwork_iam_member" "subnet" {
  subnetwork = "your-subnetwork-id"
  role       = "roles/compute.networkUser"
  member     = "user:[email protected]"
}

तर्क संदर्भ

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

  • subnetwork - (आवश्यक) subnetwork का नाम।

  • member/members - (आवश्यक) पहचान जिन्हें role में विशेषाधिकार प्रदान किया जाएगा। प्रत्येक प्रविष्टि में निम्न मान हो सकते हैं:

    • allUsers : एक विशेष पहचानकर्ता जो इंटरनेट पर मौजूद किसी भी व्यक्ति का प्रतिनिधित्व करता है; Google खाते के साथ या उसके बिना।
    • allAuthenticatedUsers : एक विशेष पहचानकर्ता जो किसी ऐसे व्यक्ति का प्रतिनिधित्व करता है जो Google खाते या सेवा खाते से प्रमाणित होता है।
    • उपयोगकर्ता: {emailid} : एक ईमेल पता जो एक विशिष्ट Google खाते का प्रतिनिधित्व करता है। उदाहरण के लिए, [email protected] या [email protected]
    • serviceAccount: {emailid} : एक ईमेल पता जो एक सेवा खाते का प्रतिनिधित्व करता है। उदाहरण के लिए, [email protected]
    • समूह: {emailid} : एक ईमेल पता जो एक Google समूह का प्रतिनिधित्व करता है। उदाहरण के लिए, [email protected]
    • डोमेन: {domain} : एक Google Apps डोमेन नाम जो उस डोमेन के सभी उपयोगकर्ताओं का प्रतिनिधित्व करता है। उदाहरण के लिए, google.com या example.com।
  • role - (आवश्यक) वह भूमिका जिसे लागू किया जाना चाहिए। प्रति भूमिका केवल एक google_compute_subnetwork_iam_binding का उपयोग किया जा सकता है। ध्यान दें कि कस्टम भूमिकाएँ प्रारूप [projects|organizations]/{parent-name}/roles/{role-name} की होनी चाहिए।

  • policy_data - ( google_compute_subnetwork_iam_policy द्वारा केवल आवश्यक) एक google_iam_policy डेटा स्रोत द्वारा उत्पन्न नीति डेटा।

  • project - (वैकल्पिक) उस परियोजना की आईडी जिसमें संसाधन है। यदि यह प्रदान नहीं किया जाता है, तो प्रदाता परियोजना का उपयोग किया जाता है।

  • region - (वैकल्पिक) सबनेटवर्क का क्षेत्र। यदि अनिर्दिष्ट है, तो प्रदाता में कॉन्फ़िगर किए गए क्षेत्र में यह चूक है।

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

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

  • etag - (गणना) सबनेटवर्क की IAM नीति का etag।

आयात

सभी आयात सिंटैक्स के लिए, "प्रश्न में संसाधन" निम्नलिखित में से कोई भी रूप ले सकता है:

  • पूर्ण स्व लिंक या सापेक्ष लिंक (परियोजनाएं / {{प्रोजेक्ट}} / क्षेत्र / {{क्षेत्र}} / उपनिर्देशिका / {{}}})
  • {{परियोजना}} / {{क्षेत्र}} / {{नाम}}
  • {{क्षेत्र}} / {{नाम}} (परियोजना प्रदाता परियोजना से लिया गया है)
  • {{नाम}} (परियोजना और क्षेत्र प्रदाता परियोजना से लिए गए हैं)

IAM सदस्य आयात स्थान-सीमांकित पहचानकर्ताओं का उपयोग करते हैं; प्रश्न, भूमिका और खाता, जैसे संसाधन

$ terraform import google_compute_subnetwork_iam_member.subnet "project-name/region-name/subnetwork-name roles/compute.networkUser [email protected]"

IAM बाइंडिंग आयात अंतरिक्ष-सीमांकित पहचानकर्ताओं का उपयोग करता है; प्रश्न और भूमिका में संसाधन, उदा

$ terraform import google_compute_subnetwork_iam_binding.subnet "project-name/region-name/subnetwork-name roles/compute.networkUser"

IAM नीति आयात प्रश्न में संसाधन के पहचानकर्ता का उपयोग करते हैं, जैसे

$ terraform import google_compute_subnetwork_iam_policy.subnet project-name/region-name/subnetwork-name