sql >> Databasteknik >  >> NoSQL >> HBase

Apache Hadoop Ozon Security – Autentisering

Apache Ozone är en distribuerad objektbutik byggd ovanpå Hadoop Distributed Data Store-tjänst. Den kan hantera miljarder små och stora filer som är svåra att hantera av andra distribuerade filsystem. Ozone stöder rika API:er som Amazon S3, Kubernetes CSI såväl som inbyggda Hadoop File System API:er. Detta gör Ozon lätt att konsumera av olika typer av big data-arbetsbelastningar som datalager på Apache Hive, dataintag med Apache Nifi, streaming med Apache Spark/Flink och maskininlärning med Tensorflow.

Med det växande dataavtrycket och mångfacetterade arbetsbelastningar som kräver samarbete mellan olika grupper, är datasäkerhet av yttersta vikt. Ozonsäkerhet har lagts till sedan Apache Hadoop Ozone 0.4.0 släpptes med bidrag från gemenskaperna. Den har också inkluderats som en teknisk förhandsvisning i Clouderas CDP Data Center 7.0-utgåva. Säkerhet kan klassificeras i fyra byggstenar:autentisering, auktorisering, granskning och kryptering. Vi kommer att täcka Autentiseringsdelen i den här bloggen tillsammans med de återstående i uppföljningsdelen.

Autentisering är processen att känna igen en användares identitet för ozonkomponenter. Ozone är kompatibelt med Apache Hadoop säkerhetsarkitektur och stöder stark autentisering med Kerberos såväl som säkerhetstokens.

Kerberos-baserad autentisering

Som visas i figur 1 nedan, autentiseras alla tjänstekomponenter inklusive OM (Ozon Manager), SCM (Storage Container Manager) och Datandoes med varandra via Kerberos. Varje tjänst måste konfigureras med ett giltigt Kerberos Principal Name och keytab-fil, som kommer att användas av tjänsten för att logga in när tjänsten startar i säkert läge. Mer information om OM/SCM/Datanode Kerberos-konfigurationen finns i Apache Hadoop Ozone-dokument. På motsvarande sätt måste Ozone-klienter tillhandahålla antingen en giltig Kerberos-biljett eller säkerhetstoken för att få tillgång till Ozone-tjänster som Ozone Manager för metadata och Datanode för läs-/skrivblock.

Säkerhetstokens

Liksom Hadoop-delegationstoken har Ozone-säkerhetstoken en tokenidentifierare tillsammans med en undertecknad signatur från utfärdaren. Ozonhanteraren utfärdar delegeringstoken och blockeringstoken för användare eller klientapplikationer autentiserade med Kerberos. Tokens signatur kan valideras av tokenvaliderare för att verifiera utfärdarens identitet. På så sätt kan en giltig token-innehavare använda token för att utföra operationer mot klustertjänsterna som om de hade Kerberos-biljetter från utfärdaren.

Delegeringstoken utfärdat av Ozone Manager tillåter tokeninnehavare att komma åt metadatatjänster som tillhandahålls av Ozone Manager, som att skapa en volym eller lista objekten i en hink. Vid mottagande av en begäran från en klient med en delegeringstoken, validerar Ozone Manager delegeringstoken genom att kontrollera undertecknarens signatur via dess publika nyckel. Delegeringstokenoperationer som att hämta, förnya och avbryta kan endast utföras över en Kerberos-autentiserad anslutning.

Blockera tokens liknar delegationstokens i den meningen att de är utfärdade/signerade av Ozonhanteraren. De utfärdas av Ozone Manager när en klientförfrågan involverar blockläsning eller skrivning på Datanode. Till skillnad från delegeringstokens som begärs med explicita API:er för att få/förnya/avbryta, lämnas de transparent till klienter tillsammans med information om nyckel/blockplats. Blocktokens valideras av Datanodes när de tar emot läs-/skrivbegäran från klienter som använder sångarens Ozone Managers publika nyckel. Blockeringstoken kan inte uttryckligen förnyas av klienten. När det har gått ut måste klienten återhämta nyckel-/blockplatserna för att få nya blocktokens.

S3 Secret

Ozone stöder Amazon S3-protokoll via Ozone S3 Gateway. I säkert läge utfärdar Ozone Manager en s3-hemlighet för Kerberos-autentiserade användare eller klientapplikationer som får åtkomst till Ozone med S3 API:er. Vi kommer att ta upp det i senare bloggar om Ozone S3 Gateway.

Hur fungerar Ozone Security Token?

Som visas i figur 2 förlitar sig den traditionella Apache Hadoop-delegationstoken och blocktoken på delade hemligheter mellan tokenutfärdare och tokenvalidator för att signera och validera token. Därför, när utfärdaren och valideraren är olika, t.ex. i fallet med blocktoken, måste den delade huvudnyckeln periodiskt överföras över tråden för att synkronisera mellan tokenutfärdaren (namnnoden) och tokenvalidatorn (datanoder).

Istället tar Ozon-säkerhetstoken en certifikatbaserad strategi. Som visas i figur 3 frikopplar den fullständigt tokenutfärdarna och tokenvaliderarna med en certifikatbaserad signatur. På så sätt är tokens säkrare eftersom delade hemligheter aldrig transporteras över tråden.

I säkert läge startar SCM sig själv som en CA (Certificate Authority) och skapar ett självsignerat CA-certifikat. Datanode och Ozone Manager måste registrera sig hos SCM CA via en CSR (certifikatsigneringsbegäran). SCM validerar identiteten för Datanode och Ozone Manager via Kerberos och signerar komponentens certifikat. De signerade certifikaten används av Ozone Manager och Datanode för att bevisa sin identitet. Detta är särskilt användbart för signering och validering av delegeringstoken/blockeringstoken.

I fallet med blocktoken signerar Ozone Manager (tokenutfärdare) token med sin privata nyckel och Datanodes (tokenvalidator) använder Ozone Managers certifikat för att validera blocktoken eftersom både Ozone Manager och datanode litar på SCM CA-signerade certifikat.

I fallet med delegeringstoken när Ozone Manager (både tokenutfärdare och validator) körs i HA (High Availability)-läge. Det finns flera Ozone Manager-instanser som körs samtidigt. En delegeringstoken som utfärdas och signeras av Ozone Manager-instans 1 kan valideras av Ozone Manager-instans 2 när ledaren Ozone Manager ändras eftersom båda instanserna litar på SCM CA-signerade certifikat. Mer information om Ozone HA designdokument finns här.

Slutsats

Autentisering är en av de viktigaste byggstenarna för Apache Hadoop Ozone-säkerhet. Du bör nu ha en bättre förståelse för vilka autentiseringsmekanismer som stöds av Apache Hadoop Ozone och hur de fungerar. Detta kommer att hjälpa till att förstå andra ozonsäkerhetspelare såsom auktorisering och revision.

Håll utkik efter uppföljningsartiklar om ozonsäkerhetsauktorisering, revision, kryptering och GDPR. Om du är intresserad av att dyka djupt kan du hitta fler tekniska detaljer från Ozones säkerhetsdesigndokument.

Referens

[1] Apache Hadoop ozonarkitektur

[2] Benchmarking Ozon:Clouderas nästa generations lagring för CDP

[3] Vad är Kerberos? · Hadoop och Kerberos:The Madness Beyond the Gate

[4] Apache Hadoop Ozon Document

[5] Lägger till säkerhet i Apache Hadoop

[6] Apache Hadoop Ozone HA Design Document på HDDS-505.

[7] Apache Hadoop Ozone Security Design Document på HDDS-4.


  1. Det gick inte att ladda filen eller sammansättningen System.Runtime.CompilerServices.Unsafe

  2. Hur ansluter man till fjärransluten Redis-server?

  3. Länka och skapa MongoDB-anslutningar med SQL:Del 3

  4. MongoParseError:alternativ useCreateIndex, useFindAndModify stöds inte