Terraform 0.11

aws_cloudfront_origin_access_identity




terraform

aws_cloudfront_origin_access_identity

एक अमेज़ॅन क्लाउडफ्रंट मूल अभिगम पहचान बनाता है।

CloudFront वितरण के बारे में जानकारी के लिए, Amazon CloudFront डेवलपर गाइड देखें । मूल पहुँच पहचान उत्पन्न करने के बारे में अधिक जानकारी के लिए, अपने अमेजन S3 सामग्री तक पहुँच को प्रतिबंधित करने के लिए एक मूल पहुँच पहचान का उपयोग करना देखें।

उदाहरण उपयोग

नीचे दिया गया उदाहरण क्लाउडफ्रंट मूल अभिगम पहचान बनाता है।

resource "aws_cloudfront_origin_access_identity" "origin_access_identity" {
  comment = "Some comment"
}

तर्क संदर्भ

  • comment (वैकल्पिक) - मूल पहुँच पहचान के लिए एक वैकल्पिक टिप्पणी।

गुण का संदर्भ

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

  • id - वितरण के लिए पहचानकर्ता। उदाहरण के लिए: EDFDVBD632BHDS5
  • caller_reference - CloudFront द्वारा उपयोग किया जाने वाला आंतरिक मान जो मूल पहुंच पहचान को भविष्य के अद्यतन की अनुमति देता है।
  • cloudfront_access_identity_path - CloudFront में उपयोग करने के लिए मूल अभिगम पहचान के पूर्ण पथ का एक शॉर्टकट, नीचे देखें।
  • etag - मूल संस्करण का वर्तमान संस्करण पहचान की जानकारी को एक्सेस करता है। उदाहरण के लिए: E2QWRUHAPOMQZL
  • iam_arn - S3 बाल्टी नीतियों (नीचे देखें) में उपयोग के लिए एक पूर्व-निर्मित एआरएन। उदाहरण: arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E2QWRUHAPOMQZL
  • s3_canonical_user_id - अमेज़ॅन S3 विहित उपयोगकर्ता आईडी मूल अभिगम पहचान के लिए, जिसका उपयोग आप तब करते हैं जब मूल पहुंच पहचान पढ़ने के लिए अमेज़न S3 में किसी ऑब्जेक्ट को अनुमति पढ़ें।

CloudFront के साथ उपयोग करना

आमतौर पर, CloudFront में एक मूल पहुंच पहचान का संदर्भ देते समय, आपको origin-access-identity/cloudfront/ विशेष पथ के साथ आईडी को उपसर्ग करने की आवश्यकता होती है। cloudfront_access_identity_path इसे दरकिनार करने की अनुमति देता है। नीचे स्निपेट s3_origin_config संरचना के साथ aws_cloudfront_web_distribution संसाधन के लिए उपयोग को दर्शाता है:

s3_origin_config {
  origin_access_identity = "${aws_cloudfront_origin_access_identity.origin_access_identity.cloudfront_access_identity_path}"
}

अपनी बकेट नीति को अपडेट करना

ध्यान दें कि aws_s3_bucket बाल्टी पॉलिसी में आपूर्ति किए जाने पर AWS API s3_canonical_user_id CanonicalUser प्रिंसिपल को AWS IAM ARN प्रिंसिपल में अनुवाद कर सकता है, जिससे Terraform में aws_s3_bucket उत्पन्न होती है। यदि आप यह व्यवहार देखते हैं, तो iam_arn बजाय iam_arn उपयोग करें:

data "aws_iam_policy_document" "s3_policy" {
  statement {
    actions   = ["s3:GetObject"]
    resources = ["${aws_s3_bucket.example.arn}/*"]

    principals {
      type        = "AWS"
      identifiers = ["${aws_cloudfront_origin_access_identity.origin_access_identity.iam_arn}"]
    }
  }

  statement {
    actions   = ["s3:ListBucket"]
    resources = ["${aws_s3_bucket.example.arn}"]

    principals {
      type        = "AWS"
      identifiers = ["${aws_cloudfront_origin_access_identity.origin_access_identity.iam_arn}"]
    }
  }
}

resource "aws_s3_bucket_policy" "example" {
  bucket = "${aws_s3_bucket.example.id}"
  policy = "${data.aws_iam_policy_document.s3_policy.json}"
}

आयात

क्लाउडफ्रंट ओरिजिन एक्सेस आइडेंटिटी को id , जैसे का उपयोग करके आयात किया जा सकता है

$ terraform import aws_cloudfront_origin_access_identity.origin_access E74FTE3AEXAMPLE