Bật xác thực Cassandra

Theo mặc định, Cassandra sẽ 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 thông tin xác thực của riêng mình, thì Cassandra sẽ sử dụng thông tin xác thực mặc định sau:

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

Bạn có thể sử dụng tài khoản người dùng này, đặt mật khẩu khác cho tài khoản người dùng này hoặc tạo 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ác câu lệnh CREATE/ALTER/DROP USER của Cassandra.

Để biết thêm thông tin, hãy xem Lệnh shell SQL của 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ù bạn có thể bật xác thực khi cài đặt Cassandra, bạn phải luôn sử dụng tên người dùng cassandra mặc định và mật khẩu (‘cassandra’:’cassandra’) trong quá trình cài đặt. Nếu muốn sử dụng thông tin đăng nhập Cassandra không phải 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 được liệt kê 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 thêm 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à thông tin đăng nhập cassandra:cassandra mặc định.

Sau khi hoàn tất quá trình cài đặt ban đầu, 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ế để dùng cho việc 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 để dùng thông tin đăng nhập mà bạn đã đặt ở trên.

Các thành phần Edge 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ông báo
  • 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 tự độ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 đăng nhập 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 đăng nhập 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 làm theo quy trình sau để cập nhật tất cả thành phần Edge giao tiếp với Cassandra bằng thông tin đăng nhập mới. 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 đăng nhập 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ể truyền một 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 nội dung sau:

    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 sẽ 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:
    • Tất cả bộ xử lý thông báo
    • 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 mỗi 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 cho 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 đây 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 trên một chế độ thiết lập trung tâm dữ liệu

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

    Lưu ý: Người dùng "Cassandra" là một 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. Hãy xem bài viết Giới thiệu về các 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 trong một trong những trường hợp sau, tuỳ thuộc vào trường hợp tương ứng với 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 bạn đã bật tính năng xác thực Cassandra trong một trung tâm dữ liệu hiện có bằng thông tin đăng nhập 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 đăng nhập Cassandra:Cassandra mặc định và CASS_AUTH=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 thông tin đăng nhập Cassandra mặc định.

    Nếu bạn đã bật tính năng xác thực Cassandra trong trung tâm dữ liệu hiện có bằng thông tin đăng nhập không phải 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 đăng nhập mặc định Cassandra:Cassandra và CASS_AUTH=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 đăng nhập 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 đăng nhập không phải 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 thông tin đăng nhập Cassandra không mặc định.

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

    Nếu bạn chưa bật tính năng xác thực Cassandra, 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 toàn bộ 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

    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 tên người dùng và mật khẩu Cassandra mới:

    1. Tạo tệp cấu hình tự động có nội dung như 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

      Nếu muốn, bạn có thể truyề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 đăng nhập mặc định của Cassandra, 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 đăng nhập không mặc định, lệnh này cũng thay đổi hệ số sao chép, tạo một siêu người dùng và chạy lệnh sửa chữa trên không gian khoá system_auth.
    3. Lặp lại các bước 1 và 2 trên tất cả các nút Cassandra, từng nút một.

    Thay đổi thông tin đăng nhập Cassandra sau khi cài đặt Cassandra

    Cách thay đổi thông tin đăng nhập Cassandra sau khi cài đặt Cassandra:

    1. Đăng nhập vào bất kỳ nút Cassandra nào 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 truyền đến tất cả các nút Cassandra trong vòng:
      /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 bạn đã thay đổi mật khẩu trước đó, 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, hãy đặt mật khẩu trong dấu nháy đơn.
    2. Thực thi lệnh sau tại lời nhắc 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ư trong ví dụ sau:
      exit
    4. Nếu bạn chưa 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, hãy đặt các thuộc tính sau trong 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ông báo, Bộ định tuyến, máy chủ Qpid hoặc máy chủ Postgres, hãy xem phần Đặ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.