Cassandra JMX-todennus ja valtuutus: Luo käyttäjä

Sisällä on kahdenlaisia ​​suojauksia Apache Cassandra ja Datastax-yritys.

  • Sisäinen todennus
  • Lupa

Mikä on sisäinen todennus ja valtuutus

Sisäinen todennus on pohjimmiltaan käyttäjän yhteyden vahvistamista. Käyttäjä tunnistetaan käyttäjätunnuksella ja salasanalla. Kaikkia käyttäjätilejä hallitaan Cassandra sisäisesti.

Sisäinen valtuutus koskee käyttäjän lupaa. Se käsittelee mitä toimintoja käyttäjä voi suorittaa. Voimme esimerkiksi antaa käyttäjälle luvan, kuten millä käyttäjällä on vain tietojen lukuoikeus, millä käyttäjällä tietojen kirjoitusoikeus ja kenellä tietojen poistamisoikeus.

Todennusta voidaan kuitenkin ohjata myös ulkoisesti Kerberos (Kerberosilla hallitaan tunnistetietoja turvallisesti) ja LDAP:ta (LDAP:tä käytetään pitämään hallussaan arvovaltaisia ​​tietoja tileistä, kuten mitä niillä on oikeus käyttää).

Ulkoinen todennus on Kerberosin ja LDAP:n tukema todennus. Apache Cassandra ei tue ulkoista todennusta.

Vain datastax Enterprise tukee ulkoista todennusta Kerberosilla ja LDAP:lla. Sisäistä todennusta tuetaan molemmissa Apache Cassandra sekä Datastax-yritys.

Määritä todennus ja valtuutus

In Cassandra, oletusarvoisesti todennus- ja valtuutusvaihtoehdot ovat poissa käytöstä. Sinun on määritettävä Cassandra.yaml-tiedosto todennuksen ja valtuutuksen mahdollistamiseksi.

avoin Cassandra.yaml-tiedosto ja uncomment-rivit, jotka käsittelevät sisäistä todennusta ja valtuutusta.

Määritä todennus ja valtuutus

  • In Cassandra.yaml-tiedoston oletusarvo on "AllowAllAuthenticator". Muuta tämä todennusarvo "AllowAllAuthenticator" arvoksi "com.datastax.bdp.cassandra.auth.PasswordAuthenticator".
  • Samoin vuonna Cassandra.yaml-tiedosto, oletusarvoisesti valtuutuksen arvo on "AllowAllAuthorizor". Muuta tämän valtuutuksen arvo "AllowAllAuthorizor" arvoksi "com.datastax.bdp.cassandra.auth.CassandraValtuutettu'.

Kirjautua sisään

Todennus on nyt käytössä, jos yrität käyttää mitä tahansa näppäintä, Cassandra palauttaa virheilmoituksen.

Oletusarvoisesti Cassandra tarjoaa supertilin käyttäjätunnuksella "cassandra" ja salasanalla "cassandra". kirjautumalla sisään 'Cassandra-tilillä voit tehdä mitä haluat.

Katsotaanpa alla olevaa kuvakaappausta tätä varten, jossa se ei salli sinun kirjautua sisään, jos et käytä oletusasetusta Cassandra "Käyttäjänimi ja salasana".

Kirjautua sisään

Nyt, toisessa kuvakaappauksessa, näet käytön jälkeen Cassandra oletuskirjautumistiedot, voit kirjautua sisään.

Voit myös luoda toisen käyttäjän tällä tilillä. On suositeltavaa vaihtaa salasana oletusarvoisesta. Tässä on esimerkki kirjautumisesta Cassandra käyttäjä ja vaihda oletussalasana.

Kirjautua sisään

alter user cassandra with password 'newpassword';

Luo uusi käyttäjä

Uusia tilejä voidaan luoda "Cassandra' tili.

Uuden käyttäjän luomista varten kirjaudutaan sisään, salasana määritetään yhdessä sen kanssa, onko käyttäjä superkäyttäjä vai ei. Vain superkäyttäjä voi luoda uusia käyttäjiä.

create user robin with password 'manager' superuser;
create user robin with password 'newhire';

Saat luettelon kaikista käyttäjistä seuraavalla syntaksilla.

list users;

Luo uusi käyttäjä

Käyttäjät voidaan hylätä seuraavalla syntaksilla.

drop user laura;

Lupa

Valtuutus tarkoittaa käyttöoikeuden myöntämistä käyttäjille, mitä toimintoa tietty käyttäjä voi suorittaa.

Tässä on yleinen syntaksi käyttöoikeuksien määrittämiseksi käyttäjille.

GRANT permission ON resource TO user

