Cassandra JMX-todennus ja valtuutus: Luo käyttäjä
⚡ Älykäs yhteenveto
Cassandra Tietoturva perustuu sisäiseen todennukseen, roolien käyttöoikeuksiin, palomuurisääntöihin ja JMX-käyttöoikeuksien hallintaan. Tällä sivulla näytetään, miten kukin taso otetaan käyttöön, käyttäjät luodaan, käyttöoikeudet myönnetään ja NodeTool-etäkäyttö suojataan.

Sisällä on kahdenlaisia suojauksia Apache Cassandra ja DataStax Enterprise.
- Sisäinen todennus
- Lupa
Mikä on sisäinen todennus ja valtuutus
Sisäinen todennus on pohjimmiltaan käyttäjäyhteyden validointia. Käyttäjä todennetaan käyttäjätunnuksella ja salasanalla. Kaikkia käyttäjätilejä hallitaan Cassandra sisäisesti.
Sisäinen valtuutus käsittelee käyttäjän oikeuksia. Se määrittää, mitä toimintoja käyttäjä voi suorittaa. Voimme esimerkiksi antaa oikeuksia, kuten millä käyttäjällä on vain tietojen lukuoikeus, millä käyttäjällä on tietojen kirjoitusoikeus ja millä käyttäjällä on tietojen poisto-oikeus.
Todennusta voidaan kuitenkin hallita myös ulkoisesti Kerberoksen (Kerberosta käytetään tunnistetietojen turvalliseen hallintaan) ja LDAP:n (LDAP:tä käytetään tilien arvovaltaisten tietojen, kuten niiden käyttöoikeuksien, säilyttämiseen) avulla.
Ulkoinen todennus on Kerberosin ja LDAP:n tukema todennus. Apache Cassandra ei tue ulkoista todennusta.
Vain DataStax Enterprise tukee ulkoista todennusta Kerberoksen ja LDAP:n avulla, kun taas sisäistä todennusta tuetaan sekä Apache Cassandra sekä DataStax Enterprise.
Määritä todennus ja valtuutus
In Cassandra, todennus- ja valtuutusasetukset ovat oletusarvoisesti poissa käytöstä. Sinun on määritettävä cassandra.yaml-tiedosto todennuksen ja valtuutuksen ottamiseksi käyttöön.
Avaa cassandra.yaml ja poista kommenttimerkit riveiltä, jotka käsittelevät sisäistä todennusta ja valtuutusta, kuten alla on esitetty.
- Cassandra.yaml-tiedostossa todennusarvon oletusarvo on 'AllowAllAuthenticator'. Muuta todennusarvon arvo 'AllowAllAuthenticator' arvoksi 'com.datastax.bdp.cassandra.auth.PasswordAuthenticator'.
- Vastaavasti cassandra.yaml-tiedostossa valtuuttajan arvo on oletusarvoisesti 'AllowAllAuthorizer'. Muuta valtuuttajan arvo arvosta 'AllowAllAuthorizer' arvoon 'com.datastax.bdp.cassandra.auth'.CassandraValtuutettu'.
Nuo kaksi luokan nimeä ovat DataStax Enterprise -arvoja. Avoimen lähdekoodin Apache Cassandra samat asetukset ottavat PasswordAuthenticator ja CassandraAuthorizer, ja tunnistetiedot ovat sitten tallessa system_auth avainavaruus, jonka replikaatiokerroin tulisi nostaa yli yhden.
Kirjautua sisään
Todennus on nyt käytössä, jos yrität käyttää mitä tahansa näppäintä, Cassandra palauttaa virheilmoituksen.
Oletusarvoisesti Cassandra antaa supertilille käyttäjätunnuksen 'cassandra' ja salasanan 'cassandra'. Kirjaudumalla 'cassandra'-tilille 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".
Toisessa kuvakaappauksessa näet nyt 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 oletussalasana. Tässä on esimerkki kirjautumisesta sisään käyttäjänä Cassandra käyttäjä ja oletussalasanan vaihtaminen.
alter user cassandra with password 'newpassword';
Luo uusi käyttäjä
Uusia tilejä voidaan luoda 'cassandra'-tilillä.
Uuden käyttäjän luomiseksi määritetään kirjautumistunnus ja salasana sekä se, 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;
Tulosteessa luetellaan kaikki tilit ja niiden superkäyttäjä-lippu.
Käyttäjät voidaan hylätä seuraavalla syntaksilla.
drop user laura;
Lupa
Valtuutus tarkoittaa käyttäjien oikeuksien myöntämistä ja sitä, että päätetään, mitä toimintoja 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
- VALTUUTA
- 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ää käyttää emp_bonus-taulukkoa. Lauralla on käyttöoikeudet vain dev.emp-taulukkoon eikä käyttöoikeuksia dev.emp_bonus-taulukkoon, minkä vuoksi palautettiin virhe.
select* form emp_bonus;
Voit saada luettelon kaikista käyttäjälle määritetyistä käyttöoikeuksista. Tässä on esimerkki käyttöoikeustietojen hankkimisesta.
list all permissions of laura;
Voit myös listata kaikki resurssin käyttöoikeudet. Tässä on esimerkki käyttöoikeuksien hakemisesta 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 erillisinä tietokantapalvelimina sen sijaan, että ne liittyisivät tietokantaklusteriin.
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 |
Nykyiset ajurit käyttävät vain porttia 9042; portti 9160 palvelee vanhaa Thrift-rajapintaa ja voi pysyä suljettuna uusissa klustereissa.
Ota JMX-todennus käyttöön
Oletusasetuksilla CassandraJMX:ään pääsee käsiksi vain paikalliselta koneelta. Jos haluat käyttää JMX:ää etänä, muuta LOCAL_JMX-asetusta cassandra-env.sh-tiedostossa 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-tiedostossa.
LOCAL_JMX=no
- Kopioi jmxremote.password.template hakemistosta /jdk_install_location/lib/management/ hakemistoon /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 käyttöoikeus vain luku -tilaan.
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







