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 là một phần của quá trình cài đặt của chúng tôi.
Bạn có thể thêm, xoá và sửa đổi vai trò bằng cách sử dụng câu lệnh Cassandra CREATE
/ALTER
/DROP ROLES
. Để biết thêm thông tin, hãy xem phần dưới đây:
Một số điểm chung cần cân nhắc
- Thời điểm bạn bật tính năng xác thực Cassandra, một cassandra siêu người dùng mặc định (có mật khẩu là cassandra) sẽ được Cassandra tự động tạo. Đây là người dùng cấp cao được biết đến rộng rãi và bạn không nên sử dụng người dùng này cho nhu cầu phát hành công khai. Ngoài ra, việc xác thực qua người dùng cao cấp này đòi hỏi tính nhất quán về đại số. Do đó, tất cả các kết nối để xác thực Cassandra thông qua người dùng này đều yêu cầu tính nhất quán nghiêm ngặt hơn, dẫn đến hiệu suất chậm hơn và ít kháng lỗi hơn.
- Quy trình làm việc thông thường sẽ bao gồm việc bật tính năng xác thực trong Cassandra khi truyền tên người dùng và mật khẩu tuỳ chỉnh thông qua tệp cấu hình. Thao tác này sẽ tạo người dùng và mật khẩu tuỳ chỉnh mà bạn có thể sử dụng một cách an toàn cho nhu cầu của mình. Ngoài ra, việc xác thực thông qua những người dùng đó không có quy định hạn chế về tính nhất quán đối với đại số.
- Hãy nhớ rằng mặc dù bạn có thể đã tạo người dùng tuỳ chỉnh, nhưng Cassandra vẫn tạo người dùng cấp cao cassandra mặc định và bạn có thể truy cập vào cụm Cassandra thông qua người dùng cấp cao. Thông thường, bạn nên sử dụng lệnh ALTER ROLE để thay đổi mật khẩu của người dùng cassandra này thành một mật khẩu khác với cassandra mặc định sau khi bật tính năng xác thực Cassandra thành công trên bảng trong Apigee. Hãy lưu lại mật khẩu này để tham khảo sau này.
- Bạn KHÔNG nên thay đổi mật khẩu của vai trò mà các thành phần edge-* đang sử dụng để xác thực vì việc đó sẽ gây gián đoạn dịch vụ ngay lập tức. Thay vào đó, bạn nên tạo một người dùng hoàn toàn mới, sửa đổi các thành phần edge-* để sử dụng người dùng mới và sau khi hoàn tất, hãy bỏ người dùng cũ bằng lệnh DROP ROLE.
- Để thay đổi vai trò mà các thành phần Edge-* sử dụng đối với phương thức xác thực Cassandra, hãy làm theo các bước sau:
- Làm theo các bước trong phần có tiêu đề Bật xác thực để tạo người dùng mới. Xin lưu ý rằng nếu tính năng xác thực đã bật trong cụm của bạn và bạn đã thay đổi mật khẩu của người dùng cassandra, thì bạn sẽ phải chuyển tổ hợp tên người dùng/mật khẩu của một người dùng hiện có qua
CASS_EXISTING_USERNAME
vàCASS_EXISTING_PASSWORD
. - Sau khi hoàn tất, hãy xác thực qua CQLSh để đảm bảo rằng bạn có thể kết nối với Cassandra thông qua cả người dùng cũ và người dùng mới.
- Chỉ định tất cả thành phần edge-* để sử dụng người dùng mới tạo để kết nối với Cassandra bằng cách làm theo hướng dẫn trong phần Cập nhật các thành phần Edge kết nối với Cassandra.
- Cuối cùng, khi tất cả các thành phần đang sử dụng người dùng mới để giao tiếp với Cassandra, bạn có thể loại bỏ người dùng cũ bằng lệnh
DROP ROLE
. Lưu ý rằng bạn không được loại bỏ vai trò casandra mặc định. Bạn có thể bỏ bất kỳ vai trò được tạo tuỳ chỉnh nào mà các thành phần edge-* không sử dụng để giao tiếp với Cassandra.
- Làm theo các bước trong phần có tiêu đề Bật xác thực để tạo người dùng mới. Xin lưu ý rằng nếu tính năng xác thực đã bật trong cụm của bạn và bạn đã thay đổi mật khẩu của người dùng cassandra, thì bạn sẽ phải chuyển tổ hợp tên người dùng/mật khẩu của một người dùng hiện có qua
- Hãy nhớ cập nhật tên người dùng và mật khẩu Cassandra đang hoạt động trong tệp cấu hình mà bạn dùng để cài đặt hoặc nâng cấp các thành phần của Edge. Việc này sẽ giúp loại bỏ hoặc giảm thiểu mọi sự gián đoạn trong các hoạt động cạnh tranh.
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.
Để 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
Khi cài đặt các thành phần này, bạn phải đặt tên người dùng và mật khẩu trong tệp cấu hình:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
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:
- Đă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_username -p cassandra_password
Trong trường hợp:
- cassIP là địa chỉ IP của nút Cassandra.
- 9042 là cổng Cassandra mặc định.
- Thực thi lệnh sau tại cqlsh> lời nhắc cập nhật mật khẩu:
ALTER ROLE <username> WITH 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ư,
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_username CASS_PASSWORD=new_cassandra_password
- 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 sau khi cài đặt:
- 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.
- Bật tính năng xác thực trên tất cả các nút Cassandra, và đặ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.
Cập nhật các thành phần của Edge kết nối với Cassandra
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:
- 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
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 (không bắt buộc):
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ý.
- Đố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
Bật tính năng xác thực
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:
- Tạo tệp cấu hình im lặ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_username # Default value is cassandra - don't use for production # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production # 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 changed details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=existing_cassandra_username # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=existing_cassandra_password # 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ể chuyển các thuộc tính dưới dạng đối số lệnh đến tập lệnh, như minh hoạ trong ví dụ sau:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password 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 ý:
- Để đặt mặc định Thông tin xác thực 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 xác thực không mặc định, lệnh này cũng thay đổi hệ số nhân bản, tạo
siêu người dùng và chạy bản sửa chữa trên
system_auth keyspace
.
- Lặp lại bước 1 và 2 trên tất cả các nút Cassandra.