Thanapon Tapala

Backend Developer

Embedded Developer

Smart Farmer

Maker

Thanapon Tapala

Backend Developer

Embedded Developer

Smart Farmer

Maker

Blog Post

[InfluxDb] สร้าง Username/Password ผ่าน influxdb-cli บน MacOS

November 4, 2024 InfluxDB
[InfluxDb] สร้าง Username/Password ผ่าน influxdb-cli บน MacOS

InfluxDB คืออะไร?

InfluxDB เป็นฐานข้อมูลประเภท Time Series Database (TSDB) ที่ออกแบบมาเพื่อจัดการข้อมูลที่มีการเปลี่ยนแปลงตามเวลาโดยเฉพาะ เช่น:

  • ข้อมูลจากเซ็นเซอร์ต่างๆ (IoT)
  • ข้อมูลการใช้งานระบบ (System Metrics)
  • ข้อมูลการเข้าชมเว็บไซต์ (Web Analytics)
  • ข้อมูลการเงินและราคาหุ้น

ด้วยคุณสมบัติพิเศษที่ออกแบบมาสำหรับจัดการข้อมูลแบบ Time Series โดยเฉพาะ ทำให้ InfluxDB มีประสิทธิภาพสูงในการ:

  • บันทึกข้อมูลจำนวนมากอย่างรวดเร็ว
  • ค้นหาและดึงข้อมูลตามช่วงเวลา
  • จัดการพื้นที่จัดเก็บข้อมูลอัตโนมัติ
  • รองรับการทำ Data Retention Policy

ทำไมต้องสร้าง Username/Password?

การสร้างบัญชีผู้ใช้งานใน InfluxDB มีความสำคัญอย่างยิ่งด้วยเหตุผลหลายประการ:

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

วิธีการสร้างผู้ใช้งานใหม่

1. ติดตั้ง influxdb-cli

ก่อนอื่น เราต้องติดตั้ง influxdb-cli โดยใช้ Homebrew:

brew install influxdb-cli

2. เชื่อมต่อกับ InfluxDB

หลังจากติดตั้งเสร็จ ให้ทำการสร้าง configuration สำหรับการเชื่อมต่อ:

influx config create \
-n admin-config \
-u https://<INFLUX_DB> \
-p <ADMIN_USERNAME>:<ADMIN_PASSWORD> \
-o <ORGANIZATION>

คำอธิบายพารามิเตอร์:

  • -n (name): ชื่อของ configuration profile ที่เราต้องการสร้าง ใช้สำหรับอ้างอิงในการเชื่อมต่อครั้งต่อไป เช่น เราอาจมี profile สำหรับ development และ production แยกกัน
  • -u (url): URL ของ InfluxDB server ที่เราต้องการเชื่อมต่อ ซึ่งอาจเป็น server ที่อยู่ในเครื่องเดียวกัน (localhost) หรือ remote server
  • -p (password): รูปแบบ username:password สำหรับการยืนยันตัวตน โดยต้องใช้บัญชีที่มีสิทธิ์ในการสร้างผู้ใช้งานใหม่
  • -o (org): ชื่อองค์กรที่เราต้องการเชื่อมต่อใน InfluxDB ซึ่งเป็นระดับสูงสุดในการจัดการสิทธิ์และการเข้าถึงข้อมูล

3. สร้างผู้ใช้งานใหม่

ใช้คำสั่งต่อไปนี้เพื่อสร้างผู้ใช้งานใหม่:

influx user create \
-n <NEW_USER> \
-p <NEW_PASSWORD> \
-o <ORGANIZATION>

คำอธิบายพารามิเตอร์:

  • -n: ชื่อผู้ใช้งานที่ต้องการสร้าง ควรตั้งให้สื่อความหมายและง่ายต่อการจดจำ
  • -p: รหัสผ่านสำหรับผู้ใช้งาน ควรมีความซับซ้อนเพียงพอเพื่อความปลอดภัย
  • -o: องค์กรที่ผู้ใช้งานจะสังกัด ซึ่งจะมีผลต่อสิทธิ์การเข้าถึงข้อมูลและทรัพยากร

การจัดการสิทธิ์ผู้ใช้งาน

เมื่อสร้างผู้ใช้งานแล้ว เราสามารถกำหนดสิทธิ์เพิ่มเติมได้ เช่น:

  • สิทธิ์ในการอ่านข้อมูล
  • สิทธิ์ในการเขียนข้อมูล
  • สิทธิ์ในการสร้าง bucket
  • สิทธิ์ในการจัดการผู้ใช้งานอื่น

สรุป

การสร้างและจัดการผู้ใช้งานใน InfluxDB เป็นขั้นตอนสำคัญในการรักษาความปลอดภัยและจัดการการเข้าถึงข้อมูล โดยใช้ influxdb-cli เราสามารถ:

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

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


Manage users

Users are those with access to InfluxDB. To grant a user permission to access data, add them as a member of an organization and provide them with an API token.

https://docs.influxdata.com/influxdb/v2/admin/users/

Taggs: