“การรักษาความปลอดภัยเป็นหนึ่งในคุณสมบัติที่น่าทึ่งที่สุดจาก Elasticsearch, Kibana และ Logstash สแต็ค ELK มาพร้อมกับคุณสมบัติด้านความปลอดภัย เช่น การเข้ารหัส SSL/TLS สิทธิ์ของผู้ใช้ และบทบาท
ดังนั้น เมื่อดำเนินการร้องขอไปยัง Elasticsearch คำขอจะรวมโทเค็นการพิสูจน์ตัวตนในคำขอที่เข้ามา Elasticsearch แยกและใช้โทเค็นนี้เพื่ออนุญาตและดำเนินการตามที่ร้องขอให้เสร็จสิ้น
Elasticsearch จะปฏิเสธโทเค็นและส่งคืนข้อผิดพลาดหากไม่มีโทเค็นการพิสูจน์ตัวตนหายไปจากคำขอ
อย่างไรก็ตาม บางครั้งคุณอาจต้องอนุญาตคำขอที่ไม่ระบุตัวตน แม้ว่าจะเป็นปัญหาด้านความปลอดภัยที่ร้ายแรงและไม่ควรนำมาใช้ในการผลิต แต่ก็สามารถเป็นประโยชน์ต่อโหมดการพัฒนาได้”
ดังนั้น ในบทช่วยสอนนี้ เราจะแสดงให้คุณเห็นว่าคุณสามารถกำหนดค่าและเปิดใช้งานการเข้าสู่ระบบแบบไม่ระบุชื่อใน Elasticsearch ได้อย่างไร
Elasticsearch เปิดใช้งานผู้ใช้ที่ไม่ระบุชื่อ
ในการเปิดใช้ เราจำเป็นต้องกำหนดบทบาทอย่างน้อยหนึ่งบทบาทในไฟล์การกำหนดค่า Elasticsearch
ตัวอย่างเช่น หากต้องการอนุญาตการเข้าถึงแบบไม่ระบุชื่อสำหรับผู้ใช้ es_anonymous_user ให้แก้ไขไฟล์กำหนดค่า Elasticsearch:
$ sudo นาโน / ฯลฯ / elasticsearch / elasticsearch.yml
เพิ่มการกำหนดค่าเป็น:
ไม่ระบุชื่อ:
ชื่อผู้ใช้: anonymous_user
บทบาท: ผู้ดูแลระบบ
autz_exception: จริง
การกำหนดค่าระบุการเข้าสู่ระบบแบบไม่ระบุชื่อสำหรับชื่อผู้ใช้ที่ระบุ ดังที่กล่าวไว้ ค่าเริ่มต้นนี้จะเป็น _es_anonymous_user เว้นแต่จะระบุไว้
บทบาทกำหนดบทบาทที่เกี่ยวข้องกับชื่อผู้ใช้ที่ไม่ระบุชื่อ ในกรณีนี้ เรากำหนดบทบาทผู้ดูแลระบบให้กับผู้ใช้ที่ไม่ระบุชื่อ (ไม่แนะนำ)
สุดท้าย เราระบุว่าควรส่งคืนข้อยกเว้นหรือไม่ หากเป็นจริง คำขอจะส่งกลับ HTTP 403 หากผู้ใช้ที่ไม่ระบุชื่อดำเนินการที่พวกเขาไม่ได้รับอนุญาต
หากต้องการเปิดใช้งานผู้ใช้ที่ไม่ระบุชื่อใน kibana ให้เพิ่มรายการต่อไปนี้ใน kibana.yml
xpack.security.authc.providers:พื้นฐาน.พื้นฐาน1:
คำสั่ง: 0
ไม่ระบุชื่อ.anonymous1:
คำสั่ง: 1
ข้อมูลประจำตัว:
ชื่อผู้ใช้: 'anonymous_service_account'
รหัสผ่าน: 'anonymous_service_account_password'
บันทึกและโหลดบริการใหม่
การสิ้นสุด
บทความนี้อธิบายวิธีเปิดใช้งานการเข้าถึงแบบไม่ระบุชื่อสำหรับ Elasticsearch และ Kibana โดยแก้ไขไฟล์การกำหนดค่าที่เกี่ยวข้อง