Terraform 0.11

aws_iam_role




terraform

aws_iam_role

एक IAM भूमिका प्रदान करता है।

उदाहरण उपयोग

resource "aws_iam_role" "test_role" {
  name = "test_role"

  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
EOF
}

तर्क संदर्भ

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

  • name - (वैकल्पिक, नए संसाधन बल) भूमिका का नाम। यदि छोड़ दिया जाता है, तो Terraform एक यादृच्छिक, अद्वितीय नाम निर्दिष्ट करेगा।
  • name_prefix - (वैकल्पिक, नए संसाधन) निर्दिष्ट उपसर्ग के साथ एक अद्वितीय नाम की शुरुआत करता है। name साथ संघर्ष।
  • assume_role_policy - (आवश्यक) वह नीति जो किसी इकाई को भूमिका मानने की अनुमति देती है।
  • force_detach_policies - (वैकल्पिक) किसी भी नीतियों को नष्ट करने से पहले भूमिका को लागू करने के लिए बाध्य करने के लिए निर्दिष्ट करता है। false अवहेलना करता false
  • path - (वैकल्पिक) भूमिका का पथ। अधिक जानकारी के लिए IAM पहचानकर्ता देखें।
  • description - (वैकल्पिक) भूमिका का विवरण।

  • max_session_duration - (वैकल्पिक) अधिकतम सत्र अवधि (सेकंड में) जिसे आप निर्दिष्ट भूमिका के लिए सेट करना चाहते हैं। यदि आप इस सेटिंग के लिए कोई मान निर्दिष्ट नहीं करते हैं, तो अधिकतम एक घंटे का डिफ़ॉल्ट लागू होता है। इस सेटिंग का मान 1 घंटे से लेकर 12 घंटे तक हो सकता है।

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

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • arn - अमेज़न संसाधन नाम (ARN) भूमिका निर्दिष्ट करता है।
  • create_date - IAM भूमिका की निर्माण तिथि।
  • unique_id - भूमिका की पहचान करने वाला स्थिर और अद्वितीय स्ट्रिंग।
  • name - भूमिका का नाम।
  • description - भूमिका का विवरण।

एसम रोल पॉलिसी के लिए डेटा स्रोत का उपयोग करने का उदाहरण

data "aws_iam_policy_document" "instance-assume-role-policy" {
  statement {
    actions = ["sts:AssumeRole"]

    principals {
      type        = "Service"
      identifiers = ["ec2.amazonaws.com"]
    }
  }
}

resource "aws_iam_role" "instance" {
  name               = "instance_role"
  path               = "/system/"
  assume_role_policy = "${data.aws_iam_policy_document.instance-assume-role-policy.json}"
}

आयात

IAM रोल्स को name का उपयोग करके आयात किया जा सकता है, जैसे

$ terraform import aws_iam_role.developer developer_name