Score:0

โดเมนไปยัง S3 Bucket AccessDenied

ธง tr

สวัสดี ฉันมีปัญหาในการรับ AccessDenied ในโดเมนของฉัน

ฉันอัปโหลดไซต์ของฉันไปยัง AWS S3 Bucket, ฉันเปิดเผยต่อสาธารณะ, สร้างหน้าสแตติก แต่เมื่อฉันเข้าถึงผ่าน domain.com/mypage ฉันได้รับ AccessDenied

จาก aws mydomain.s3.amazonaws.com/mypage ใช้งานได้ดี

DNS โดเมนของฉันมีการตั้งค่าดังนี้

;; ส่วนคำตอบ:
มายโดเมน.คอม. 2101 ใน CNAME mydomain.s3.amazonaws.com
mydomain.s3.amazonaws.com 41342 ใน CNAME s3-1-w.amazonaws.com
s3-1-w.amazonaws.com. 219 ใน CNAME s3-w.us-east-1.amazonaws.com
s3-w.us-east-1.amazonaws.com 3 ใน 52.217.69.36

มีคำแนะนำในการแก้ปัญหานี้หรือไม่?

Score:0
ธง lu

นี่คือ จากเอกสารสนับสนุนของ Amazon:

คำอธิบายสั้น:

หากต้องการแก้ไขข้อผิดพลาดการปฏิเสธการเข้าถึง ให้พิจารณาว่าการแจกจ่ายของคุณหรือไม่ ชื่อโดเมนต้นทางคือจุดสิ้นสุดของเว็บไซต์ S3 หรือ S3 REST API จุดสิ้นสุด ทำตามขั้นตอนเหล่านี้เพื่อกำหนดประเภทปลายทาง:

  1. เปิดคอนโซล CloudFront
  2. เลือกการแจกจ่าย CloudFront ของคุณ จากนั้นเลือกการตั้งค่าการแจกจ่าย
  3. เลือกแท็บ Origins และ Origin Groups
  4. เลือกแท็บ Origins และ Origin Groups

ตรวจสอบชื่อโดเมนใต้ Origin Domain Name and Path จากนั้น กำหนดประเภทปลายทางตามรูปแบบของชื่อโดเมน

ตำแหน่งข้อมูล REST API ใช้รูปแบบนี้:

DOC-ตัวอย่าง-BUCKET.s3.amazonaws.com

บันทึก: ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามกฎสำหรับการตั้งชื่อบัคเก็ต Amazon S3

จุดสิ้นสุดของเว็บไซต์ใช้รูปแบบนี้:

DOC-ตัวอย่าง-BUCKET.s3-website-us-east-1.amazonaws.com

บันทึก: ขึ้นอยู่กับภูมิภาค AWS รูปแบบจุดสิ้นสุดอาจใช้รูปแบบเส้นประ (s3-เว็บไซต์-ภูมิภาค) หรือรูปแบบจุด (s3-website.Region).

หากการกระจายของคุณใช้ตำแหน่งข้อมูล REST API โปรดดูที่ ฉันกำลังใช้ S3 ตำแหน่งข้อมูล REST API เป็นที่มาของการแจกจ่าย CloudFront ของฉัน ทำไม ฉันได้รับข้อผิดพลาด 403 Access Denied หรือไม่

หากการแจกจ่ายของคุณใช้จุดสิ้นสุดของเว็บไซต์ ให้ตรวจสอบสิ่งต่อไปนี้ ข้อกำหนดเพื่อหลีกเลี่ยงข้อผิดพลาดการปฏิเสธการเข้าถึง:

  1. ออบเจ็กต์ในบัคเก็ตต้องเข้าถึงได้แบบสาธารณะ
  2. ออบเจ็กต์ในบัคเก็ตไม่สามารถเข้ารหัสโดย AWS Key Management Service (AWS KMS)
  3. นโยบายบัคเก็ตต้องอนุญาตให้เข้าถึง s3:GetObject
  4. หากนโยบายบัคเก็ตให้สิทธิ์การเข้าถึงแบบสาธารณะ บัญชี AWS ที่เป็นเจ้าของบัคเก็ตจะต้องเป็นเจ้าของออบเจกต์ด้วย 5. วัตถุที่ร้องขอต้องมีอยู่ในที่ฝากข้อมูล
  5. ต้องปิดใช้งาน Amazon S3 Block Public Access บนบัคเก็ต
  6. หากเปิดใช้การจ่ายเงินของผู้ร้องขอ คำขอจะต้องมีพารามิเตอร์ผู้ร้องขอ-ผู้ชำระเงิน
  7. หากคุณใช้ส่วนหัวผู้อ้างอิงเพื่อจำกัดการเข้าถึงจาก CloudFront ไปยังต้นทาง S3 ของคุณ ให้ตรวจสอบส่วนหัวที่กำหนดเอง

