Apache Kafka ja suoratoistonkäsittelyn perusteet · Oppitunti

Tietoturva: todennus ja valtuutus

Toteuta Kafkan keskeiset tietoturvatoimet, kuten asiakkaiden todennus ja datan käyttöoikeuksien valtuutus.

Oppitunti 3/410 vaihetta

Tietoturva: todennus ja valtuutus on ilmainen Apache Kafka ja suoratoistonkäsittelyn perusteet-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Apache Kafka ja suoratoistonkäsittelyn perusteet-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Apache Kafka ja suoratoistonkäsittelyn perusteet-kurssilla on yhteensä 4 oppituntia.

Miksi Kafka on suojattava?

Nykymaailmassa, jossa data ohjaa toimintaa, datan suojaaminen on ensiarvoisen tärkeää. Kriittisten tietovirtojen usein keskeisenä runkona toimiva Kafka tarvitsee vankat suojaustoimet.

Ilman suojausta arkaluontoiset tiedot voivat paljastua, datan eheys vaarantua ja sääntelyvaatimuksia rikkoontua. Tässä oppitunnissa käsitellään keskeisiä tapoja suojata Kafka-klusteri.

Todennus: kuka olet?

Todennus on prosessi, jossa varmennetaan Kafka-välittäjään yhdistämään pyrkivän asiakkaan, kuten tuottajan tai kuluttajan, henkilöllisyys.

Ajattele sitä henkilöllisyystodistuksen näyttämisenä lentoasemalla. Kafkan on varmistettava, että olet se, joka väität olevasi, ennen kuin se sallii vuorovaikutuksen. Näin luvattomat käyttäjät eivät pääse edes muodostamaan yhteyttä.

Valtuutus: mitä saat tehdä?

Kun asiakas on todennettu eli sen henkilöllisyys on vahvistettu, valtuutus määrittää, mitä toimia se saa suorittaa.

Tämä vastaa tilannetta, jossa saat henkilöllisyystodistuksen näyttämisen jälkeen tarkastuskortin. Tarkastuskortti määrittää, mille portille pääset ja mille lennolle voit nousta. Kafka hallitsee valtuutuksen avulla tiettyjen aiheiden, kuluttajaryhmien ja muiden resurssien käyttöoikeuksia.

Kafkan suojaustyökalut

Kafka tarjoaa useita mekanismeja sekä todennuksen että valtuutuksen toteuttamiseen:

  • Todennus: Hoidetaan ensisijaisesti SASL:n (Simple Authentication and Security Layer) tai SSL/TLS:n avulla.
  • Valtuutus: Hallitaan käyttöoikeusluetteloilla (ACL), jotka määrittävät todennettujen käyttäjien oikeudet tiettyihin resursseihin.

Nämä kerrokset toimivat yhdessä ja muodostavat turvallisen tietovirtojen käsittely-ympäristön.

SASL/PLAIN-välittäjän määritys

SASL (Simple Authentication and Security Layer) tarjoaa kehyksen todennukselle. Yksi yleinen mekanismi on SASL/PLAIN, joka käyttää yksinkertaista käyttäjänimeä ja salasanaa.

Ota SASL/PLAIN käyttöön Kafka-välittäjässä lisäämällä suojausasetukset sen server.properties-tiedostoon. Tässä on yksinkertainen esimerkki:

# server.properties
listeners=PLAINTEXT://:9092,SASL_PLAINTEXT://:9093
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
supers.users=User:admin

listener.name.sasl_plaintext.plain.sasl.jaas.config=
  org.apache.kafka.common.security.plain.PlainLoginModule required
  username="admin" password="admin-secret";

Asiakkaan todennus SASL/PLAIN-menetelmällä

Kun välittäjä on määritetty käyttämään SASL/PLAIN-menetelmää, asiakkaiden eli tuottajien tai kuluttajien on annettava kelvolliset tunnistetiedot yhteyden muodostamista varten. Määritä nämä tiedot asiakkaan asetuksissa.

Kokeile suorittaa tämä yksinkertainen Java-tuottajaesimerkki, joka on määritetty käyttämään SASL/PLAIN-menetelmää:

import org.apache.kafka.clients.producer.*;
import java.util.Properties;

public class SecureProducer {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("bootstrap.servers", "localhost:9093");
        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

