Middle
Ako je implementované obmedzenie prístupu v klastre Kafka? Na aké entity sa vzťahujú ACL?
sobes.tech AI
Odpoveď od AI
V Apache Kafka je riadiaci prístup implementovaný prostredníctvom mechanizmu ACL (Zoznamy kontroly prístupu). ACL umožňujú definovať, ktorí používatelia alebo služby (principals) majú práva na vykonávanie určitých operácií s prostriedkami klastru.
ACL sa vzťahujú na nasledujúce hlavné entity:
- Topic — práva na čítanie (READ), zápis (WRITE), vytváranie (CREATE), mazanie (DELETE) tém.
- Group — práva na správu skupín spotrebiteľov (napríklad čítanie offsetov).
- Cluster — práva na operácie súvisiace s samotným klastrom, ako je vytváranie tém, správa ACL.
- TransactionalId — práva na používanie transakcií.
Každá ACL určuje:
- Principála (používateľa alebo servisný účet), ktorému sú práva pridelené.
- Zdroj (topic, group, cluster atď.).
- Povolené operácie (READ, WRITE, DESCRIBE, CREATE, DELETE atď.).
- Typ povolenia (ALLOW alebo DENY).
Príklad príkazu na pridanie ACL:
kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 \
--add --allow-principal User:Alice --operation Read --topic my-topic
Týmto spôsobom ACL v Kafka umožňujú flexibilne riadiť prístup na úrovni kľúčových prostriedkov klastru.