„Cassandra Security“: sukurkite vartotoją & Autentifikavimas naudojant JMX

„Apache Cassandra“ ir „Datastax“ įmonėse yra dviejų rūšių saugumas.

  • Vidinis autentifikavimas
  • Leidimas

Šioje pamokoje sužinosite,

  • Kas yra vidinis autentifikavimas ir prieigos teisės
  • Konfigūruokite autentifikavimą ir prieigą
  • Prisijungiama
  • Sukurti naują vartotoją
  • Leidimas
  • Konfigūruoti ugniasienę
  • JMX autentifikavimo įgalinimas

Kas yra vidinis autentifikavimas ir prieigos teisės

Vidinis autentifikavimas iš esmės yra vartotojo ryšio patvirtinimas. Vartotojas patvirtinamas prisijungus ir slaptažodžiu. Visos vartotojo paskyros „Cassandra“ valdomos viduje.

Vidinis autorizavimas susijęs su vartotojo leidimu. Jame kalbama apie tai, kokius veiksmus vartotojas gali atlikti. Pvz., Galime suteikti vartotojo leidimą, pvz., Kuris vartotojas turi tik duomenų skaitymo leidimą, kuris vartotojas turi duomenų rašymo leidimą ir kuris turi duomenų ištrinimo leidimą.

Tačiau autentifikavimą taip pat galima valdyti išoriškai naudojant „ Kerberos“ („Kerberos“ naudojama saugiai valdant kredencialus) ir LDAP (LDAP naudojamas autoritetingai informacijai apie paskyras, pavyzdžiui, ką jiems leidžiama pasiekti).

Išorinis autentifikavimas yra autentifikavimas, kurį palaiko „Kerberos“ ir LDAP. „Apache Cassandra“ nepalaiko išorinio autentifikavimo.

Tik „Datastax“ įmonė palaiko išorinį autentifikavimą naudojant „Kerberos“ ir LDAP. Vidaus autentifikavimas palaikomas tiek „Apache Cassandra“, tiek „Datastax“ įmonėje.

Konfigūruokite autentifikavimą ir prieigą

Kasandroje pagal numatytuosius nustatymus autentifikavimo ir įgaliojimo parinktys yra išjungtos. Turite sukonfigūruoti „Cassandra.yaml“ failą, kad įgalintumėte autentifikavimą ir prieigą.

Atidarykite „Cassandra.yaml“ failą ir komentarų eilutes, kuriose kalbama apie vidinį autentifikavimą ir prieigos teises.

  • Pagal numatytuosius nustatymus faile „Cassandra.yaml“ autentifikavimo priemonės reikšmė yra „AllowAllAuthenticator“. Pakeiskite šią autentifikavimo vertę iš „AllowAllAuthenticator“ į „com.datastax.bdp.cassandra.auth.PasswordAuthenticator“.
  • Panašiai ir Cassandra.yaml faile pagal numatytuosius nustatymus autorizatoriaus vertė bus „AllowAllAuthorizor“. Pakeiskite šią autorizavimo priemonės vertę iš „AllowAllAuthorizor“ į „com.datastax.bdp.cassandra.auth.CassandraAuthorizor“.

Prisijungiama

Dabar autentifikavimas įgalintas. Jei bandysite pasiekti bet kurią klavišų sritį, „Cassandra“ pateiks klaidą.

Pagal numatytuosius nustatymus „Cassandra“ suteikia super sąskaitą su vartotojo vardu „cassandra“ ir slaptažodžiu „cassandra“. Prisijungę prie „Cassandra“ paskyros, galite padaryti viską, ko norite.

Pažiūrėkime žemiau pateiktą ekrano kopiją, kur ji neleis prisijungti, jei nenaudojate numatytojo „Cassandra“ „vartotojo vardo“ ir „slaptažodžio“.

Dabar, antroje ekrano kopijoje, galite pamatyti naudoję numatytuosius „Cassandra“ prisijungimo duomenis, galite prisijungti.

Taip pat galite sukurti kitą vartotoją naudodami šią paskyrą. Slaptažodį rekomenduojama pakeisti iš numatytojo. Čia yra prisijungimo „Cassandra“ vartotojo pavyzdys ir numatytojo slaptažodžio pakeitimas.

alter user cassandra with password 'newpassword';

Sukurti naują vartotoją

Naujos paskyros gali būti sukurtos naudojant „Cassandra“ paskyrą.

Norėdami sukurti naują vartotoją, prisijunkite, nurodomas slaptažodis ir tai, ar vartotojas yra super vartotojas, ar ne. Tik „Super“ vartotojas gali kurti naujus vartotojus.

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

Visų vartotojų sąrašą galite gauti naudodami šią sintaksę.

list users;

Vartotojus galima atsisakyti pagal šią sintaksę.

drop user laura;

Leidimas

Įgaliojimas yra priskyrimas leidimas vartotojams, kokį veiksmą gali atlikti konkretus vartotojas.

