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

Edge for Private Cloud v. 4.17.01

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

หากตัดสินใจเปิดใช้การตรวจสอบสิทธิ์ใน Cassandra ระบบจะใช้ข้อมูลเข้าสู่ระบบเริ่มต้นต่อไปนี้

  • username = 'cassandra'
  • password = 'cassandra'

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

ดูข้อมูลเพิ่มเติมได้ที่ http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html

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

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

หมายเหตุ: ใช้ขั้นตอนนี้เมื่อติดตั้ง Cassandra โดยใช้ตัวเลือก "-p c", "-p ds", "-p sa", "-p aio", "-p asa" และ "-p ebp"

หากต้องการเปิดใช้การตรวจสอบสิทธิ์ Cassandra ขณะติดตั้ง ให้ใส่พร็อพเพอร์ตี้ CASS_AUTH ในไฟล์การกําหนดค่าสําหรับโหนด Cassandra ทั้งหมด ดังนี้

CASS_AUTH=y # The default value is n.

คอมโพเนนต์ Edge ต่อไปนี้เข้าถึง Cassandra

  • เซิร์ฟเวอร์การจัดการ
  • ตัวประมวลผลข้อความ
  • เราเตอร์
  • เซิร์ฟเวอร์ Qpid
  • เซิร์ฟเวอร์ Postgres
  • สแต็ก BaaS

ดังนั้นเมื่อติดตั้งคอมโพเนนต์เหล่านี้ คุณต้องตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกําหนดค่าเพื่อระบุข้อมูลเข้าสู่ระบบ Cassandra

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

คุณเปลี่ยนข้อมูลเข้าสู่ระบบ Cassandra ได้หลังจากติดตั้ง Cassandra แล้ว อย่างไรก็ตาม หากคุณติดตั้งเซิร์ฟเวอร์การจัดการ เครื่องประมวลผลข้อความ รูทเตอร์ เซิร์ฟเวอร์ Qpid เซิร์ฟเวอร์ Postgres หรือ BaaS Stack ไว้แล้ว คุณต้องอัปเดตคอมโพเนนต์เหล่านั้นให้ใช้ข้อมูลเข้าสู่ระบบใหม่ด้วย

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

  1. เข้าสู่ระบบโหนด Cassandra ใดก็ได้โดยใช้เครื่องมือ cqlsh และข้อมูลเข้าสู่ระบบเริ่มต้น คุณเพียงแค่เปลี่ยนรหัสผ่านในโหนดเดียว แล้วระบบจะกระจายไปยังโหนด Cassandra ทั้งหมดในวง
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
    โดยที่
    1. cassIP คือที่อยู่ IP ของโหนด Cassandra
    2. 9042 คือพอร์ตเริ่มต้นของ Cassandra
    3. ผู้ใช้เริ่มต้นคือ cassandra
    4. รหัสผ่านเริ่มต้นคือ cassandra หากคุณเปลี่ยนรหัสผ่านไว้ก่อนหน้านี้ ให้ใช้รหัสผ่านปัจจุบัน
  2. เรียกใช้คําสั่งต่อไปนี้ตามพรอมต์ cqlsh> เพื่ออัปเดตรหัสผ่าน
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. ออกจากเครื่องมือ cqlsh
    cqlsh> exit
  4. หากคุณยังไม่ได้ติดตั้งเซิร์ฟเวอร์การจัดการ, ตัวประมวลผลข้อความ, เราเตอร์, เซิร์ฟเวอร์ Qpid, เซิร์ฟเวอร์ Postgres หรือ BaaS Stack ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในไฟล์การกำหนดค่า จากนั้นติดตั้งคอมโพเนนต์เหล่านั้น
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. หากติดตั้งเซิร์ฟเวอร์การจัดการ โปรแกรมประมวลผลข้อความ เราเตอร์ เซิร์ฟเวอร์ Qpid, เซิร์ฟเวอร์ Postgres หรือสแต็ก BaaS ไว้แล้ว โปรดดูขั้นตอนการอัปเดตคอมโพเนนต์เหล่านั้นเพื่อใช้รหัสผ่านใหม่ในการรีเซ็ตรหัสผ่าน Edge

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

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

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

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

  1. ในโหนดเซิร์ฟเวอร์การจัดการ ให้เรียกใช้คำสั่งต่อไปนี้
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    (ไม่บังคับ) คุณสามารถส่งไฟล์ไปยังคำสั่งที่มีชื่อผู้ใช้และรหัสผ่านใหม่ได้ โดยทำดังนี้
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    โดยที่ configFile มีข้อมูลต่อไปนี้
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    คำสั่งนี้จะรีสตาร์ทเซิร์ฟเวอร์การจัดการโดยอัตโนมัติ
  2. ทำขั้นตอนที่ 1 ซ้ำใน
    • Message Processor ทั้งหมด
    • เราเตอร์ทั้งหมด
    • เซิร์ฟเวอร์ Qpid ทั้งหมด (edge-qpid-server)
    • เซิร์ฟเวอร์ Postgres (edge-postgres-server)
  3. ในโหนดสแต็ก BaaS สำหรับเวอร์ชัน 4.16.05.04 ขึ้นไป ให้ทำดังนี้
    1. เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างรหัสผ่านที่เข้ารหัส
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      คำสั่งนี้จะแจ้งให้คุณป้อนรหัสผ่านแบบข้อความธรรมดาและแสดงรหัสผ่านที่เข้ารหัสในรูปแบบ
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. ตั้งค่าโทเค็นต่อไปนี้ใน /opt/apigee/customer/application/usergrid.properties หากไม่มีไฟล์ดังกล่าว ให้สร้างไฟล์
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      ตัวอย่างนี้ใช้ชื่อผู้ใช้เริ่มต้นสำหรับ Cassandra หากเปลี่ยนชื่อผู้ใช้แล้ว ให้กำหนดค่า usergrid-deployment_cassandra.username ตามนั้น

      ตรวจสอบว่าได้ใส่คำนำหน้า "SECURE:" ในรหัสผ่าน มิฉะนั้น สแต็ก BaaS จะตีความค่าดังกล่าวว่าไม่ได้เข้ารหัส

      หมายเหตุ: โหนดสแต็ก BaaS แต่ละรายการมีคีย์ที่ไม่ซ้ำกันซึ่งใช้เข้ารหัสรหัสผ่าน ดังนั้น คุณต้องสร้างค่าที่เข้ารหัสบนโหนดสแต็ก BaaS แต่ละโหนดแยกกัน
    3. เปลี่ยนการเป็นเจ้าของไฟล์ usergrid.properties เป็นผู้ใช้ "apigee"
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. กำหนดค่าโหนดสแต็ก
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. รีสตาร์ทสแต็ก BaaS ตามขั้นตอนต่อไปนี้
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergridRestart
    6. ทำขั้นตอนเหล่านี้ซ้ำสำหรับโหนด BaaS Stack ทั้งหมด

