Bật xác thực Cassandra

Theo mặc định, Cassandra cài đặt mà không bật tính năng xác thực. Điều đó có nghĩa là bất kỳ ai có quyền truy cập vào máy chủ Cassandra của bạn đều có thể truy vấn cơ sở dữ liệu Cassandra mà không cần xác thực. Bạn có thể bật tính năng xác thực sau khi cài đặt Edge hoặc trong quá trình cài đặt.

Nếu bạn quyết định bật tính năng xác thực trên Cassandra mà không cung cấp bất kỳ thông tin xác thực nào của riêng mình, thì quy trình xác thực sẽ sử dụng thông tin xác thực mặc định sau đây:

  • tên người dùng = 'cassandra'
  • mật khẩu = 'cassandra'

Bạn có thể sử dụng tài khoản người dùng này, đặt một mật khẩu khác cho tài khoản người dùng này hoặc tạo một người dùng Cassandra mới. Thêm, xoá và sửa đổi người dùng bằng cách sử dụng câu lệnh CREATE/ALTER/DROP USER của Cassandra.

Để biết thêm thông tin, hãy xem phần Các lệnh shell SQL Cassandra.

Bật tính năng xác thực Cassandra trong quá trình cài đặt

Bạn có thể bật tính năng xác thực Cassandra tại thời điểm cài đặt. Tuy nhiên, mặc dù có thể bật tính năng xác thực khi cài đặt Cassandra, bạn phải luôn sử dụng tên người dùng và mật khẩu cassandra mặc định (‘cassandra’:’cassandra’) trong quá trình cài đặt. Nếu muốn sử dụng thông tin xác thực Cassandra không mặc định, bạn phải bật lại tính năng xác thực Cassandra sau khi cài đặt bằng cách làm theo các bước tại đây.

Nếu bạn muốn bật tính năng xác thực Cassandra trong quá trình cài đặt Cassandra mới, hãy đưa các thuộc tính bên dưới vào tệp cấu hình cho tất cả các nút Cassandra:

CASS_AUTH=y
CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Sau đó, quá trình cài đặt sẽ thiết lập Cassandra khi đã bật tính năng xác thực và có thông tin đăng nhập cassandra:cassandra mặc định.

Sau khi quá trình cài đặt ban đầu hoàn tất, bạn có thể làm theo một hoặc nhiều bước sau:

  • Tạo một người dùng thay thế sẽ dùng để xác thực Cassandra bằng cách làm theo quy trình tại đây.
  • Thay đổi mật khẩu của người dùng Cassandra mặc định bằng cách làm theo các bước tại đây.
  • Cài đặt các thành phần Edge sử dụng Cassandra để sử dụng thông tin xác thực bạn đã đặt ở trên.

Các thành phần cạnh kết nối với Cassandra

Các thành phần Edge sau đây truy cập vào Cassandra:

  • Máy chủ quản lý
  • Bộ xử lý thư
  • Bộ định tuyến
  • Máy chủ Qpid
  • Máy chủ Postgres

Cài đặt các thành phần Edge khi bật tính năng xác thực Cassandra

Nếu bật tính năng xác thực Cassandra khi cài đặt các thành phần Edge này lần đầu tiên, bạn cần cung cấp các chế độ cài đặt sau trong tệp cấu hình im lặng:

CASS_AUTH=Y
CASS_USERNAME=<valid username in Cassandra>
CASS_PASSWORD=<password for the above username>

Bạn có thể thay đổi thông tin xác thực Cassandra sau khi cài đặt Cassandra. Tuy nhiên, nếu đã cài đặt Máy chủ quản lý, Bộ xử lý thông báo, Bộ định tuyến, máy chủ Qpid hoặc máy chủ Postgres, thì bạn cũng phải cập nhật các thành phần đó để sử dụng thông tin xác thực mới, như mô tả trong phần tiếp theo.

Cập nhật các thành phần Edge kết nối với Cassandra