บันทึก: หากคุณไม่ต้องการให้สาธารณะ (ไม่ระบุชื่อ) เข้าถึงออบเจกต์ S3 ของคุณ จากนั้นเปลี่ยนการกำหนดค่าของคุณเพื่อใช้ S3 REST API จุดสิ้นสุดเป็นที่มาของการกระจายของคุณ จากนั้นกำหนดค่าของคุณ การแจกจ่ายและบัคเก็ต S3 เพื่อจำกัดการเข้าถึงโดยใช้การเข้าถึงจากต้นทาง เอกลักษณ์ (OAI) สำหรับคำแนะนำ โปรดดู การใช้จุดสิ้นสุด REST API เป็น ต้นทางที่จำกัดการเข้าถึงโดย OAI ใน ฉันจะใช้ CloudFront ได้อย่างไร ให้บริการเว็บไซต์คงที่ที่โฮสต์บน Amazon S3 หรือไม่

ปณิธาน

ออบเจ็กต์ในบัคเก็ตต้องเข้าถึงได้แบบสาธารณะ

การแจกจ่ายโดยใช้จุดสิ้นสุดของเว็บไซต์สนับสนุนแบบสาธารณะเท่านั้น เนื้อหาที่เข้าถึงได้ เพื่อตรวจสอบว่าออบเจกต์ในบัคเก็ต S3 ของคุณเป็นออบเจกต์หรือไม่ เข้าถึงได้แบบสาธารณะ เปิด URL ของวัตถุในเว็บเบราว์เซอร์ หรือคุณ สามารถเรียกใช้คำสั่ง curl บน URL

ต่อไปนี้เป็นตัวอย่าง URL ของวัตถุ S3:

http://DOC-EXAMPLE-BUCKET.s3-website-us-east-1.amazonaws.com/index.html

หากเว็บเบราว์เซอร์หรือคำสั่ง curl ส่งกลับข้อผิดพลาด Access Denied ดังนั้นวัตถุจะไม่สามารถเข้าถึงได้แบบสาธารณะ

อนุญาตให้สาธารณะเข้าถึงวัตถุด้วยวิธีใดวิธีหนึ่งต่อไปนี้:

  1. สร้างนโยบายบัคเก็ตที่อนุญาตให้สาธารณะเข้าถึงการอ่านสำหรับอ็อบเจกต์ทั้งหมดในบัคเก็ต
  2. ใช้คอนโซล Amazon S3 เพื่ออนุญาตการเข้าถึงแบบสาธารณะสำหรับออบเจกต์
  3. ออบเจ็กต์ในบัคเก็ตไม่สามารถเข้ารหัส AWS KMS ได้
  4. การกระจาย CloudFront ไม่รองรับอ็อบเจ็กต์ที่เข้ารหัส AWS KMS คุณต้องลบการเข้ารหัส KMS ออกจากวัตถุ S3 ที่คุณต้องการ ให้บริการโดยใช้การกระจาย

บันทึก: แทนที่จะใช้การเข้ารหัส AWS KMS ให้ใช้ AES-256 เพื่อเข้ารหัสวัตถุของคุณ

ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อตรวจสอบว่ามีวัตถุในบัคเก็ตของคุณหรือไม่ เข้ารหัส KMS:

ใช้คอนโซล Amazon S3 เพื่อดูคุณสมบัติของอ็อบเจ็กต์ ทบทวน กล่องโต้ตอบการเข้ารหัส หากเลือก AWS-KMS แสดงว่าอ็อบเจ็กต์คือ เข้ารหัส KMS เรียกใช้คำสั่ง head-object โดยใช้ AWS Command Line อินเทอร์เฟซ (AWS CLI) หากคำสั่งส่งคืน ServerSideEncryption เป็น aws:kms ดังนั้นอ็อบเจ็กต์จะถูกเข้ารหัสด้วย KMS หมายเหตุ: หากคุณได้รับข้อผิดพลาด เมื่อเรียกใช้คำสั่ง AWS CLI ตรวจสอบให้แน่ใจว่าคุณใช้มากที่สุด AWS CLI เวอร์ชันล่าสุด เพื่อเปลี่ยนการเข้ารหัสของวัตถุ การตั้งค่าโดยใช้คอนโซล Amazon S3 โปรดดู ฉันจะเพิ่มการเข้ารหัสได้อย่างไร วัตถุ S3?

หากต้องการเปลี่ยนการตั้งค่าการเข้ารหัสของวัตถุโดยใช้ AWS CLI, ก่อนอื่นให้ตรวจสอบว่าที่เก็บข้อมูลของวัตถุไม่มีการเข้ารหัสเริ่มต้น หากบัคเก็ตไม่มีการเข้ารหัสเริ่มต้น ให้เรียกใช้สิ่งต่อไปนี้ คำสั่งเพื่อลบการเข้ารหัสของวัตถุโดยการคัดลอกวัตถุทับ ตัวเอง:

aws s3 cp s3://DOC-EXAMPLE-BUCKET/index.html s3://DOC-EXAMPLE-BUCKET/index.html

คำเตือน: การคัดลอกอ็อบเจกต์ทับตัวเองจะลบการตั้งค่าสำหรับคลาสพื้นที่เก็บข้อมูลและ
เว็บไซต์เปลี่ยนเส้นทางตำแหน่ง เพื่อรักษาการตั้งค่าเหล่านี้ในใหม่ วัตถุต้องแน่ใจว่าได้ระบุคลาสการจัดเก็บอย่างชัดเจนหรือ ค่าตำแหน่งเปลี่ยนเส้นทางเว็บไซต์ในคำขอคัดลอก

นโยบายบัคเก็ตต้องอนุญาตให้เข้าถึง s3:GetObject เพื่อใช้ การกระจายด้วยตำแหน่งข้อมูลเว็บไซต์ S3 นโยบายฝากข้อมูลของคุณต้องไม่ มีคำสั่งปฏิเสธที่ปิดกั้นการเข้าถึงการอ่านของสาธารณะ s3:การกระทำ GetObject

แม้ว่าคุณจะมีคำสั่งอนุญาตที่ชัดเจนสำหรับ s3:GetObject ในไฟล์ นโยบายฝากข้อมูล ยืนยันว่าไม่มีการปฏิเสธอย่างชัดเจนที่ขัดแย้งกัน คำแถลง. คำสั่งปฏิเสธที่ชัดเจนจะแทนที่คำชี้แจงที่ชัดเจนเสมอ อนุญาตคำสั่ง

ทำตามขั้นตอนเหล่านี้เพื่อตรวจสอบนโยบายบัคเก็ตของคุณสำหรับ s3:GetObject:

  1. เปิดบัคเก็ต S3 ของคุณจากคอนโซล Amazon S3

  2. เลือกแท็บสิทธิ์

  3. เลือกนโยบายฝากข้อมูล

  4. ตรวจสอบนโยบายบัคเก็ตสำหรับข้อความที่มี "Action": "s3:GetObject" หรือ "Action": "s3:*"

นโยบายตัวอย่างต่อไปนี้มีคำสั่งอนุญาตที่ชัดเจนสำหรับ การเข้าถึง s3:GetObject แบบสาธารณะ อย่างไรก็ตาม มีการปฏิเสธอย่างชัดเจนเช่นกัน คำสั่งสำหรับ s3:GetObject ที่บล็อกการเข้าถึงเว้นแต่จะมีการร้องขอ จาก Amazon Virtual Private Cloud (Amazon VPC) ที่เฉพาะเจาะจง

{
    "เวอร์ชัน": "2008-10-17",
    "รหัส": "PolicyForCloudFrontPrivateContent",
    "คำแถลง": [
        {
            "ซิด": "อนุญาต-OAI-เข้าถึง-To-Bucket",
            "เอฟเฟกต์": "อนุญาต",
            "อาจารย์ใหญ่": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EAF5XXXXXXXXX"
            },
            "การกระทำ": "s3:GetObject",
            "ทรัพยากร": [
                "arn:aws:s3:::DOC-ตัวอย่าง-BUCKET/*"
            ]
        },
        {
            "ซิด": "อนุญาตให้สาธารณะเข้าถึงที่ฝากข้อมูล",
            "เอฟเฟกต์": "อนุญาต",
            "อาจารย์ใหญ่": "*",
            "การกระทำ": "s3:GetObject",
            "ทรัพยากร": [
                "arn:aws:s3:::DOC-ตัวอย่าง-BUCKET/*"
            ]
        },
        {
            "ซิด": "เข้าถึงเฉพาะ VPCE เท่านั้น",
            "ผล": "ปฏิเสธ",
            "อาจารย์ใหญ่": "*",
            "การกระทำ": "s3:GetObject",
            "ทรัพยากร": [
                "arn:aws:s3:::DOC-ตัวอย่าง-BUCKET/*"
            ]
            "เงื่อนไข": {
                "StringNotEquals": {
                    "aws:sourceVpce": "vpce-1a2b3c4d"
                }
            }
        }
    ]
  }
  1. แก้ไขนโยบายบัคเก็ตเพื่อลบหรือแก้ไขคำสั่งที่บล็อกการเข้าถึงการอ่านแบบสาธารณะไปยัง s3:GetObject

บันทึก: CloudFront แคชผลลัพธ์ของข้อผิดพลาดการปฏิเสธการเข้าถึงตามระยะเวลาที่ระบุในข้อผิดพลาดในการแคช TTL ขั้นต่ำ เดอะ ค่าเริ่มต้นคือหนึ่งนาที หลังจากลบคำสั่งปฏิเสธออกจาก นโยบายฝากข้อมูล คุณสามารถเรียกใช้การทำให้ไม่ถูกต้องในการแจกจ่ายของคุณได้ ลบวัตถุออกจากแคช

หากนโยบายบัคเก็ตให้สิทธิ์การเข้าถึงแบบสาธารณะ บัญชี AWS ที่เป็นเจ้าของที่ฝากข้อมูลจะต้องเป็นเจ้าของวัตถุสำหรับนโยบายที่ฝากข้อมูลด้วย อนุญาตให้สาธารณะเข้าถึงการอ่านวัตถุ บัญชี AWS ที่เป็นเจ้าของ ถังต้องเป็นเจ้าของวัตถุด้วย ที่ฝากข้อมูลหรือวัตถุเป็นของ บัญชีของข้อมูลประจำตัว AWS Identity and Access Management (IAM) ที่ สร้างถังหรือวัตถุ

บันทึก: ข้อกำหนดการเป็นเจ้าของอ็อบเจกต์ใช้กับการเข้าถึงการอ่านแบบสาธารณะที่ได้รับจากนโยบายบัคเก็ต ใช้ไม่ได้กับการอ่านสาธารณะ การเข้าถึงที่ได้รับจากรายการควบคุมการเข้าถึงของวัตถุ (ACL)

ทำตามขั้นตอนเหล่านี้เพื่อตรวจสอบว่าบัคเก็ตและอ็อบเจ็กต์เหมือนกันหรือไม่ เจ้าของ:

  1. เรียกใช้คำสั่ง AWS CLI นี้เพื่อรับรหัสมาตรฐาน S3 ของเจ้าของที่เก็บข้อมูล:
aws s3api list-buckets --query Owner.ID
  1. เรียกใช้คำสั่งนี้เพื่อรับรหัสมาตรฐาน S3 ของเจ้าของวัตถุ:

หมายเหตุ: ตัวอย่างนี้แสดงวัตถุเดียว แต่คุณสามารถใช้รายการได้ คำสั่งตรวจสอบวัตถุต่างๆ

aws s3api list-objects --bucket DOC-EXAMPLE-BUCKET --คำนำหน้า index.html
  1. หากรหัสตามรูปแบบบัญญัติไม่ตรงกัน แสดงว่าที่ฝากข้อมูลและวัตถุมีเจ้าของต่างกัน

หมายเหตุ: คุณยังสามารถใช้คอนโซล Amazon S3 เพื่อตรวจสอบบัคเก็ตและ เจ้าของวัตถุ พบเจ้าของได้ในแท็บสิทธิ์ของ ถังหรือวัตถุที่เกี่ยวข้อง

