Autentisering och auktorisering för filsystem
När du har förstått de övergripande prestanda- och trafikegenskaperna för din arbetsbelastning måste du överväga säkerhetsaspekter. Dina data kan vara känsliga, till exempel patientradiologiska bilder. Du kanske vill begränsa åtkomsten till data av många skäl. Du kanske vill erbjuda var och en av dina forskare en "hemkatalog" där de kan läsa in data och utföra HPC-analys och simuleringar.
När du väljer din HPC-molnlagring bör du vara medveten om hur den integreras med din aktuella säkerhetsstatus. Förstå de metoder som filsystemet autentiserar och auktoriserar åtkomst till filer med. Observera om tillämpningen är lokal eller fjärransluten (eller både och) och var autentisering och auktorisering kommer från. Om du använder ett fjärrdelade filsystem måste du förstå hur du styr åtkomsten med hjälp av vanliga NAS-metoder. Slutligen, om du erbjuder unika arbetsytor för användare (hemkataloger), förstår du hur du allokerar det utrymmet.
I den här lektionen undersöker vi säkerhetsöverväganden och hur de påverkar din lagringsarkitektur.
Översikt över autentisering och auktorisering
Authentication: När du ger åtkomst till filsystem måste du autentisera beställaren med hjälp av några betrodda autentiseringsuppgifter. Många klient-/serverarkitekturer har problem med sådana autentiseringsuppgifter, till exempel användarkonton eller datorkonton. Dessa autentiseringsuppgifter kontrolleras sedan för att säkerställa att de är giltiga för miljön. Efter autentiseringen auktoriseras beställaren (användaren eller datorn/processen). De åtkomstprotokoll som krävs för din miljö kan begränsa autentiseringen för din lösning. Om du till exempel har en Windows-miljö använder du förmodligen Server Message Block (SMB) som nätverksfilåtkomstprotokoll. SMB-autentiseringskrav är inte samma som NFS-krav.
Authorization: Att tillåta en användare eller dator åtkomst till en miljö är en sak, men vilken nivå åtkomst? Användare A kan till exempel läsa filer i ett filsystem och användare B kanske kan läsa och skriva filer. Auktorisering kan gå djupare än att läsa och skriva. Användare C kan till exempel ändra filer men inte skapa nya i en viss katalog.
Auktoriseringsnivån uttrycks ofta som behörigheter för en viss fil. Dessa omfattar läsning, skrivning och körning.
Användare och grupper: Det kan bli besvärligt att bevilja åtkomst till en uppsättning resurser när du har ett stort antal användare. Det blir också komplicerat om du tänker bevilja olika åtkomstnivåer till flera uppsättningar användare. Användning av grupper blir sedan nödvändigt. Du kan tilldela en användare till en viss grupp eller uppsättning grupper. Du kan sedan auktorisera åtkomst till resurser baserat på den gruppidentifieringen.
Autentisering och auktorisering tillsammans representerar den åtkomst på användarnivå, gruppnivå och datornivå som du tänker bevilja resurser, i vårt fall, till filer.
Linux-operativsystemet tilldelar en användaridentifierare (UID) till enskilda användarkonton. UID är en hel siffra. Det är vad systemet använder för att avgöra vilka systemresurser, inklusive filer och mappar, som en specifik användare kan komma åt.
Linux OS använder gruppidentifierare (GID) för grupptilldelningar. En användare är associerad med en enda primär grupp. Användare kan associeras med praktiskt taget valfritt antal kompletterande grupptilldelningar, så många som 65 536 på de flesta moderna Linux-system.
Lokal och fjärrautentisering och auktorisering
Lokal autentisering och auktorisering refererar till åtkomsten till ett lokalt filsystem av ett användar-/datorkonto som också är lokalt för datorn. Jag kan till exempel skapa ett användarkonto som jag sedan beviljar åtkomst till katalogen /data som finns i mitt lokala filsystem. Det användarkontot är lokalt, liksom alla beviljanden av åtkomst till katalogen. Jag kan också använda grupptilldelning för att styra åtkomsten. Kombinationen av användar- och gruppauktorisering ger en användare effektiva behörigheter över en fil eller mapp.
Om du tittar på typiska utdata för ls -al
-katalogkommandot kan du se något liknande:
drwxr-xr-x 4 root root 4096 Dec 31 19:43.
drwxr-xr-x 13 root root 4096 Dec 11 05:53 ..
drwxr-xr-x 6 root root 4096 Dec 31 19:43 microsoft
drwxr-xr-x 8 root root 4096 Dec 31 19:43 omi
-rw-r--r-- 1 root root 0 Jan 21 15:10 test.txt
De drwxr-xr-x
tecknen representerar nivån för auktoriserad åtkomst som användare och grupper har till filen eller katalogen.
d
anger att posten är en katalog. (Om det första värdet är -
är posten en filpost.) De återstående tecknen representerar tillståndsgruppens rättigheter för läsning (r), skrivning (w) och körning (x). De tre första värdena anger filens eller katalogens "ägare". De andra tre värdena anger de gruppbehörigheter som tilldelats till filen eller katalogen. De sista tre värdena anger behörigheter som tillåts för alla andra användare i systemet.
Här är ett exempel:
-rw-r--r-- 1 root root 0 Jan 21 15:10 test.txt
-
-
anger att den här resursen är en fil. -
rw-
anger att ägaren har läs- och skrivbehörighet. -
r--
anger att den tilldelade gruppen bara har läsbehörigheter. -
r--
anger att de återstående användarna bara har läsbehörighet. - Observera också att den ägande användaren och den tilldelade gruppen representeras av de två
root
kolumnerna.
Ett UID och primära och kompletterande GID:er representerar en autentiserad användare på en lokal dator. Dessa värden är lokala för datorn. Vad händer om du har fem eller till och med 50 datorer? Du måste replikera UID- och GID-tilldelningarna på var och en av dessa datorer. Komplexiteten kring användarhantering växer, liksom möjligheten att oavsiktligt bevilja fil- eller mappåtkomst till fel användare.
Fjärrfilåtkomst via NFS
Lokal UID- och GID-tilldelning fungerar bra om du kör allt som en enskild användar-/grupptilldelning. Vad händer om flera intressenter använder det HPC-kluster som du kör och varje intressent har känsliga data och flera användare av data?
Genom att lokalisera data på en filserver eller i en NAS-miljö möjliggörs fjärråtkomst av data. Den här metoden hjälper till att minska den lokala diskkostnaden, säkerställer att data är uppdaterade för alla användare och minskar den övergripande användar- och grupphanteringen.
Om du hittar filer centralt kan du behöva en katalogtjänst som innehåller användar- och gruppkonfigurationen. Med katalogtjänster som Active Directory eller Lightweight Directory Access Protocol (LDAP) kan du skapa en användar-/gruppmappning som alla fjärrsystem sedan kan använda. Du konfigurerar fjärrdatorerna och NAS-miljön som klienter för katalogtjänsten. Du kan också använda Active Directory-mappningar mellan dina Windows-användarkonton och en specifik UID- och GID-kombination.
Den vanliga metoden för fjärråtkomst till filer är att använda ett nätverksfilsystem som NFS eller SMB, eller ett parallellt filsystem som Lustre. Dessa protokoll definierar klient- och server-API:et för åtkomst till data. Vi diskuterade NFS-åtgärder i enheten "Prestandaöverväganden för filsystem". Vi diskuterar användningen av NFS utförligt i nästa avsnitt.
Not
En katalogtjänst krävs inte när du använder NFS. Men om du inte använder en, kommer UID- och GID-hantering fortfarande att vara svåra om du har ett stort antal användare och system.
Hemkataloger
Anta att du har en HPC-miljö som flera forskare använder, men deras unika data måste hållas åtskilda. Anta att dessa forskare ständigt ändrar och lägger till sina egna data. Att ge forskare egna hemkataloger är ett effektivt sätt att separera sina data.
Varje forskare skulle hantera behörigheter i hemkatalogen, så att de kunde samarbeta om de ville.
En av de största utmaningarna i den här miljön är lagringsutrymme. Anta att du har en NAS-miljö på 500 TB. Vad hindrar en forskare från att använda allt?
Du kan tilldela en kvot till en enskild katalog. Kvoten återspeglar den maximala mängden data som tillåts. När kvoten har nåtts kan den avvisa ytterligare data eller varna administratörer om att forskaren har överskridit gränsen. Om du till exempel har ett NAS-system kan du tilldela en kvot till varje forskare. Och om du isolerar forskarnas åtkomst till hemkatalogen blir det enkelt att konfigurera och övervaka deras användning.