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:
- 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ý.
- 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ể:
- Bật tính năng xác thực Cassandra lần đầu tiên bằng cách sử dụng người dùng Cassandra mặc định (
cassandra:cassandra
) hoặc bằng cách tạo một siêu người dùng hoàn toàn mới. Để thực hiện việc này, hãy làm theo các bước dưới đây:- Làm theo các bước trong phần Bật tính năng xác thực Cassandra lần đầu tiên.
- Cập nhật các thành phần của Edge kết nối với Cassandra bằng tên người dùng và mật khẩu Cassandra.
- Thay đổi mật khẩu của một người dùng Cassandra hiện tại.
Nếu đã bật tính năng xác thực Cassandra bằng thông tin xác thực Cassandra mặc định
(
cassandra:cassandra
), bạn có thể thay đổi mật khẩu bằng cách làm theo các bước dưới đây:- Thay đổi mật khẩu cho người dùng Cassandra.
- Cập nhật các thành phần của Edge kết nối với Cassandra bằng tên người dùng và mật khẩu Cassandra.
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:- 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.
- 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:
- 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.
- 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).
- 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:
- Thiết lập một trung tâm dữ liệu mới mà không cần xác thực Cassandra.
- 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).
- 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:
- 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.
- Đă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.
- 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:
- Đă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:
- cassIP là địa chỉ IP của nút Cassandra.
- 9042 là cổng Cassandra mặc định.
- Người dùng mặc định là
cassandra
. - 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.
- 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';
- Thoát khỏi công cụ
cqlsh
như ví dụ sau:exit
- 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
- 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.