Mengaktifkan autentikasi Cassandra

Secara default, Cassandra menginstal 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}.

Jika Anda memutuskan untuk mengaktifkan autentikasi di Cassandra, metode ini akan menggunakan kredensial:

  • nama pengguna = 'cassandra'
  • sandi = 'cassandra'

Anda dapat menggunakan akun ini, menetapkan sandi lain untuk akun ini, atau membuat Cassandra baru . Tambahkan, hapus, dan ubah pengguna menggunakan CREATE/ALTER/DROP USER Cassandra pernyataan pribadi Anda.

Untuk mengetahui informasi selengkapnya, lihat Perintah shell SQL Cassandra.

Aktifkan autentikasi Cassandra selama penginstalan

Anda dapat mengaktifkan autentikasi Cassandra pada waktu penginstalan. Namun, meski Anda dapat mengaktifkan ketika Anda menginstal {i>Cassandra<i}, Anda tidak dapat mengubah nama pengguna dan {i>password<i} {i>default<i}. Anda harus melakukan langkah tersebut secara manual setelah penginstalan Cassandra selesai.

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

Oleh karena itu, saat menginstal komponen, Anda harus menetapkan properti berikut pada file konfigurasi untuk menentukan kredensial Cassandra:

CASS_USERNAME=cassandra
CASS_PASSWORD=cassandra

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:

  1. Login ke salah satu node Cassandra menggunakan alat cqlsh dan setelan default memiliki kredensial yang lengkap. 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 -p cassandra

    Dengan keterangan:

    1. cassIP adalah alamat IP node Cassandra.
    2. 9042 adalah port Cassandra default.
    3. Pengguna default adalah cassandra.
    4. Sandi default-nya adalah cassandra. Jika Anda mengubah sandi sebelumnya, gunakan {i> password<i} saat ini. Jika {i>password<i} berisi karakter khusus, menggabungkannya dalam tanda kutip tunggal.
  2. Jalankan perintah berikut pada prompt cqlsh> untuk memperbarui sandi:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Keluar dari alat cqlsh, seperti yang ditunjukkan contoh berikut:
    exit
  4. 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
    CASS_PASSWORD=NEW_PASSWORD
  5. Jika Anda telah menginstal Server Pengelolaan, Prosesor, Router, server Qpid, atau server Postgres, kemudian lihat Mereset Sandi Edge untuk mengetahui prosedur cara memperbaruinya untuk menggunakan {i>password<i} baru.

Aktifkan postingan autentikasi Cassandra penginstalan

Untuk mengaktifkan autentikasi:

  • Perbarui semua komponen Edge yang terhubung ke Cassandra dengan nama pengguna Cassandra dan {i>password<i}.
  • Di semua node Cassandra, aktifkan autentikasi.
  • Setel nama pengguna dan sandi Cassandra di satu node. Anda hanya perlu mengubah kredensial pada satu {i>node<i} Cassandra dan mereka akan disiarkan ke semua {i>node<i} Cassandra di cincin.

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:

  1. 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 otomatis memulai ulang Server Pengelolaan.

  2. 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

Gunakan prosedur berikut untuk mengaktifkan otentikasi Cassandra dan menetapkan nama pengguna dan kata sandi:

  1. Login ke node Cassandra pertama.
  2. Jalankan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Perintah ini mengaktifkan autentikasi dan memulai ulang Cassandra.

  3. Ulangi langkah 1 dan 2 pada semua node Cassandra.
  4. Login ke salah satu node Cassandra menggunakan alat cqlsh dan setelan default memiliki kredensial yang lengkap. Anda hanya perlu mengubah {i>password<i} di satu {i>node<i} Cassandra dan hal itu akan menyiarkan ke semua node Cassandra di dalam cincin:
    /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

    Di mana

    • cassIP adalah alamat IP node Cassandra.
    • 9042 adalah port Cassandra.
    • Pengguna default adalah cassandra.
    • Sandi default-nya adalah cassandra. Jika Anda mengubah sandi sebelumnya, gunakan {i> password<i} saat ini.
  5. Jalankan perintah berikut pada prompt cqlsh> untuk mengupdate kata sandi:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Jalankan perintah berikut pada prompt cqlsh> untuk memastikan bahwa keyspace selalu tersedia.

    Untuk satu pusat data:

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

    Untuk dua pusat data:

    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. Keluar dari alat cqlsh:
    exit
  8. Jalankan nodetool repair untuk memastikan perubahan diterapkan ke semua Node Cassandra, seperti yang ditunjukkan contoh berikut:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth

    Anda hanya perlu memasukkan nama pengguna dan {i>password<i} jika Anda mengaktifkan autentikasi JMX untuk Cassandra.