ทำตามขั้นตอนเหล่านี้เพื่อเปลี่ยนเจ้าของวัตถุเป็นเจ้าของบัคเก็ต:

  1. จากบัญชีเจ้าของวัตถุ ให้รันคำสั่งนี้เพื่อดึงสิทธิ์ ACL ที่กำหนดให้กับวัตถุ:
aws s3api get-object-acl --bucket DOC-EXAMPLE-BUCKET --key object-name
  1. หากออบเจ็กต์มีสิทธิ์ ACL ที่ควบคุมโดยเจ้าของที่ฝากข้อมูล ให้ข้ามไปยังขั้นตอนที่ #3 ถ้าวัตถุไม่มี สิทธิ์ ACL ที่ควบคุมทั้งหมดของถังเจ้าของถัง จากนั้นเรียกใช้คำสั่งนี้จาก บัญชีของเจ้าของวัตถุ:
aws s3api put-object-acl --bucket DOC-EXAMPLE-BUCKET --key object-name --acl bucket-owner-full-control
  1. จากบัญชีเจ้าของบัคเก็ต ให้รันคำสั่งนี้เพื่อเปลี่ยนเจ้าของอ็อบเจกต์โดยการคัดลอกอ็อบเจกต์ทับตัวเอง:
aws s3 cp s3://DOC-EXAMPLE-BUCKET/index.html s3://DOC-EXAMPLE-BUCKET/index.html

วัตถุที่ร้องขอต้องมีอยู่ในบัคเก็ต หากผู้ใช้ไม่มีสิทธิ์ s3:ListBucket ผู้ใช้นั้นจะถูกปฏิเสธการเข้าถึง ข้อผิดพลาดสำหรับวัตถุที่หายไปแทนข้อผิดพลาด 404 ไม่พบ เรียกใช้ คำสั่ง AWS CLI ของ head-object เพื่อตรวจสอบว่ามีวัตถุอยู่ในไฟล์ ถัง.

บันทึก: ยืนยันว่าคำขอวัตถุที่ส่งไปยัง CloudFront ตรงกับชื่อวัตถุ S3 ทุกประการ ชื่อวัตถุ S3 คำนึงถึงขนาดตัวพิมพ์ ถ้า คำขอไม่มีชื่อออบเจกต์ที่ถูกต้อง จากนั้น Amazon S3 จะตอบกลับ ราวกับว่าวัตถุนั้นหายไป เพื่อระบุวัตถุ CloudFront กำลังร้องขอจาก Amazon S3 ให้ใช้การบันทึกการเข้าถึงเซิร์ฟเวอร์

หากวัตถุมีอยู่ในบัคเก็ต แสดงว่าไม่มีข้อผิดพลาด Access Denied กำบังข้อผิดพลาด 404 ไม่พบ. ตรวจสอบข้อกำหนดการกำหนดค่าอื่นๆ เพื่อแก้ไขข้อผิดพลาด Access Denied

หากวัตถุไม่อยู่ในบัคเก็ต แสดงว่ามีข้อผิดพลาด Access Denied กำบังข้อผิดพลาด 404 ไม่พบ. แก้ไขปัญหาที่เกี่ยวข้องกับวัตถุที่หายไป

บันทึก: ไม่ใช่แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยในการเปิดใช้งานการเข้าถึง s3:ListBucket สาธารณะ การเปิดใช้งานการเข้าถึง s3:ListBucket สาธารณะจะอนุญาต ผู้ใช้เพื่อดูและแสดงรายการวัตถุทั้งหมดในถัง สิ่งนี้เปิดเผยวัตถุ รายละเอียดข้อมูลเมตา (เช่น คีย์และขนาด) ให้กับผู้ใช้แม้ว่า ผู้ใช้ไม่มีสิทธิ์ในการดาวน์โหลดวัตถุ

ต้องปิดใช้งาน Amazon S3 Block Public Access บนบัคเก็ต ยืนยันว่าไม่มีการตั้งค่า Amazon S3 Block Public Access นำไปใช้กับถัง การตั้งค่าเหล่านี้สามารถลบล้างสิทธิ์ที่ อนุญาตให้เข้าถึงการอ่านสาธารณะ การตั้งค่า Amazon S3 Block Public Access สามารถ ใช้กับแต่ละบัคเก็ตหรือบัญชี AWS

