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. Tức là ai cũng có thể truy cập Cassandra. 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 của chúng tôi.

Nếu bạn quyết định bật tính năng xác thực trên Cassandra, phương thức này sẽ sử dụng cơ chế xác thực sau thông tin xác thực:

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

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

Để biết thêm thông tin, hãy xem các lệnh shell SQL của Casandra.

Bật tính năng xác thực Cassandra trong 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 không thể thay đổi tên người dùng và mật khẩu mặc định. Bạn phải thực hiện bước đó theo cách thủ công sau khi cài đặt Cassandra hoàn tất.

Để bật tính năng xác thực Cassandra tại thời điểm cài đặt, hãy thêm CASS_AUTH trong tệp cấu hình cho tất cả các nút Cassandra:

CASS_AUTH=y # The default value is n.

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

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

Do đó, khi cài đặt các thành phần này, bạn phải đặt các thuộc tính sau trong để chỉ định thông tin xác thực Cassandra:

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

Bạn có thể thay đổi thông tin đăng nhập Cassandra sau khi cài đặt Cassandra. Tuy nhiên, nếu bạn có đã cài đặt Máy chủ quản lý, Bộ xử lý thư, Bộ định tuyến, máy chủ Qpid hoặc Postgres máy chủ, 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.

Cách thay đổi thông tin đăng nhập 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à tuỳ chọn mặc định thông tin xác thực. Bạn chỉ phải thay đổi mật khẩu trên một nút và mật khẩu sẽ được phát đi cho 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 đã đổi mật khẩu trước đây, hãy sử dụng mật khẩu hiện tại. Nếu mật khẩu chứa bất kỳ ký tự đặc biệt nào, hãy đặt dòng tiê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ư, 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 config 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ý, 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 mật khẩu đó để sử dụng mật khẩu mới.

Bật bài đăng xác thực Cassandra cài đặt

Cách bật tính năng xác thực:

  • Cập nhật tất cả các thành phần của Edge kết nối với Cassandra bằng tên người dùng Cassandra và mật khẩu.
  • Trên tất cả các nút Cassandra, hãy bật tính năng xác thực.
  • Đặt tên người dùng và mật khẩu Cassandra trên một nút bất kỳ. Bạn chỉ phải thay đổi thông tin xác thực trên một nút Cassandra và các thông tin này sẽ được phát đến tất cả các nút Cassandra trong chuông.

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 đăng nhập mới. Lưu ý rằng bạn thực hiện bước này trước khi thực sự cập nhật Cassandra thông tin xác thực:

  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 vào lệnh chứa tên người dùng và mật khẩu mới:

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

    Trong trường hợp 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 chars

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

  2. Đối với từng dịch vụ sau, hãy lặp lại Bước 1:
    • Tất cả bộ xử lý tin nhắn
    • 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 ở trên cùng với tên dịch vụ thích hợp. Ví dụ: khi bạn thực hiện 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

Sử dụng quy trình sau để bật tính năng xác thực Cassandra, đồng thời thiết lập tên người dùng và mật khẩu:

  1. Đăng nhập vào nút Cassandra đầu tiên.
  2. Thực thi lệnh sau:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Lệnh này sẽ bật xác thực và khởi động lại Cassandra.

  3. Lặp lại bước 1 và 2 trên tất cả các nút Cassandra.
  4. Đăng nhập vào một nút Cassandra bất kỳ bằng công cụ cqlsh và tuỳ chọn mặc định thông tin xác thực. Bạn chỉ phải thay đổi mật khẩu trên một nút Cassandra và mật khẩu đó sẽ truyền tin đế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 đó

    • cassIP là địa chỉ IP của nút Cassandra.
    • 9042 là cổng Cassandra.
    • Người dùng mặc định là cassandra.
    • Mật khẩu mặc định là cassandra. Nếu bạn đã đổi mật khẩu trước đây, hãy sử dụng mật khẩu hiện tại.
  5. 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';
  6. Thực thi lệnh sau tại lời nhắc cqlsh> để đảm bảo rằng không gian phím luôn khả dụng.

    Đối với một trung tâm dữ liệu:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};

    Đối với hai trung tâm dữ liệu:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Thoát khỏi công cụ cqlsh:
    exit
  8. Chạy nodetool repair để đảm bảo thay đổi được áp dụng cho tất cả Nút Cassandra, như trong ví dụ sau đây:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth

    Bạn chỉ cần chuyển tên người dùng và mật khẩu của mình nếu bạn bật tính năng xác thực JMX cho Cassandra.