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:
- 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 đó
configFilechứ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ý.
- 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-servertrong 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ể:
- 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 người dùng cấp cao hoàn toàn mới. Để làm như vậ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 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 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 đăng nhập 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 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à 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:cassandramặ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 đă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.
- 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:
- 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.
- 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).
- 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:
- 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 toàn bộ 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
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:
- 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.
- Đă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.
- 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:
- Đăng nhập vào bất kỳ nút Cassandra nào bằng công cụ
cqlshvà 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:
- 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 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.
- 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';
- Thoát khỏi công cụ
cqlsh, như trong ví dụ sau:exit
- 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
- 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.