Käyttäjälle voidaan myöntää seuraavanlaisia ​​käyttöoikeuksia.

  1. KAIKKI
  2. MUUTTAA
  3. VALTUUTTA
  4. LUODA
  5. DROP
  6. MUUTTAA
  7. VALITSE

Tässä on esimerkkejä käyttöoikeuksien myöntämisestä käyttäjälle.

Create user laura with password 'newhire'; 
grant all on dev.emp to laura;
revoke all on dev.emp to laura;
grant select on dev.emp to laura;

Uusi käyttäjä 'laura' luodaan salasanalla 'newhire'.

Tässä on esimerkki, jossa käyttäjä 'laura' yrittää päästä emp_bonus-taulukkoon. Lauralla on vain käyttöoikeus dev.emp-tiedostoon, eikä oikeuksia tähän taulukkoon dev.emp_bonus, minkä vuoksi virhe palautettiin.

Lupa

select* form emp_bonus;

Voit saada luettelon kaikista käyttäjälle määritetyistä käyttöoikeuksista. Tässä on esimerkki lupatietojen hankkimisesta.

Lupa

list all permissions of laura;

Voit myös luetella kaikki resurssin käyttöoikeudet. Tässä on esimerkki luvan saamisesta taulukosta.

Lupa

list all permissions on dev.emp;

Palomuurin määrittäminen

Jos palomuuri on käynnissä, seuraavat portit on avattava solmujen välistä viestintää varten, mukaan lukien jotkut Cassandra portit. Jos Cassandra portteja ei avata, Cassandra solmut toimivat itsenäisenä tietokantapalvelimena tietokantaklusteriin liittymisen sijaan.

Cassandra Asiakasportit

Porttinumero Tuotetiedot
9042 Cassandra Asiakasportti
9160 Cassandra Client Port Thrift

Cassandra Solmujen väliset portit

Porttinumero Tuotetiedot
7000 Cassandra solmujen välinen klusteriviestintä
7001 Cassandra SSL-solmujen välinen klusteriviestintä
7199 Cassandra JMX-valvontaportti

Julkiset satamat

Porttinumero Tuotetiedot
22 SSH-portti
8888 OpsCenterin verkkosivusto. Selaimen http-pyyntö.

Cassandra OpsCenterin portit

Porttinumero Tuotetiedot
61620 OpsCenter-valvontaportti.
61621 Opscenter-agentin portti

Ota JMX-todennus käyttöön

Oletusasetuksilla Cassandra, JMX:ää voi käyttää vain paikallispalvelimelta. Jos haluat käyttää JMX:ää etänä, muuta LOCAL_JMX-asetusta Cassandra-env.sh ja ota käyttöön todennus tai SSL.

Kun olet ottanut JMX-todennuksen käyttöön, varmista OpsCenter ja nodetool on määritetty käyttämään todennusta.

menettely

JMX-todennus otetaan käyttöön seuraavasti.

  1. Lisää tai päivitä seuraavat rivit cassandra-env.sh-tiedostoon.
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"

Muuta myös LOCAL_JMX-asetusta Cassandra-env.sh

LOCAL_JMX=no
  1. Kopioi jmxremote.password.template tiedostosta /jdk_install_location/lib/management/ kansioon /etc/cassandra/ ja nimeä se uudelleen muotoon jmxremote.password.
cp />jdk_install_dir/lib/management/jmxremote.password.template /etc/cassandra/jmxremote.password
  1. Muuta jmxremote.password omistajuus käyttämällesi käyttäjälle Cassandra ja muuta vain lukuoikeus
chown cassandra:cassandra /etc/cassandra/jmxremote.password 
chmod 400 /etc/cassandra/jmxremote.password
  1. Muokkaa tiedostoa jmxremote.password ja lisää käyttäjä ja salasana JMX-yhteensopiville apuohjelmille:
monitorRole QED 
controlRole R&D 
cassandra cassandrapassword
  1. Lisää Cassandra käyttäjä, jolla on luku- ja kirjoitusoikeudet tiedostoon /jdk_install_location/lib/management/jmxremote.access
monitorRole readonly
cassandra readwrite
controlRole readwrite \
create javax.management.monitor.,javax.management.timer. \ 
unregister
  1. Käynnistä uudelleen Cassandra
  2. Suorita nodetool -sovelluksella Cassandra käyttäjä ja salasana.
$ nodetool status -u cassandra -pw cassandra

Yhteenveto

Tämä opetusohjelma kertoo turvallisuudesta sisään Cassandra ja konfigurointi Cassandra.yaml-tiedosto suojauksen mahdollistamiseksi. Tämän lisäksi se selittää myös kuinka uusi käyttäjätili voidaan luoda, lupien myöntäminen, palomuurin konfigurointi ja niin edelleen.