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.
- 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".
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.
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;
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.
- KAIKKI
- MUUTTAA
- VALTUUTTA
- LUODA
- DROP
- MUUTTAA
- 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.
select* form emp_bonus;
Voit saada luettelon kaikista käyttäjälle määritetyistä käyttöoikeuksista. Tässä on esimerkki lupatietojen hankkimisesta.
list all permissions of laura;
Voit myös luetella kaikki resurssin käyttöoikeudet. Tässä on esimerkki luvan saamisesta taulukosta.
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.
- 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
- 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
- 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
- Muokkaa tiedostoa jmxremote.password ja lisää käyttäjä ja salasana JMX-yhteensopiville apuohjelmille:
monitorRole QED controlRole R&D cassandra cassandrapassword
- 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
- Käynnistä uudelleen Cassandra
- 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.