ใช้ขั้นตอนต่อไปนี้เพื่อเปิดใช้การตรวจสอบสิทธิ์ Cassandra และตั้งค่าชื่อผู้ใช้และรหัสผ่าน

  1. เข้าสู่ระบบโหนด Cassandra แรก
  2. เรียกใช้คำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    คำสั่งนี้จะเปิดใช้การตรวจสอบสิทธิ์และรีสตาร์ท Cassandra

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

    สถานที่

    • cassIP คือที่อยู่ IP ของโหนด Cassandra
    • 9042 คือพอร์ต Cassandra
    • ผู้ใช้เริ่มต้นคือ cassandra
    • รหัสผ่านเริ่มต้นคือ cassandra หากคุณเปลี่ยนรหัสผ่านไว้ก่อนหน้านี้ ให้ใช้รหัสผ่านปัจจุบัน
  5. เรียกใช้คำสั่งต่อไปนี้ที่พรอมต์ cqlsh> เพื่ออัปเดตรหัสผ่าน
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. เรียกใช้คำสั่งต่อไปนี้ที่พรอมต์ cqlsh> เพื่อให้แน่ใจว่าพื้นที่คีย์จะพร้อมใช้งานเสมอ สําหรับศูนย์ข้อมูลแห่งเดียว ให้ทําดังนี้
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    สําหรับศูนย์ข้อมูล 2 แห่ง ให้ทําดังนี้
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. ออกจากเครื่องมือ cqlsh:
    exit
  8. เรียกใช้ nodetool repair เพื่อให้แน่ใจว่าการเปลี่ยนแปลงจะเผยแพร่ไปยังโหนด Cassandra ทั้งหมด:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth