0Pricing
DevOps Bootcamp · บทเรียน

ถอดรหัสขณะทำงานด้วย --ask-vault-pass

ส่งรหัสผ่านให้กับ Play

ถอดรหัสขณะทำงานด้วย --ask-vault-pass เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

ถอดรหัสในจังหวะที่เหมาะสม

ข้อมูลลับที่เข้ารหัสด้วย Vault ยังคงถูกเข้ารหัสบนดิสก์ เคล็ดลับคือป้อนรหัสผ่านให้ Ansible ตรงเวลาที่เพลย์ต้องอ่านข้อมูลเหล่านั้น 🔑

ถามรหัสผ่าน

เพิ่ม --ask-vault-pass ให้กับ ansible-playbook แล้ว Ansible จะขอรหัสผ่าน Vault หนึ่งครั้งก่อนเริ่มการทำงาน

ansible-playbook site.yml --ask-vault-pass

รหัสผ่านเดียวตลอดการทำงาน

การถามเพียงครั้งเดียวจะปลดล็อกไฟล์ที่เข้ารหัสด้วย Vault และค่าแบบเข้ารหัสบางส่วนทุกค่าที่เพลย์เรียกใช้ Ansible จะถอดรหัสไว้ในหน่วยความจำเท่านั้น 🧠

ไม่มีรหัสผ่านก็ล้มเหลวทันที

หากเรียกใช้เพลย์ที่ต้องใช้ Vault โดยไม่ป้อนรหัสผ่าน Ansible จะหยุดพร้อมข้อผิดพลาด การถอดรหัสที่ชัดเจนก่อนลงมือทำสิ่งใด

ERROR! Attempting to decrypt but no vault secrets found

ใช้ไฟล์รหัสผ่าน

สำหรับการทำงานที่ไม่มีผู้ควบคุม ให้ระบุ --vault-password-file แทนการพิมพ์ เก็บไฟล์นั้นไว้นอก Git และจำกัดการเข้าถึงให้รัดกุม

ansible-playbook site.yml --vault-password-file ~/.vault_pass

ตั้งค่าใน ansible.cfg

หากต้องการหลีกเลี่ยงการระบุแฟล็กทุกครั้ง ให้ประกาศไฟล์รหัสผ่านไว้ใต้ vault_password_file ใน ansible.cfg

[defaults]
vault_password_file = ~/.vault_pass

หรือใช้ตัวแปรสภาพแวดล้อม

ตัวแปรสภาพแวดล้อม ANSIBLE_VAULT_PASSWORD_FILE ทำหน้าที่เดียวกัน ซึ่งสะดวกใน CI ที่คุณไม่สามารถแก้ไขการตั้งค่าได้

export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass

รหัส Vault สำหรับข้อมูลลับหลายชุด

จัดการรหัสผ่านหลายชุดด้วย --vault-id โดยติดป้ายกำกับแต่ละชุด เพื่อให้ข้อมูลลับของสภาพแวดล้อมพัฒนาและใช้งานจริงใช้กุญแจคนละชุด

ansible-playbook site.yml --vault-id prod@~/.vault_prod

คำสั่งอื่น ๆ ด้วย

ตัวเลือกเดียวกันนี้ใช้ได้กับคำสั่งเฉพาะกิจของ ansible และตัว ansible-vault เอง ไม่ได้จำกัดเฉพาะ ansible-playbook เท่านั้น

ansible all -m debug -a "msg={{ db_password }}" --ask-vault-pass

เก็บรหัสผ่านให้ปลอดภัย

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

เขียนสคริปต์สำหรับแหล่งรหัสผ่าน

ไฟล์รหัสผ่านของห้องนิรภัยอาจเป็นสคริปต์ที่เรียกใช้ได้ ซึ่ง พิมพ์ รหัสผ่านออกมา ทำให้สคริปต์ดึงข้อมูลลับจากเซิร์ฟเวอร์ห้องนิรภัยได้

ansible-playbook site.yml --vault-password-file get-pass.sh

ตรวจสอบสั้น ๆ

คุณเรียกใช้เพลย์บุ๊กที่อ่านตัวแปรซึ่งเข้ารหัสไว้ และต้องการป้อนรหัสผ่านเพียงครั้งเดียว

สรุป

คุณปลดล็อกข้อมูลลับขณะเรียกใช้ด้วย --ask-vault-pass ไฟล์รหัสผ่าน หรือตัวแปรสภาพแวดล้อม Ansible ถอดรหัสไว้ในหน่วยความจำเท่านั้น ✨

คำถามที่พบบ่อย

บทเรียน “ถอดรหัสขณะทำงานด้วย --ask-vault-pass” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ถอดรหัสขณะทำงานด้วย --ask-vault-pass” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ถอดรหัสขณะทำงานด้วย --ask-vault-pass”

ส่งรหัสผ่านให้กับ Play คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ถอดรหัสขณะทำงานด้วย --ask-vault-pass” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เข้ารหัสไฟล์ด้วย ansible-vault create
  2. แก้ไข ดู และเปลี่ยนคีย์ไฟล์ Vault
  3. เข้ารหัสตัวแปรเดียวในบรรทัดโดยตรง
  4. ถอดรหัสขณะทำงานด้วย --ask-vault-pass
← กลับไปที่ DevOps Bootcamp