Mengaktifkan autentikasi Cassandra

Edge for Private Cloud v. 4.17.01

Secara default, Cassandra menginstal tanpa mengaktifkan autentikasi. Artinya, siapa saja dapat mengakses Cassandra. Anda dapat mengaktifkan autentikasi setelah menginstal Edge, atau sebagai bagian dari proses penginstalan.

Jika Anda memutuskan untuk mengaktifkan autentikasi di Cassandra, Cassandra akan menggunakan kredensial default berikut:

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

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

Untuk informasi selengkapnya, lihat http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html.

Mengaktifkan autentikasi Cassandra selama penginstalan

Anda dapat mengaktifkan autentikasi Cassandra sebagai waktu penginstalan. Namun, meskipun Anda dapat mengaktifkan autentikasi saat menginstal Cassandra, Anda tidak dapat mengubah nama pengguna dan sandi default. Anda harus melakukan langkah tersebut secara manual setelah penginstalan Cassandra selesai.

Catatan: Gunakan prosedur ini saat menginstal Cassandra menggunakan opsi "-p c", "-p ds", "-p sa", "-p aio", "-p asa", dan "-p ebp".

Untuk mengaktifkan autentikasi Cassandra pada waktu penginstalan, sertakan properti CASS_AUTH dalam file konfigurasi untuk semua node Cassandra:

CASS_AUTH=y # The default value is n.

Komponen Edge berikut mengakses Cassandra:

  • Server Pengelolaan
  • Message Processor
  • Router
  • Server Qpid
  • Server Postgres
  • Stack BaaS

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

Anda dapat mengubah kredensial Cassandra setelah menginstal Cassandra. Namun, jika sudah menginstal Management Server, Message Processors, Router, Qpid server, Postgres server, atau BaaS Stack, Anda juga harus mengupdate 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 kredensial default. Anda hanya perlu mengubah sandi di satu node dan sandi tersebut akan disiarkan ke semua node Cassandra dalam ring:
    > /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
    Dengan:
    1. cassIP adalah alamat IP node Cassandra.
    2. 9042 adalah port Cassandra default.
    3. Pengguna default adalah cassandra.
    4. Sandi defaultnya adalah cassandra. Jika Anda sebelumnya mengubah sandi, gunakan sandi saat ini.
  2. Jalankan perintah berikut sebagai perintah cqlsh> untuk memperbarui sandi:
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. Keluar dari alat cqlsh:
    cqlsh> exit
  4. Jika belum menginstal Server Pengelolaan, Prosesor Pesan, Router, server Qpid, server Postgres, atau BaaS Stack, tetapkan properti berikut di file konfigurasi, lalu instal komponen tersebut:
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. Jika Anda telah menginstal Server Pengelolaan, Message Processor, Router, server Qpid, server Postgres, atau BaaS Stack, lihat Mereset Sandi Edge untuk mengetahui prosedur mengupdate komponen tersebut agar dapat menggunakan sandi baru.

Mengaktifkan autentikasi Cassandra setelah penginstalan

Untuk mengaktifkan autentikasi:

  • Perbarui semua komponen Edge yang terhubung ke Cassandra dengan nama pengguna dan sandi Cassandra.
  • Di semua node Cassandra, aktifkan autentikasi.
  • Setel nama pengguna dan sandi Cassandra di satu node. Anda hanya perlu mengubah kredensial di satu node Cassandra dan kredensial tersebut akan disiarkan ke semua node Cassandra dalam ring.

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 kredensial Cassandra:

  1. Di node Server Pengelolaan, jalankan perintah berikut:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_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
    CASS_PASSWORD=CASS_PASSWROD


    Perintah ini akan otomatis memulai ulang Server Pengelolaan.
  2. Ulangi langkah 1 pada:
    • Semua Pemroses Pesan
    • Semua Router
    • Semua server Qpid (edge-qpid-server)
    • Server Postgres (edge-postgres-server)
  3. Di node BaaS Stack untuk versi 4.16.05.04 dan yang lebih baru:
    1. Jalankan perintah berikut untuk membuat sandi terenkripsi:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Perintah ini meminta sandi teks biasa dan menampilkan sandi terenkripsi dalam bentuk:
      SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Tetapkan token berikut di /opt/apigee/customer/application/usergrid.properties. Jika file tersebut tidak ada, buat file tersebut:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      Contoh ini menggunakan nama pengguna default untuk Cassandra. Jika Anda mengubah nama pengguna, tetapkan nilai usergrid-deployment_cassandra.username sebagaimana mestinya.

      Pastikan Anda menyertakan awalan "SECURE:" pada sandi. Jika tidak, BaaS Stack akan menafsirkan nilai tersebut sebagai tidak dienkripsi.

      Catatan: Setiap node BaaS Stack memiliki kunci unik sendiri yang digunakan untuk mengenkripsi sandi. Oleh karena itu, Anda harus membuat nilai terenkripsi di setiap node BaaS Stack secara terpisah.
    3. Ubah kepemilikan file usergrid.properties ke pengguna 'apigee':
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Konfigurasikan node Stack:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    5. Mulai ulang Stack BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. Ulangi langkah-langkah ini untuk semua nod BaaS Stack.

Gunakan prosedur berikut untuk mengaktifkan autentikasi Cassandra dan menetapkan nama pengguna dan 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 di semua node Cassandra.
  4. Login ke salah satu node Cassandra menggunakan alat cqlsh dan kredensial default. Anda hanya perlu mengubah sandi di satu node Cassandra dan sandi tersebut akan disiarkan ke semua node Cassandra dalam ring:
    /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 telah mengubah sandi sebelumnya, gunakan sandi saat ini.
  5. Jalankan perintah berikut di perintah cqlsh> untuk memperbarui sandi:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Jalankan perintah berikut di prompt cqlsh> untuk memastikan bahwa ruang kunci 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 bahwa perubahan diterapkan ke semua node Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth