โดยค่าเริ่มต้น Cassandra จะติดตั้งโดยไม่ได้เปิดใช้การตรวจสอบสิทธิ์ ซึ่งหมายความว่าทุกคนสามารถเข้าถึง Cassandra ได้ คุณสามารถเปิดใช้การตรวจสอบสิทธิ์หลังจากติดตั้ง Edge หรือเป็นส่วนหนึ่งของกระบวนการติดตั้ง
คุณสามารถเพิ่ม นำออก และแก้ไขบทบาทได้โดยใช้คำสั่ง CREATE/ALTER/DROP ROLES ของ Cassandra ดูข้อมูลเพิ่มเติมได้ที่
ข้อควรพิจารณาโดยทั่วไป
- เมื่อคุณเปิดใช้การตรวจสอบสิทธิ์ Cassandra ระบบจะสร้างผู้ใช้ระดับสูงเริ่มต้น cassandra (ที่มีรหัสผ่าน cassandra) โดยอัตโนมัติ ผู้ใช้รายนี้เป็นผู้ใช้ระดับสูงที่รู้จักกันอย่างแพร่หลาย และคุณไม่ควรใช้ผู้ใช้รายนี้สำหรับความต้องการในการใช้งานจริง นอกจากนี้ การตรวจสอบสิทธิ์ผ่านผู้ใช้ระดับสูงรายนี้ยังกำหนดให้ต้องมีความสอดคล้องของโควรัม ดังนั้น การเชื่อมต่อทั้งหมดกับ Cassandra ที่ตรวจสอบสิทธิ์ผ่านผู้ใช้รายนี้จึงต้องมีความสอดคล้องที่เข้มงวดมากขึ้น ส่งผลให้ประสิทธิภาพการทำงานช้าลงและมีความคงทนต่อความเสียหายที่น้อยลง
- เวิร์กโฟลว์ทั่วไปจะเกี่ยวข้องกับการเปิดใช้การตรวจสอบสิทธิ์ใน Cassandra ขณะส่งชื่อผู้ใช้และรหัสผ่านที่กำหนดเองผ่านไฟล์การกำหนดค่า การดำเนินการนี้จะสร้างผู้ใช้และรหัสผ่านที่กำหนดเองซึ่งคุณสามารถใช้ได้อย่างปลอดภัยตามความต้องการ และการตรวจสอบสิทธิ์ผ่านผู้ใช้ดังกล่าวจะไม่มีข้อจำกัดด้านความสอดคล้องของโควรัม
- โปรดทราบว่าแม้ว่าจะมีการสร้างผู้ใช้ที่กำหนดเองแล้ว แต่ Cassandra จะยังคงสร้างผู้ใช้ระดับสูง cassandra เริ่มต้น และคลัสเตอร์ Cassandra จะเข้าถึงได้ผ่านผู้ใช้ระดับสูง โดยปกติแล้วคุณควรใช้คำสั่ง ALTER ROLE เพื่อเปลี่ยนรหัสผ่านของผู้ใช้ cassandra นี้เป็นรหัสผ่านอื่นที่ไม่ใช่ cassandra เริ่มต้นหลังจากที่เปิดใช้การตรวจสอบสิทธิ์ Cassandra ใน Apigee ได้สำเร็จแล้ว เก็บรหัสผ่านนี้ไว้เพื่อใช้อ้างอิงในอนาคต
- คุณไม่ควรเปลี่ยนรหัสผ่านของบทบาทที่คอมโพเนนต์ edge-* ใช้สำหรับการตรวจสอบสิทธิ์ เนื่องจากจะทำให้บริการหยุดชะงักทันที คุณควรสร้างผู้ใช้ใหม่ทั้งหมดแทน จากนั้นแก้ไขคอมโพเนนต์ edge-* ให้ใช้ผู้ใช้ใหม่ และเมื่อเสร็จแล้ว ให้ลบผู้ใช้เก่าออกโดยใช้คำสั่ง DROP ROLE
- หากต้องการเปลี่ยนบทบาทที่คอมโพเนนต์ edge-* ใช้สำหรับการตรวจสอบสิทธิ์ Cassandra ให้ทำตามขั้นตอนต่อไปนี้
- ทำตามขั้นตอนในส่วนที่ชื่อว่าเปิดใช้การตรวจสอบสิทธิ์เพื่อสร้างผู้ใช้ใหม่ โปรดทราบว่าหากเปิดใช้การตรวจสอบสิทธิ์ในคลัสเตอร์แล้วและคุณได้เปลี่ยนรหัสผ่านของผู้ใช้ cassandra คุณจะต้องส่งชุดชื่อผู้ใช้/รหัสผ่านของผู้ใช้ที่มีอยู่ผ่าน
CASS_EXISTING_USERNAMEและCASS_EXISTING_PASSWORD - เมื่อเสร็จแล้ว ให้ตรวจสอบผ่าน cqlsh ว่าคุณสามารถเชื่อมต่อกับ Cassandra ผ่านทั้งผู้ใช้เก่าและผู้ใช้ใหม่ได้
- กำหนดให้คอมโพเนนต์ edge-* ทั้งหมดใช้ผู้ใช้ที่สร้างขึ้นใหม่เพื่อเชื่อมต่อกับ Cassandra โดยทำตามวิธีการในหัวข้อ อัปเดตคอมโพเนนต์ Edge ที่เชื่อมต่อกับ Cassandra
- สุดท้าย เมื่อคอมโพเนนต์ทั้งหมดใช้ผู้ใช้ใหม่เพื่อสื่อสารกับ Cassandra แล้ว คุณจะลบผู้ใช้เก่าออกได้โดยใช้คำสั่ง
DROP ROLEโปรดทราบว่าไม่ควรลบบทบาท cassandra เริ่มต้น คุณสามารถลบบทบาทที่สร้างขึ้นเองซึ่งคอมโพเนนต์ edge-* ไม่ได้ใช้เพื่อสื่อสารกับ Cassandra
- ทำตามขั้นตอนในส่วนที่ชื่อว่าเปิดใช้การตรวจสอบสิทธิ์เพื่อสร้างผู้ใช้ใหม่ โปรดทราบว่าหากเปิดใช้การตรวจสอบสิทธิ์ในคลัสเตอร์แล้วและคุณได้เปลี่ยนรหัสผ่านของผู้ใช้ cassandra คุณจะต้องส่งชุดชื่อผู้ใช้/รหัสผ่านของผู้ใช้ที่มีอยู่ผ่าน
- อย่าลืมอัปเดตชื่อผู้ใช้และรหัสผ่าน Cassandra ที่ใช้งานได้ในไฟล์การกำหนดค่าที่คุณใช้สำหรับติดตั้งหรืออัปเกรดคอมโพเนนต์ Edge การดำเนินการนี้จะช่วยลดหรือขจัดปัญหาที่อาจเกิดขึ้นระหว่างการดำเนินการ Edge
เปิดใช้การตรวจสอบสิทธิ์ Cassandra ระหว่างการติดตั้ง
คุณสามารถเปิดใช้การตรวจสอบสิทธิ์ Cassandra ในระหว่างการติดตั้งได้
หากต้องการเปิดใช้การตรวจสอบสิทธิ์ Cassandra ในระหว่างการติดตั้ง ให้ใส่พร็อพเพอร์ตี้ CASS_AUTH
ในไฟล์การกำหนดค่าสำหรับโหนด Cassandra ทั้งหมด
CASS_AUTH=y # The default value is n.
คอมโพเนนต์ Edge ต่อไปนี้เข้าถึง Cassandra
- เซิร์ฟเวอร์การจัดการ
- โปรเซสเซอร์ข้อความ
- เราเตอร์
- เซิร์ฟเวอร์ Qpid
- เซิร์ฟเวอร์ Postgres
เมื่อติดตั้งคอมโพเนนต์เหล่านี้ คุณต้องตั้งค่าชื่อผู้ใช้และรหัสผ่านใน ไฟล์การกำหนดค่า
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
คุณสามารถเปลี่ยนข้อมูลเข้าสู่ระบบ Cassandra หลังจากติดตั้ง Cassandra แล้ว อย่างไรก็ตาม หากคุณได้ ติดตั้งเซิร์ฟเวอร์การจัดการ Message Processor เราเตอร์ เซิร์ฟเวอร์ Qpid หรือเซิร์ฟเวอร์ Postgres แล้ว คุณจะต้องอัปเดตคอมโพเนนต์เหล่านั้นให้ใช้ข้อมูลเข้าสู่ระบบใหม่ด้วย
วิธีเปลี่ยนข้อมูลเข้าสู่ระบบ Cassandra หลังจากติดตั้ง Cassandra
- เข้าสู่ระบบโหนด Cassandra โหนดใดโหนดหนึ่งโดยใช้เครื่องมือ
cqlshและข้อมูลเข้าสู่ระบบเริ่มต้น คุณต้องเปลี่ยนรหัสผ่านในโหนดเดียวเท่านั้น และระบบจะออกอากาศรหัสผ่านไปยังโหนด Cassandra ทั้งหมดในวงแหวน/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
โดยที่
- cassIP คือที่อยู่ IP ของโหนด Cassandra
- 9042 คือพอร์ต Cassandra เริ่มต้น
- เรียกใช้คำสั่งต่อไปนี้ที่พรอมต์ cqlsh> เพื่อ อัปเดตรหัสผ่าน:
ALTER ROLE <username> WITH PASSWORD='
'; - ออกจากเครื่องมือ
cqlshดังที่แสดงในตัวอย่างต่อไปนี้exit
- หากคุณยังไม่ได้ ติดตั้งเซิร์ฟเวอร์การจัดการ Message Processor
เราเตอร์ เซิร์ฟเวอร์ Qpid หรือเซิร์ฟเวอร์ Postgres ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ใน
ไฟล์การกำหนดค่า แล้วติดตั้งคอมโพเนนต์เหล่านั้น
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- หากคุณได้ติดตั้ง เซิร์ฟเวอร์การจัดการ โปรเซสเซอร์ข้อความ เราเตอร์ เซิร์ฟเวอร์ Qpid หรือเซิร์ฟเวอร์ Postgres แล้ว โปรดดูหัวข้อ การรีเซ็ตรหัสผ่าน Edge เพื่อดูขั้นตอนการอัปเดตคอมโพเนนต์เหล่านั้นให้ใช้รหัสผ่านใหม่
เปิดใช้การตรวจสอบสิทธิ์ Cassandra หลัง การติดตั้ง
วิธีเปิดใช้การตรวจสอบสิทธิ์หลังการติดตั้ง
- อัปเดตคอมโพเนนต์ Edge ทั้งหมดที่เชื่อมต่อกับ Cassandra ด้วยชื่อผู้ใช้และ รหัสผ่าน Cassandra
- เปิดใช้การตรวจสอบสิทธิ์ในโหนด Cassandra ทั้งหมด และตั้งค่าชื่อผู้ใช้และรหัสผ่าน Cassandra ในโหนดใดโหนดหนึ่ง คุณต้องเปลี่ยนข้อมูลเข้าสู่ระบบในโหนด Cassandra โหนดเดียวเท่านั้น และระบบจะออกอากาศข้อมูลเข้าสู่ระบบไปยังโหนด Cassandra ทั้งหมดใน วงแหวน
อัปเดตคอมโพเนนต์ Edge ที่เชื่อมต่อกับ Cassandra
ใช้ขั้นตอนต่อไปนี้เพื่ออัปเดตคอมโพเนนต์ Edge ทั้งหมดที่สื่อสารกับ Cassandra ด้วยข้อมูลเข้าสู่ระบบใหม่ โปรดทราบว่าคุณต้องทำขั้นตอนนี้ก่อนที่จะอัปเดตข้อมูลเข้าสู่ระบบ Cassandra จริง
- เรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์การจัดการ
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
หรือคุณจะส่งไฟล์ไปยังคำสั่งที่มีชื่อผู้ใช้และรหัสผ่านใหม่ก็ได้
apigee-service edge-management-server store_cassandra_credentials -f configFile
โดยที่ configFile มีเนื้อหาต่อไปนี้
CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars
คำสั่งนี้จะรีสตาร์ตเซิร์ฟเวอร์การจัดการโดยอัตโนมัติ
- ทำซ้ำขั้นตอนที่ 1 สำหรับบริการต่อไปนี้
- โปรเซสเซอร์ข้อความทั้งหมด
- เราเตอร์ทั้งหมด
- เซิร์ฟเวอร์ Qpid ทั้งหมด (edge-qpid-server)
- เซิร์ฟเวอร์ Postgres (edge-postgres-server)
เมื่อทำซ้ำขั้นตอนที่ 1 สำหรับแต่ละบริการ ให้แทนที่
edge-management-serverใน คำสั่งด้านบนด้วยชื่อบริการที่เหมาะสม ตัวอย่างเช่น เมื่อเรียกใช้ขั้นตอนสำหรับ บริการเราเตอร์ ให้ใช้คำสั่งต่อไปนี้/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
เปิดใช้การตรวจสอบสิทธิ์
ใช้ขั้นตอนต่อไปนี้เพื่อเปิดใช้การตรวจสอบสิทธิ์ Cassandra และตั้งค่าชื่อผู้ใช้และ รหัสผ่าน
- สร้างไฟล์การกำหนดค่าแบบเงียบที่มีเนื้อหาดังที่แสดงด้านล่าง
# Specify IP address or DNS name of cassandra node IP1=192.168.1.1 IP2=192.168.1.2 IP3=192.168.1.3 # Must resolve to IP address or DNS name of host HOSTIP=$(hostname -i) # Set to ‘y’ to enable Cassandra authentication. CASS_AUTH=y # Possible values are ‘y/n’ # Cassandra username. If it does not exist, this user would be created as a SUPERUSER CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production # Space-separated IP/DNS names of the Cassandra hosts CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=existing_cassandra_username # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=existing_cassandra_password # Cassandra port CASS_PORT=9042 # The default port is 9042.
เข้าสู่ระบบโหนด Cassandra โหนดแรก แล้วเรียกใช้คำสั่งต่อไปนี้
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
หรือคุณจะส่งพร็อพเพอร์ตี้เป็นอาร์กิวเมนต์คำสั่งไปยังสคริปต์ก็ได้ ดังที่แสดงใน ตัวอย่างต่อไปนี้
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication
หมายเหตุ
- สำหรับข้อมูลเข้าสู่ระบบ Cassandra เริ่มต้น คำสั่งด้านบนจะเปิดใช้การตรวจสอบสิทธิ์ Cassandra และรีสตาร์ต Cassandra
- สำหรับข้อมูลเข้าสู่ระบบที่ไม่ใช่ค่าเริ่มต้น คำสั่งจะเปลี่ยนปัจจัยการจำลอง สร้างผู้ใช้ระดับสูง
และเรียกใช้การซ่อมแซมใน
system_auth keyspaceด้วย
- ทำซ้ำขั้นตอนที่ 1 และ 2 ในโหนด Cassandra ทั้งหมด