เปิดใช้การตรวจสอบสิทธิ์ Cassandra

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

คุณเพิ่ม นำออก และแก้ไขบทบาทได้โดยใช้คำสั่ง Cassandra CREATE/ALTER/DROP ROLES โปรดดูข้อมูลต่อไปนี้สำหรับข้อมูลเพิ่มเติม

ข้อควรพิจารณาทั่วไป

  • ขณะที่คุณเปิดใช้การตรวจสอบสิทธิ์ Cassandra ผู้ใช้ขั้นสูงเริ่มต้น cassandra (ที่มีรหัสผ่าน cassandra) จะสร้างโดยอัตโนมัติโดย Cassandra ผู้ใช้รายนี้เป็นผู้ใช้ระดับสูงซึ่งเป็นที่รู้จักอย่างกว้างขวาง และคุณไม่ควรใช้ผู้ใช้รายนี้สำหรับความต้องการในการผลิต นอกจากนี้ การตรวจสอบสิทธิ์ผ่านผู้ใช้ที่ดูแลระบบระดับนี้ต้องมีความสอดคล้องกันของจำนวนสมาชิกขั้นต่ำ ดังนั้น การเชื่อมต่อทั้งหมดไปยังการตรวจสอบสิทธิ์ของ Cassandra ผ่านผู้ใช้รายนี้ต้องใช้ความสอดคล้องที่เข้มงวดกว่า ซึ่งส่งผลให้ประสิทธิภาพการทำงานช้าลงและทนต่อความผิดพลาดน้อยลง
  • เวิร์กโฟลว์ทั่วไปจะเกี่ยวข้องกับการเปิดใช้การตรวจสอบสิทธิ์ใน Cassandra ขณะส่งชื่อผู้ใช้และรหัสผ่านที่กำหนดเองผ่านไฟล์การกําหนดค่า การดำเนินการนี้จะสร้างผู้ใช้และรหัสผ่านที่กำหนดเองซึ่งสามารถใช้กับความต้องการได้อย่างปลอดภัย และการตรวจสอบสิทธิ์ผ่านผู้ใช้ดังกล่าวจะไม่มีข้อจำกัดเรื่องความสอดคล้องกันขององค์การ
  • โปรดทราบว่าแม้ว่าระบบอาจสร้างผู้ใช้ที่กําหนดเองแล้ว แต่ Cassandra จะยังคงสร้างผู้ใช้ที่ดูแลระบบ cassandra เริ่มต้น และเข้าถึงคลัสเตอร์ Cassandra ผ่านผู้ใช้ที่ดูแลระบบได้ โดยทั่วไปแล้ว คุณควรใช้คำสั่งบทบาทสำรองเพื่อเปลี่ยนรหัสผ่านของผู้ใช้ cassandra ไปเป็นชื่ออื่นที่ไม่ใช่ cassandra เริ่มต้นหลังจากเปิดใช้การตรวจสอบสิทธิ์ Cassandra ทั้งหมดใน Apigee เรียบร้อย บันทึกรหัสผ่านนี้ไว้ใช้อ้างอิงในอนาคต
  • คุณไม่ควรเปลี่ยนรหัสผ่านของบทบาทที่คอมโพเนนต์ edge-* ใช้ในการตรวจสอบสิทธิ์ เนื่องจากจะทำให้บริการหยุดชะงักทันที แต่คุณควรสร้างผู้ใช้ใหม่ แก้ไขคอมโพเนนต์ edge-* เพื่อใช้ผู้ใช้ใหม่ และเมื่อยืนยันเสร็จแล้ว ให้ปล่อยผู้ใช้เก่าโดยใช้คำสั่งออกจากบทบาท
  • หากต้องการเปลี่ยนบทบาทที่คอมโพเนนต์ edge-* ใช้สำหรับการตรวจสอบสิทธิ์ Cassandra ให้ทำตามขั้นตอนต่อไปนี้
    1. ทำตามขั้นตอนในส่วนที่ชื่อว่าเปิดใช้การตรวจสอบสิทธิ์เพื่อสร้างผู้ใช้ใหม่ โปรดทราบว่าหากเปิดใช้การตรวจสอบสิทธิ์ในคลัสเตอร์ของคุณแล้วและคุณได้เปลี่ยนรหัสผ่านของผู้ใช้ cassandra คุณจะต้องส่งชื่อผู้ใช้/รหัสผ่านของผู้ใช้ที่มีอยู่ผ่าน CASS_EXISTING_USERNAME และ CASS_EXISTING_PASSWORD
    2. เมื่อดำเนินการเสร็จแล้ว ให้ตรวจสอบผ่าน cqlsh ว่าคุณเชื่อมต่อกับ Cassandra ผ่านทั้งผู้ใช้เก่าและใหม่ได้
    3. กำหนดให้คอมโพเนนต์ edge-* ทั้งหมดใช้ผู้ใช้ที่สร้างใหม่เพื่อเชื่อมต่อกับ Cassandra โดยทำตามวิธีการในอัปเดตคอมโพเนนต์ Edge ที่เชื่อมต่อกับ Cassandra
    4. สุดท้าย เมื่อคอมโพเนนต์ทั้งหมดใช้ผู้ใช้ใหม่เพื่อสื่อสารกับ Cassandra แล้ว คุณสามารถยกเลิกผู้ใช้เก่าได้โดยใช้คำสั่ง DROP ROLE โปรดทราบว่าไม่ควรยกเลิกบทบาท cassandra เริ่มต้น คุณทิ้งบทบาทที่สร้างขึ้นที่กำหนดเองซึ่งคอมโพเนนต์ edge-* ไม่ได้ใช้งานเพื่อสื่อสารกับ Cassandra ได้
  • อย่าลืมอัปเดตชื่อผู้ใช้และรหัสผ่านของ Cassandra ที่ทำงานในไฟล์การกำหนดค่าที่คุณใช้สำหรับติดตั้งหรืออัปเกรดคอมโพเนนต์ 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 แล้ว อย่างไรก็ตาม หากคุณมี ติดตั้งเซิร์ฟเวอร์การจัดการ, ตัวประมวลผลข้อความ, เราเตอร์, เซิร์ฟเวอร์ Qpid หรือ Postgres แล้ว คุณต้องอัปเดตคอมโพเนนต์เหล่านั้นเพื่อใช้ข้อมูลเข้าสู่ระบบใหม่ด้วย

