Secara default, Cassandra diinstal tanpa mengaktifkan autentikasi. Itu berarti siapa pun dapat mengakses Cassandra. Anda dapat mengaktifkan autentikasi setelah menginstal Edge, atau sebagai bagian dari penginstalan {i>checkout<i}.
Anda dapat menambahkan, menghapus, dan mengubah peran menggunakan pernyataan CREATE
/ALTER
/DROP ROLES
Cassandra. Untuk informasi selengkapnya, lihat referensi berikut:
Beberapa pertimbangan umum
- Saat Anda mengaktifkan autentikasi Cassandra, pengguna super default cassandra (dengan sandi cassandra) akan dibuat secara otomatis oleh Cassandra. Pengguna ini adalah pengguna super yang telah dikenal luas, dan Anda sebaiknya tidak menggunakannya untuk kebutuhan produksi Anda. Selain itu, autentikasi melalui superuser ini memerlukan konsistensi kuorum. Oleh karena itu, semua koneksi ke autentikasi Cassandra melalui pengguna ini memerlukan konsistensi yang lebih ketat, sehingga menghasilkan performa yang lebih lambat dan kurang fault-tolerant.
- Alur kerja umum akan melibatkan pengaktifan autentikasi di Cassandra sambil meneruskan nama pengguna dan sandi kustom melalui file konfigurasi. Langkah ini akan membuat pengguna dan {i>password<i} khusus yang dapat Anda gunakan dengan aman sesuai kebutuhan, dan autentikasi melalui pengguna tersebut tidak memiliki batasan konsistensi kuorum.
- Perlu diingat bahwa meskipun pengguna kustom mungkin telah dibuat, Cassandra tetap membuat pengguna super cassandra default, dan cluster Cassandra Anda dapat diakses melalui superuser. Biasanya Anda harus menggunakan perintah ALTER ROLE untuk mengubah sandi pengguna cassandra ini menjadi sandi selain cassandra default setelah autentikasi Cassandra berhasil diaktifkan secara menyeluruh di Apigee. Simpan data sandi ini untuk referensi pada masa mendatang.
- Anda TIDAK boleh mengubah sandi peran yang digunakan komponen edge-* untuk autentikasi karena tindakan tersebut akan langsung menyebabkan gangguan layanan. Sebagai gantinya, Anda harus membuat pengguna baru, mengubah komponen edge-* untuk menggunakan pengguna baru, dan setelah selesai, lepaskan pengguna lama menggunakan perintah DROP ROLE.
- Untuk mengubah peran yang digunakan oleh komponen edge-* untuk autentikasi Cassandra, ikuti langkah-langkah berikut:
- Ikuti langkah-langkah di bagian yang berjudul Aktifkan Autentikasi untuk membuat pengguna baru. Perhatikan bahwa jika autentikasi sudah diaktifkan di cluster Anda dan Anda telah mengubah sandi pengguna cassandra, Anda harus meneruskan kombinasi nama pengguna/sandi dari pengguna yang ada melalui
CASS_EXISTING_USERNAME
danCASS_EXISTING_PASSWORD
. - Setelah selesai, validasi melalui cqlsh bahwa Anda dapat terhubung ke Cassandra melalui pengguna lama dan baru.
- Arahkan semua komponen edge-* untuk menggunakan pengguna yang baru dibuat agar dapat terhubung ke Cassandra dengan mengikuti petunjuk di Mengupdate komponen Edge yang terhubung ke Cassandra.
- Terakhir, saat semua komponen menggunakan pengguna baru untuk berkomunikasi dengan Cassandra, Anda dapat menghapus pengguna lama menggunakan perintah
DROP ROLE
. Perhatikan bahwa peran cassandra default tidak boleh dihapus. Anda dapat menghapus peran buatan kustom yang tidak digunakan oleh komponen edge-* untuk berkomunikasi dengan Cassandra.
- Ikuti langkah-langkah di bagian yang berjudul Aktifkan Autentikasi untuk membuat pengguna baru. Perhatikan bahwa jika autentikasi sudah diaktifkan di cluster Anda dan Anda telah mengubah sandi pengguna cassandra, Anda harus meneruskan kombinasi nama pengguna/sandi dari pengguna yang ada melalui
- Ingatlah untuk memperbarui nama pengguna dan sandi Cassandra yang fungsional di file konfigurasi yang Anda gunakan untuk menginstal atau mengupgrade komponen Edge. Tindakan ini akan menghilangkan atau meminimalkan gangguan selama operasi edge.
Mengaktifkan autentikasi Cassandra selama penginstalan
Anda dapat mengaktifkan autentikasi Cassandra pada waktu penginstalan.
Untuk mengaktifkan autentikasi Cassandra pada waktu penginstalan, sertakan CASS_AUTH
di file konfigurasi untuk semua node Cassandra:
CASS_AUTH=y # The default value is n.
Komponen Edge berikut mengakses Cassandra:
- Server Pengelolaan
- Pemroses Pesan
- Router
- Server Qpid
- Server Postgres
Saat menginstal komponen ini, Anda harus menetapkan nama pengguna dan sandi di file konfigurasi:
CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password
Anda dapat mengubah kredensial Cassandra setelah menginstal Cassandra. Namun, jika Anda memiliki sudah menginstal Server Pengelolaan, Pemroses Pesan, Router, server Qpid, atau Postgres server, Anda juga harus memperbarui komponen tersebut agar dapat menggunakan kredensial baru.
Untuk mengubah kredensial Cassandra setelah menginstal Cassandra:
- Login ke salah satu node Cassandra menggunakan alat
cqlsh
dan kredensial default. Anda hanya perlu mengubah sandi di satu {i>node<i} dan {i>node<i} akan disiarkan ke semua Node Cassandra di dalam cincin:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password
Dengan keterangan:
- cassIP adalah alamat IP node Cassandra.
- 9042 adalah port Cassandra default.
- Jalankan perintah berikut di {i>cqlsh><i} perintah untuk memperbarui sandi:
ALTER ROLE <username> WITH PASSWORD='
'; - Keluar dari alat
cqlsh
, seperti yang ditunjukkan pada contoh berikut:exit
- Jika belum menginstal Server Pengelolaan, Pemroses Pesan,
Router, server Qpid, atau server Postgres, menetapkan properti berikut dalam
file konfigurasi, lalu instal komponen tersebut:
CASS_USERNAME=cassandra_username CASS_PASSWORD=new_cassandra_password
- Jika Anda telah menginstal Server Pengelolaan, Message Processor, Router, server Qpid, atau server Postgres, lihat Mereset Sandi Edge untuk mengetahui prosedur mengupdate komponen tersebut agar menggunakan sandi baru.
Aktifkan postingan autentikasi Cassandra penginstalan
Untuk mengaktifkan autentikasi setelah penginstalan:
- Perbarui semua komponen Edge yang terhubung ke Cassandra dengan nama pengguna dan Cassandra {i>password<i}.
- Mengaktifkan autentikasi di semua node Cassandra, dan mengatur nama pengguna dan {i> password<i} Cassandra pada satu {i>node<i}. Anda hanya perlu mengubah kredensial pada satu {i>node<i} Cassandra dan mereka akan disiarkan ke semua {i>node<i} Cassandra di cincin.
Mengupdate komponen Edge yang terhubung ke Cassandra
Gunakan prosedur berikut untuk memperbarui semua komponen Edge yang berkomunikasi dengan Cassandra dengan kredensial baru. Perhatikan bahwa Anda melakukan langkah ini sebelum benar-benar memperbarui Cassandra kredensial:
- Pada node Management Server, jalankan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
Secara opsional, Anda dapat meneruskan file ke perintah yang berisi nama pengguna dan sandi baru:
apigee-service edge-management-server store_cassandra_credentials -f configFile
Dengan configFile berisi hal berikut:
CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars
Perintah ini akan otomatis memulai ulang Server Pengelolaan.
- Untuk setiap layanan berikut, ulangi Langkah 1:
- Semua Pemroses Pesan
- Semua Router
- Semua server Qpid (edge-qpid-server)
- Server postgres (server-edge-postgres)
Jika Anda mengulangi Langkah 1 untuk setiap layanan, ganti
edge-management-server
di di atas dengan nama layanan yang sesuai. Misalnya, ketika Anda mengeksekusi langkah untuk layanan Router, gunakan perintah berikut:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
Aktifkan autentikasi
Gunakan prosedur berikut untuk mengaktifkan otentikasi Cassandra dan menetapkan nama pengguna dan kata sandi:
- Buat file konfigurasi senyap dengan konten yang ditampilkan di bawah:
# 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.
Login ke node Cassandra pertama dan jalankan perintah berikut:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
Secara opsional, Anda dapat meneruskan properti sebagai argumen perintah ke skrip, seperti yang ditunjukkan dalam contoh berikut:
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
Catatan:
- Untuk default Kredensial Cassandra, perintah di atas memungkinkan autentikasi Cassandra dan memulai ulang Cassandra.
- Untuk kredensial non-default, perintah itu juga mengubah faktor replikasi,
superuser, dan menjalankan perbaikan pada
system_auth keyspace
.
- Ulangi langkah 1 dan 2 di semua node Cassandra.