        // SASL_PLAINTEXT configuration
        props.put("security.protocol", "SASL_PLAINTEXT");
        props.put("sasl.mechanism", "PLAIN");
        props.put("sasl.jaas.config", 
            "org.apache.kafka.common.security.plain.PlainLoginModule required " +
            "username=\"admin\" password=\"admin-secret\";");

        Producer<String, String> producer = new KafkaProducer<>(props);
        try {
            for (int i = 0; i < 5; i++) {
                String message = "Hello Secure Kafka " + i;
                producer.send(new ProducerRecord<>("my-secure-topic", "key" + i, message));
                System.out.println("Sent: " + message);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            producer.close();
        }
    }
}

Valtuutus käyttöoikeusluetteloilla

Kun asiakas on todennettu, Kafka käyttää käyttöoikeusluetteloita (ACL) päättääkseen, onko sillä oikeus suorittaa tietty toiminto resurssille.

ACL on sääntö, joka määrittää, kuka (käyttäjäosapuoli), mistä (isäntä), saa tehdä mitä (toiminto, kuten READ tai WRITE) ja mille resurssille (aihe, ryhmä tai välittäjä).

ACL-luetteloiden hallinta CLI:llä

Kafka tarjoaa komentorivityökalun kafka-acls.sh ACL-luetteloiden hallintaan. Sen avulla voit myöntää tai peruuttaa käyttäjien oikeuksia erilaisiin Kafka-resursseihin.

Tässä on yleisiä komentoja:

  • Myönnä kirjoitusoikeus aiheeseen:
    kafka-acls.sh --authorizer-properties authorizer.properties --add --allow-principal User:admin --producer --topic my-secure-topic
  • Myönnä lukuoikeus kuluttajaryhmälle:
    kafka-acls.sh --authorizer-properties authorizer.properties --add --allow-principal User:consumerUser --consumer --group my-group
  • Luettele kaikki ACL:t:
    kafka-acls.sh --authorizer-properties authorizer.properties --list --topic my-secure-topic

Suojauksen tarkistuspiste

Olet oppinut Kafkan keskeiset suojauskäsitteet. Testataan ymmärrystäsi!

Mikä seuraavista kuvaa parhaiten valtuutuksen tarkoitusta Kafkassa?

Suojatut tietovirrat: yhteenveto

Hienoa! Olet käynyt läpi Kafkan suojauksen perusteet.

  • Todennus varmistaa asiakkaan henkilöllisyyden (esimerkiksi SASL/PLAIN-menetelmällä).
  • Valtuutus määrittää, mitä todennettu asiakas saa tehdä (esimerkiksi ACL-luetteloiden avulla).
  • Näiden toimien toteuttaminen suojaa tietovirtojasi luvattomalta käytöltä ja varmistaa datan eheyden.

Kafka-klusterin suojaaminen on kriittinen vaihe kaikissa tuotantoympäristön käyttöönotossa!

Aloita maksutta

Opi Apache Kafka ja suoratoistonkäsittelyn perusteet tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Tietoturva: todennus ja valtuutus” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Apache Kafka ja suoratoistonkäsittelyn perusteet-oppimispolun 3 oppituntia, myös oppitunnin “Tietoturva: todennus ja valtuutus”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Apache Kafka ja suoratoistonkäsittelyn perusteet-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tietoturva: todennus ja valtuutus”?

Toteuta Kafkan keskeiset tietoturvatoimet, kuten asiakkaiden todennus ja datan käyttöoikeuksien valtuutus. Harjoittelet Apache Kafka ja suoratoistonkäsittelyn perusteet-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Apache Kafka ja suoratoistonkäsittelyn perusteet-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Apache Kafka ja suoratoistonkäsittelyn perusteet-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Tietoturva: todennus ja valtuutus”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Apache Kafka ja suoratoistonkäsittelyn perusteet-oppitunnilla?

Kyllä. Jokainen Apache Kafka ja suoratoistonkäsittelyn perusteet-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Kafkan komentorivityökalut
  2. Kafkan valvonta JMX:llä ja työkaluilla
  3. Tietoturva: todennus ja valtuutus
  4. Kuluttajaviiveen seuranta ja hälytykset
← Takaisin: Apache Kafka ja suoratoistonkäsittelyn perusteet