Hãy sử dụng quy trình sau để cập nhật tất cả các thành phần Edge giao tiếp với Cassandra bằng thông tin xác thực mới. Xin lưu ý rằng bạn phải thực hiện bước này trước khi thực sự cập nhật thông tin xác thực Cassandra:

  1. Trên nút Máy chủ quản lý, hãy chạy lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password

    Nếu muốn, bạn có thể chuyển tệp chứa tên người dùng và mật khẩu mới vào lệnh:

    apigee-service edge-management-server store_cassandra_credentials  -f configFile

    trong đó configFile chứa:

    CASS_USERNAME=cassandra_username # Default is cassandra
    CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special characters.

    Lệnh này tự động khởi động lại Máy chủ quản lý.

  2. Lặp lại bước 1 cho từng dịch vụ sau đây:
    • Tất cả các bộ xử lý thư
    • Tất cả bộ định tuyến
    • Tất cả máy chủ Qpid (edge-qpid-server)
    • Máy chủ Postgres (edge-postgres-server)

    Khi bạn lặp lại bước 1 cho từng dịch vụ, hãy thay thế edge-management-server trong lệnh trên bằng tên dịch vụ thích hợp. Ví dụ: khi bạn thực thi bước này cho một dịch vụ Bộ định tuyến, hãy sử dụng lệnh sau:

    /opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra

    Bật tính năng xác thực Cassandra sau khi cài đặt

    Các phần sau giải thích cách bật tính năng xác thực Cassandra sau khi cài đặt.

    Bật tính năng xác thực Cassandra trong một thiết lập trung tâm dữ liệu

    Đối với cách thiết lập Apigee dựa trên trung tâm dữ liệu đơn lẻ và đã cài đặt Cassandra, bạn có thể:

    Lưu ý: Người dùng "Cassandra" là người dùng đặc biệt trong Cassandra. Việc xác thực bằng người dùng này yêu cầu tính nhất quán QUORUM. Xem Giới thiệu về mức độ nhất quán của Cassandra.

    Bật tính năng xác thực Cassandra khi có nhiều trung tâm dữ liệu

    Khi mở rộng trung tâm dữ liệu, hãy làm theo các bước ở một trong các trường hợp sau, tuỳ thuộc vào trường hợp tương ứng với cách thiết lập của bạn.

    Trường hợp 1: Trung tâm dữ liệu hiện có đã bật tính năng xác thực Cassandra

    Nếu tính năng xác thực Cassandra đã được bật trong một trung tâm dữ liệu hiện có bằng thông tin xác thực cassandra:cassandra mặc định, hãy làm theo các bước dưới đây:

    1. Thiết lập một trung tâm dữ liệu mới bằng thông tin xác thực mặc định của Cassandra:Cassandra & CASS_AUTH=y. Hãy xem phần Bật tính năng xác thực Cassandra lần đầu tiên.
    2. Cài đặt các thành phần Edge trong trung tâm dữ liệu mới bằng cách sử dụng thông tin xác thực Cassandra mặc định.

    Nếu phương thức xác thực Cassandra đã được bật trong trung tâm dữ liệu hiện có bằng thông tin xác thực không phải mặc định, hãy làm theo các bước bên dưới:

    1. Thiết lập một trung tâm dữ liệu mới có thông tin xác thực Cassandra:Cassandra mặc định và CASS_AUTH=y. Hãy xem phần Bật tính năng xác thực Cassandra lần đầu tiên.
    2. Làm theo các bước Bật tính năng xác thực Cassandra lần đầu tiên để sử dụng lại thông tin xác thực từ một trung tâm dữ liệu hiện có (nếu trung tâm dữ liệu hiện có đang sử dụng thông tin xác thực không phải là thông tin mặc định).
    3. Cài đặt các thành phần Edge trong trung tâm dữ liệu mới bằng cách sử dụng thông tin xác thực Cassandra không mặc định.

    Trường hợp 2: Trung tâm dữ liệu hiện có không bật tính năng xác thực Cassandra

    Nếu tính năng xác thực cassandra chưa được bật, hãy làm theo các bước sau:

    1. Thiết lập một trung tâm dữ liệu mới mà không cần xác thực Cassandra.
    2. Làm theo các bước Bật tính năng xác thực Cassandra lần đầu tiên để bật tính năng xác thực Cassandra trên cụm (sau khi mở rộng).
    3. Cập nhật các thành phần Edge kết nối với Cassandra bằng cách làm theo các bước tại đây.

    Bật tính năng xác thực Cassandra lần đầu tiên

    Hãy sử dụng quy trình sau để bật tính năng xác thực Cassandra lần đầu tiên hoặc để tạo một tên người dùng và mật khẩu Cassandra mới:

    1. Tạo tệp cấu hình im lặng với nội dung được hiển thị dưới đây:
      # 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 # Default value is cassandra
      # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
      CASS_PASSWORD=cassandra # Default value is cassandra
      
      # 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 change details of the default cassandra user(‘cassandra’)
      CASS_EXISTING_USERNAME=cassandra  # The default username is cassandra
      # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
      CASS_EXISTING_PASSWORD=cassandra  # The default password is cassandra
      
      # Cassandra port
      CASS_PORT=9042 # The default port is 9042.
    2. Đăng nhập vào nút Cassandra đầu tiên và thực thi lệnh sau:
      apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG

      Bạn có thể tuỳ ý chuyển các thuộc tính dưới dạng đối số lệnh cho tập lệnh, như trong ví dụ sau:

      CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra  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

      Lưu ý:

      • Đối với thông tin xác thực Cassandra mặc định, lệnh ở trên sẽ bật tính năng xác thực Cassandra và khởi động lại Cassandra.
      • Đối với thông tin xác thực không mặc định, lệnh này cũng thay đổi hệ số sao chép, tạo siêu người dùng và chạy sửa chữa trên không gian khoá system_auth.
    3. Lặp lại lần lượt các bước 1 và 2 trên tất cả các nút Cassandra.

    Thay đổi thông tin xác thực Cassandra sau khi cài đặt Cassandra

    Cách thay đổi thông tin xác thực Cassandra sau khi cài đặt Cassandra:

    1. Đăng nhập vào một nút Cassandra bất kỳ bằng công cụ cqlsh và thông tin đăng nhập mặc định. Bạn chỉ cần thay đổi mật khẩu trên một nút và mật khẩu sẽ được thông báo đến tất cả các nút Cassandra trong vòng tròn:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

      Trong trường hợp:

      1. cassIP là địa chỉ IP của nút Cassandra.
      2. 9042 là cổng Cassandra mặc định.
      3. Người dùng mặc định là cassandra.
      4. Mật khẩu mặc định là cassandra. Nếu trước đây bạn đã đổi mật khẩu, hãy sử dụng mật khẩu hiện tại. Nếu mật khẩu chứa ký tự đặc biệt bất kỳ, hãy đặt mật khẩu đó trong dấu ngoặc đơn.
    2. Thực thi lệnh sau đây tại lời nhắc của cqlsh> để cập nhật mật khẩu:
      ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
    3. Thoát khỏi công cụ cqlsh như ví dụ sau:
      exit
    4. Nếu bạn chưa cài đặt Máy chủ quản lý, Bộ xử lý thư, Bộ định tuyến, máy chủ Qpid hoặc máy chủ Postgres, hãy thiết lập những thuộc tính sau vào tệp cấu hình rồi cài đặt các thành phần đó:
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. Nếu bạn đã cài đặt Máy chủ quản lý, Bộ xử lý thư, Bộ định tuyến, máy chủ Qpid hoặc máy chủ Postgres, hãy xem bài viết Đặt lại mật khẩu Edge để biết quy trình cập nhật các thành phần đó nhằm sử dụng mật khẩu mới.