Sobes.tech
Middle

Ինչպես է իրականացվում մուտքի իրավունքների սահմանափակումը Kafka ակումբում: Որ մարմիններին են տարածվում ACL-երը?

sobes.tech AI

Պատասխան AI-ից

Apache Kafka-ում մուտքի սահմանափակումները իրականացվում են ACL (Մուտքի Կառավարության Ցանկերի) մեխանիզմի միջոցով: ACL-ները թույլ են տալիս սահմանել, թե որ օգտվողները կամ ծառայությունները (principals) ունեն իրավունքներ որոշակի գործողություններ կատարել կլաստերի ռեսուրսների վրա:

ACL-ները կիրառվում են հետևյալ հիմնական օբյեկտների վրա:

  • Topic — իրավունքներ ընթերցելու (READ), գրելու (WRITE), ստեղծելու (CREATE), ջնջելու (DELETE) թեմաներ:
  • Group — իրավունքներ սպառողների խմբերի կառավարելու (օրինակ, offsets-ների ընթերցում):
  • Cluster — իրավունքներ կապված հենց կլաստերի հետ գործողությունների համար, օրինակ, թեմաների ստեղծում, ACL-ների կառավարում:
  • TransactionalId — իրավունքներ գործարքների օգտագործման համար:

Յուրաքանչյուր ACL սահմանում է՝

  • Principala (օգտագործող կամ ծառայողական հաշիվ), որը ստանում է իրավունքներ:
  • Ռեսուրսը (topic, group, cluster և այլն):
  • Թույլատրված գործողությունները (READ, WRITE, DESCRIBE, CREATE, DELETE և այլն):
  • Իրավունքի տեսակ (ALLOW կամ DENY):

Օրինակ՝ ACL ավելացնելու հրամանը:

kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 \
  --add --allow-principal User:Alice --operation Read --topic my-topic

Այսպիսով, Kafka- ի ACL-ները թույլ են տալիս ճկուն կառավարել մուտքը հիմնական ռեսուրսների մակարդակով։