Kasandras drošība: izveidojiet lietotāju & Autentifikācija ar JMX

Satura rādītājs:

Anonim

Apache Cassandra un Datastax uzņēmumā ir divi drošības veidi.

  • Iekšējā autentifikācija
  • Atļauja

Šajā apmācībā jūs uzzināsiet,

  • Kas ir iekšējā autentifikācija un autorizācija
  • Konfigurējiet autentifikāciju un autorizāciju
  • Ielogoties
  • Izveidot jaunu lietotāju
  • Atļauja
  • Ugunsmūra konfigurēšana
  • Iespējo JMX autentifikāciju

Kas ir iekšējā autentifikācija un autorizācija

Iekšējā autentifikācija būtībā ir lietotāja savienojuma apstiprināšana. Lietotājs tiek autentificēts, izmantojot pieteikuminformāciju un paroli. Visi Cassandra lietotāju konti tiek pārvaldīti iekšēji.

Iekšējā autorizācija attiecas uz lietotāja atļauju. Tajā apskatīts, kādas darbības lietotājs var veikt. Piemēram, mēs varam piešķirt lietotāja atļauju, piemēram, kuram lietotājam ir tikai datu lasīšanas atļauja, kuram lietotājam ir datu rakstīšanas atļauja un kuram lietotājam ir datu dzēšanas atļauja.

Tomēr autentifikāciju var kontrolēt arī ārēji, izmantojot Kerberos (Kerberos izmanto, lai droši pārvaldītu akreditācijas datus) un LDAP (LDAP izmanto autoritatīvas informācijas glabāšanai par kontiem, piemēram, tam, kam viņiem ir atļauts piekļūt).

Ārējā autentifikācija ir autentifikācija, kuru atbalsta Kerberos un LDAP. Apache Cassandra neatbalsta ārēju autentifikāciju.

Tikai datastax uzņēmums atbalsta ārēju autentifikāciju ar Kerberos un LDAP. Iekšējā autentifikācija tiek atbalstīta gan Apache Cassandra, gan Datastax uzņēmumā.

Konfigurējiet autentifikāciju un autorizāciju

Kasandrā autentifikācijas un autorizācijas iespējas pēc noklusējuma ir atspējotas. Lai iespējotu autentifikāciju un autorizāciju, jums jākonfigurē Cassandra.yaml fails.

Atveriet failu Cassandra.yaml un komentāru rindas, kas attiecas uz iekšējo autentifikāciju un autorizāciju.

  • Cassandra.yaml failā pēc noklusējuma autentifikatora vērtība ir “AllowAllAuthenticator”. Mainiet šo autentifikatora vērtību no “AllowAllAuthenticator” uz “com.datastax.bdp.cassandra.auth.PasswordAuthenticator”.
  • Līdzīgi failā Cassandra.yaml pēc noklusējuma autorizētāja vērtība būs “AllowAllAuthorizor”. Mainiet šo autorizētāja vērtību no “AllowAllAuthorizor” uz “com.datastax.bdp.cassandra.auth.CassandraAuthorizor”.

Ielogoties

Tagad autentifikācija ir iespējota. Ja mēģināt piekļūt jebkurai atslēgas vietai, Kasandra atgriezīs kļūdu.

Pēc noklusējuma Kasandra nodrošina superkontu ar lietotāja vārdu “kasandra” un paroli “kasandra”. Piesakoties kontā Cassandra, jūs varat darīt visu, ko vēlaties.

Apskatīsim zemāk redzamo ekrānuzņēmumu, kur tas neļaus jums pieteikties, ja neizmantojat noklusējuma Cassandra "lietotājvārdu" un "paroli".

Tagad otrajā ekrānuzņēmumā pēc Cassandra noklusējuma pieteikšanās akreditācijas datu izmantošanas jūs varat pieteikties.

Ar šo kontu varat izveidot arī citu lietotāju. Paroli ieteicams nomainīt no noklusējuma. Šis ir pieteikšanās Cassandra lietotāja un noklusējuma paroles maiņas piemērs.

alter user cassandra with password 'newpassword';

Izveidot jaunu lietotāju

Jauni konti var tikt izveidoti ar 'Cassandra' kontu.

Lai izveidotu jaunu lietotāju, piesakieties, tiek norādīta parole, kā arī tas, vai lietotājs ir superlietotājs. Tikai Super lietotājs var izveidot jaunus lietotājus.

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

Visu lietotāju sarakstu varat iegūt, izmantojot šo sintaksi.

list users;

Lietotājus var nomest ar šādu sintaksi.

drop user laura;

Atļauja

Autorizācija ir lietotājiem piešķirt atļauju, kādu darbību var veikt konkrēts lietotājs.

Šeit ir vispārīgā sintakse, lai lietotājiem piešķirtu atļauju.

GRANT permission ON resource TO user

Lietotājam var piešķirt šāda veida atļaujas.

  1. VISI
  2. ALTER
  3. ATĻAUTI
  4. IZVEIDOT
  5. PILĒT
  6. PĀRVEIDOT
  7. SELECT

Šeit ir piemēri, kā lietotājam piešķirt atļauju.

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;

Tiek izveidots jauns lietotājs 'laura' ar paroli 'newhire'.

Šis ir piemērs, kurā lietotājs “laura” mēģina piekļūt emp_bonus tabulai. Laurai ir tikai atļauja piekļūt dev.emp un nav atļaujas šai tabulai dev.emp_bonus, tāpēc tika atgriezta kļūda.

select* form emp_bonus;

Jūs varat iegūt visu lietotājam piešķirto atļauju sarakstu. Šeit ir piemērs, kā iegūt informāciju par atļaujām.

list all permissions of laura;

Varat arī uzskaitīt visas resursa atļaujas. Šeit ir piemērs, kā iegūt atļauju no tabulas.

list all permissions on dev.emp;

Ugunsmūra konfigurēšana

Ja ugunsmūris darbojas, saziņai starp mezgliem, tostarp dažiem Kasandras portiem, ir jāatver šādi porti. Ja Kasandras porti netiks atvērti, Kasandras mezgli darbosies kā atsevišķs datu bāzes serveris, nevis pievienosies datu bāzes kopai.

Kasandras klientu ostas

Porta numurs

Apraksts

9042

Kasandras klientu osta

9160

Kasandras klienta ostas taupība

Kasandras Internoda porti

Porta numurs

Apraksts

7000

Kasandras starpkodu kopu saziņa

7001

Kasandras SSL starpkodu kopu saziņa

7199

Kasandras JMX uzraudzības ports

Publiskās ostas

Ostas numurs

Apraksts

22

SSH ports

8888

OpsCenter vietne. Pārlūka http pieprasījums.

Kasandras OpsCenter porti

Porta numurs

Apraksts

61620

OpsCenter uzraudzības ports.

61621

Opscentera aģenta osta

Iespējo JMX autentifikāciju

Ar Cassandra noklusējuma iestatījumiem JMX var piekļūt tikai no vietējā hosta. Ja vēlaties piekļūt JMX attālināti, Cassandra-env.sh mainiet iestatījumu LOCAL_JMX un iespējojiet autentifikāciju vai SSL.

Pēc JMX autentifikācijas iespējošanas pārliecinieties, ka OpsCenter un nodetool ir konfigurēti autentifikācijas lietošanai.

Procedūra

JMX autentifikācijas iespējošanai ir šādas darbības.

  1. Failā cassandra-env.sh pievienojiet vai atjauniniet šādas rindas.
JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true"JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"

Mainiet arī iestatījumu LOCAL_JMX vietnē Cassandra-env.sh

LOCAL_JMX=no
  1. Kopējiet jmxremote.password.template no / jdk_install_location / lib / management / uz / etc / cassandra / un pārdēvējiet to tojmxremote.password.
cp />jdk_install_dir/lib/management/jmxremote.password.template /etc/cassandra/jmxremote.password
  1. Mainiet jmxremote.password īpašumtiesības lietotājam, ar kuru darbināt Cassandra, un mainiet atļauju tikai lasīšanai
chown cassandra:cassandra /etc/cassandra/jmxremote.passwordchmod 400 /etc/cassandra/jmxremote.password
  1. Rediģējiet jmxremote.password un pievienojiet JMX saderīgu utilītu lietotāju un paroli:
monitorRole QEDcontrolRole R&Dcassandra cassandrapassword
  1. Pievienojiet Cassandra lietotāju ar lasīšanas un rakstīšanas atļauju vietnei /jdk_install_location/lib/management/jmxremote.access
monitorRole readonlycassandra readwritecontrolRole readwrite \create javax.management.monitor.,javax.management.timer. \unregister
  1. Restartējiet Kasandru
  2. Palaidiet mezglu ar Cassandra lietotāju un paroli.
$ nodetool status -u cassandra -pw cassandra

Kopsavilkums:

Šajā apmācībā ir paskaidrots par Cassandra drošību un faila Cassandra.yaml konfigurēšanu drošības iespējošanai. Bez tam tas arī izskaidro, kā var izveidot jaunu lietotāja kontu, piešķirt atļauju, konfigurēt ugunsmūri utt.