Terraform 0.11 - IAM policy for Google storage bucket

Google संग्रहण बाल्टी के लिए IAM नीति




terraform

Google संग्रहण बाल्टी के लिए IAM नीति

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

  • google_storage_bucket_iam_binding : किसी भूमिका के लिए आधिकारिक। सदस्यों की सूची में भूमिका प्रदान करने के लिए IAM नीति को अद्यतन करता है। भंडारण बाल्टी के लिए IAM नीति के भीतर अन्य भूमिकाएं संरक्षित हैं।
  • google_storage_bucket_iam_member : गैर-आधिकारिक। नए सदस्य को भूमिका देने के लिए IAM नीति को अद्यतन करता है। भंडारण बाल्टी के लिए भूमिका के लिए अन्य सदस्य संरक्षित हैं।
  • google_storage_bucket_iam_policy : नीति सेट करने से बाल्टी पर अन्य सभी अनुमतियाँ निकल जाती हैं, और यदि गलत तरीके से किया जाता है, तो एक वास्तविक मौका है कि आप खुद को बाल्टी से बाहर निकाल देंगे। यदि आपके उपयोग के मामले में, कई google_storage_bucket_iam_binding संसाधनों का उपयोग करना अधिक सुरक्षित होगा। नीति के साथ सही तरीके से काम करने के तरीके पर उपयोग उदाहरण देखें।

google_storage_bucket_iam_binding

resource "google_storage_bucket_iam_binding" "binding" {
  bucket = "your-bucket-name"
  role        = "roles/storage.objectViewer"

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

google_storage_bucket_iam_member

resource "google_storage_bucket_iam_member" "member" {
  bucket = "your-bucket-name"
  role        = "roles/storage.objectViewer"
  member      = "user:[email protected]"
}

google_storage_bucket_iam_policy

एक नीति लागू करते समय जो नीचे सूचीबद्ध भूमिकाओं को शामिल नहीं करती है, आप डिफ़ॉल्ट अनुमतियों को खो देते हैं जो Google आपकी बाल्टी में जोड़ता है: * roles/storage.legacyBucketReader

यदि यह केवल roles/storage.admin साथ एक इकाई होता है। विशेषाधिकारों से इस बाल्टी की नीतियों की मरम्मत की जा सकती है। अन्य दो विकल्पों के समान व्यवहार पाने के लिए नीतियों में उपरोक्त भूमिकाओं को शामिल करने की सिफारिश की गई है।

data "google_iam_policy" "foo-policy" {
  binding {
    role = "roles/your-role"

    members = [ "group:[email protected]" ]
  }
}

resource "google_storage_bucket_iam_policy" "member" {
  bucket = "your-bucket-name"
  policy_data = "${data.google_iam_policy.foo-policy.policy_data}"
}

तर्क संदर्भ

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

  • bucket - (आवश्यक) यह जिस बाल्टी पर लागू होता है उसका नाम है।

  • 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 - (आवश्यक) वह भूमिका जिसे लागू किया जाना चाहिए। ध्यान दें कि कस्टम भूमिकाएँ प्रारूप [projects|organizations]/{parent-name}/roles/{role-name} की होनी चाहिए।

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

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

  • etag - ( etag ) स्टोरेज बकेट IAM पॉलिसी का etag।