หากต้องการเปลี่ยนข้อมูลเข้าสู่ระบบ Cassandra หลังจากติดตั้ง Cassandra ให้ทำดังนี้

  1. เข้าสู่ระบบโหนด Cassandra ใดก็ได้โดยใช้เครื่องมือ cqlsh และค่าเริ่มต้น ข้อมูลเข้าสู่ระบบ คุณต้องเปลี่ยนรหัสผ่านในโหนดเดียวและระบบจะเผยแพร่ให้กับทุกคน โหนด Cassandra ในวงแหวน:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password

    สถานที่:

    1. cassIP คือที่อยู่ IP ของโหนด Cassandra
    2. 9042 คือพอร์ตเริ่มต้นของ Cassandra
  2. เรียกใช้คำสั่งต่อไปนี้ที่ cqlsh> ให้อัปเดตรหัสผ่านดังนี้
    ALTER ROLE <username> WITH PASSWORD='';
  3. ออกจากเครื่องมือ cqlsh ตามตัวอย่างต่อไปนี้
    exit
  4. หากยังไม่ได้ติดตั้งเซิร์ฟเวอร์การจัดการ เครื่องประมวลผลข้อความ รูทเตอร์ เซิร์ฟเวอร์ Qpid หรือเซิร์ฟเวอร์ Postgres ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกําหนดค่า แล้วติดตั้งคอมโพเนนต์เหล่านั้น
    CASS_USERNAME=cassandra_username
    CASS_PASSWORD=new_cassandra_password
  5. หากคุณติดตั้งเซิร์ฟเวอร์การจัดการไว้แล้ว ให้ไปที่ข้อความ โปรเซสเซอร์, เราเตอร์, เซิร์ฟเวอร์ Qpid หรือเซิร์ฟเวอร์ Postgres โปรดดูที่การรีเซ็ตรหัสผ่าน Edge เพื่อดูขั้นตอนในการอัปเดตรหัสผ่านเหล่านั้น ให้ใช้รหัสผ่านใหม่

เปิดใช้การตรวจสอบสิทธิ์ Cassandra หลังการติดตั้ง

วิธีเปิดใช้การตรวจสอบสิทธิ์หลังจากการติดตั้ง

อัปเดตคอมโพเนนต์ Edge ที่เชื่อมต่อกับ Cassandra

ใช้ขั้นตอนต่อไปนี้เพื่ออัปเดตคอมโพเนนต์ Edge ทั้งหมดที่สื่อสารกับ Cassandra ด้วยข้อมูลเข้าสู่ระบบใหม่ โปรดทำขั้นตอนนี้ก่อนที่จะอัปเดต Cassandra ข้อมูลเข้าสู่ระบบ:

  1. เรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์การจัดการ
    /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

    คำสั่งนี้จะรีสตาร์ทเซิร์ฟเวอร์การจัดการโดยอัตโนมัติ

  2. ทำซ้ำขั้นตอนที่ 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 และตั้งชื่อผู้ใช้และ รหัสผ่าน:

  1. สร้างไฟล์การกำหนดค่าที่ผู้ใช้ไม่ต้องดำเนินการโดยมีเนื้อหาดังต่อไปนี้
    # 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.
  2. เข้าสู่ระบบโหนด 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 ด้วย
  3. ทำซ้ำขั้นตอนที่ 1 และ 2 กับโหนด Cassandra ทั้งหมด