Čia yra bendra sintaksė leidimams priskirti vartotojams.

GRANT permission ON resource TO user

Yra šių tipų leidimai, kuriuos galima suteikti vartotojui.

  1. VISI
  2. ALTER
  3. ĮGALIOTI
  4. SUKURTI
  5. LAŠAS
  6. KEISTI
  7. PASIRINKTI

Čia yra leidimo priskyrimo vartotojui pavyzdžiai.

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;

Sukuriamas naujas vartotojas „laura“ su slaptažodžiu „newhire“.

Štai pavyzdys, kai vartotojas „laura“ bando pasiekti „emp_bonus“ lentelę. Laura turi tik leidimą pasiekti dev.emp ir neturi leidimo prie šios lentelės dev.emp_bonus, todėl buvo grąžinta klaida.

select* form emp_bonus;

Galite gauti visų naudotojui priskirtų leidimų sąrašą. Štai pavyzdys, kaip gauti informaciją apie leidimus.

list all permissions of laura;

Taip pat galite išvardyti visus išteklių leidimus. Štai pavyzdys, kaip gauti leidimą iš lentelės.

list all permissions on dev.emp;

Konfigūruoti ugniasienę

Jei veikia ugniasienė, ryšiams tarp mazgų, įskaitant kai kuriuos „Cassandra“ prievadus, reikia atidaryti šiuos prievadus. Jei „Cassandra“ prievadai nebus atidaryti, „Cassandra“ mazgai veiks kaip atskiras duomenų bazės serveris, o ne prisijungs prie duomenų bazės klasterio.

„Cassandra“ klientų uostai

Uosto numeris

apibūdinimas

9042 m

Kasandros klientų uostas

9160

„Cassandra“ kliento uosto taupumas

„Cassandra Internode“ prievadai

Uosto numeris

apibūdinimas

7000

„Cassandra“ internodų sankaupos

7001

„Cassandra“ SSL tarpslankis

7199

„Cassandra JMX“ stebėjimo prievadas

Viešieji uostai

Uosto numeris

apibūdinimas

22

SSH prievadas

8888

„OpsCenter“ svetainė. Naršyklės http užklausa.

„Cassandra OpsCenter“ prievadai

Uosto numeris

apibūdinimas

61620

„OpsCenter“ stebėjimo prievadas.

61621

„Opscenter“ agento prievadas

JMX autentifikavimo įgalinimas

Su numatytaisiais „Cassandra“ nustatymais JMX galima pasiekti tik iš vietinio kompiuterio. Jei norite pasiekti JMX nuotoliniu būdu, pakeiskite nustatymą LOCAL_JMX Cassandra-env.sh ir įgalinkite autentifikavimą arba SSL.

Įgalinę JMX autentifikavimą įsitikinkite, kad „OpsCenter“ ir „nodetool“ sukonfigūruoti naudoti autentifikavimą.

Procedūra

Norėdami įgalinti JMX autentifikavimą, reikia atlikti šiuos veiksmus.

  1. Faile cassandra-env.sh pridėkite arba atnaujinkite šias eilutes.
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"

Be to, pakeiskite nustatymą LOCAL_JMX Cassandra-env.sh

LOCAL_JMX=no
  1. Nukopijuokite jmxremote.password.template iš / jdk_install_location / lib / management / į / etc / cassandra / ir pervadinkite jį tojmxremote.password.
cp />jdk_install_dir/lib/management/jmxremote.password.template /etc/cassandra/jmxremote.password
  1. Pakeiskite „jmxremote.password“ nuosavybės teisę vartotojui, su kuriuo naudojate „Cassandra“, ir pakeiskite leidimą tik skaityti
chown cassandra:cassandra /etc/cassandra/jmxremote.passwordchmod 400 /etc/cassandra/jmxremote.password
  1. Redaguokite jmxremote.password ir pridėkite JMX suderinamų paslaugų vartotoją ir slaptažodį:
monitorRole QEDcontrolRole R&Dcassandra cassandrapassword
  1. Pridėkite „Cassandra“ naudotoją su skaitymo ir rašymo leidimu /jdk_install_location/lib/management/jmxremote.access
monitorRole readonlycassandra readwritecontrolRole readwrite \create javax.management.monitor.,javax.management.timer. \unregister
  1. Paleiskite „Cassandra“ iš naujo
  2. Paleiskite mazgą su „Cassandra“ vartotoju ir slaptažodžiu.
$ nodetool status -u cassandra -pw cassandra

Santrauka:

Šioje pamokoje paaiškinama apie „Cassandra“ saugumą ir „Cassandra.yaml“ failo konfigūravimą, kad įgalintumėte saugumą. Be to, tai paaiškina, kaip galima sukurti naują vartotojo abonementą, priskirti leidimą, konfigūruoti užkardą ir pan.

Įdomios straipsniai...