หากเปิดใช้งานการจ่ายเงินของผู้ร้องขอ คำขอจะต้องมี พารามิเตอร์ผู้จ่ายคำขอ หากผู้ร้องขอจ่ายถูกเปิดใช้งานบนบัคเก็ต ดังนั้น ไม่อนุญาตให้เข้าถึงบัคเก็ตโดยไม่ระบุชื่อ ผู้ใช้จากที่อื่น บัญชีต้องระบุพารามิเตอร์ผู้ขอจ่ายเมื่อส่ง ร้องขอไปยังถัง มิฉะนั้น ผู้ใช้เหล่านั้นจะถูกปฏิเสธการเข้าถึง ข้อผิดพลาด.

หากคุณใช้ส่วนหัวผู้อ้างอิงเพื่อจำกัดการเข้าถึงจาก CloudFront เป็น ต้นกำเนิด S3 ของคุณ จากนั้นตรวจสอบส่วนหัวที่กำหนดเอง หากคุณกำลังใช้ ส่วนหัวอ้างอิงเพื่อจำกัดการเข้าถึงจาก CloudFront ไปยังเว็บไซต์ S3 ของคุณ จุดต้นทาง ให้ตรวจสอบค่าลับหรือโทเค็นที่ตั้งบนบัคเก็ต S3 นโยบาย. จากนั้น ยืนยันว่าค่าลับหรือโทเค็นตรงกับค่า บนส่วนหัวที่กำหนดเองของ CloudFront ต้นทาง

หากคุณใช้คำสั่งปฏิเสธที่ชัดเจนในนโยบายบัคเก็ต ยืนยันว่ายังมีคำสั่งอนุญาตที่ให้สิทธิ์การเข้าถึงตาม บนส่วนหัวผู้อ้างอิง คุณไม่สามารถให้สิทธิ์การเข้าถึงได้อย่างชัดเจนเท่านั้น ปฏิเสธคำสั่ง

ตัวอย่างเช่นนโยบายฝากข้อมูลต่อไปนี้ให้สิทธิ์การเข้าถึงต้นทาง S3 เมื่อคำขอมีสตริง "aws:ผู้อ้างอิง":"MY_SECRET_TOKEN_CONFIGURED_ON_CLOUDFRONT_ORIGIN_CUSTOM_HEADER":

{
  "เวอร์ชั่น":"2012-10-17",
  "รหัส":"ตัวอย่างนโยบายอ้างอิง http",
  "คำแถลง":[
    {
      "Sid":"อนุญาตให้รับคำขอที่มาจาก CloudFront ของฉันด้วยส่วนหัวผู้อ้างอิง",
      "ผล":"อนุญาต",
      "อาจารย์ใหญ่":"*",
      "การกระทำ":"s3:GetObject",
      "ทรัพยากร":"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*",
      "เงื่อนไข":{
        "StringLike":{"aws:ผู้อ้างอิง":"MY_SECRET_TOKEN_CONFIGURED_ON_CLOUDFRONT_ORIGIN_CUSTOM_HEADER"}
      }
    }
  ]
}

ด้วยนโยบายบัคเก็ตตัวอย่างนี้ ส่วนหัวที่กำหนดเองจาก CloudFront ต้องเป็น:

  • หัวข้อ: ผู้อ้างอิง
  • ค่า: MY_SECRET_TOKEN_CONFIGURED_ON_CLOUDFRONT_ORIGIN_CUSTOM_HEADER

บันทึก: นโยบายบัคเก็ตตัวอย่างให้สิทธิ์สาธารณะ (ไม่ระบุตัวตน) ในการเข้าถึง bucket เนื่องจาก Principal เป็นค่าไวด์การ์ด ("Principal":"*") อย่างไรก็ตาม เนื่องจากคำสั่งเงื่อนไข การเข้าถึงต้นกำเนิด S3 จะได้รับก็ต่อเมื่อคำขอมีส่วนหัวผู้อ้างอิงและ ค่าส่วนหัวตรงกับค่าในนโยบายที่ฝากข้อมูล

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา