Allmän information och riktlinjer för företagssäkerhet i Azure HDInsight
När du distribuerar ett säkert HDInsight-kluster finns det några metodtips som bör göra distributionen och klusterhanteringen enklare. Här beskrivs allmän information och riktlinjer.
Användning av säkert kluster
Rekommenderat
- Klustret används av flera användare samtidigt.
- Användare har olika åtkomstnivåer till samma data.
Inte nödvändigt
- Du kommer bara att köra automatiserade jobb (till exempel ett enskilt användarkonto), ett standardkluster är tillräckligt bra.
- Du kan importera data med ett standardkluster och använda samma lagringskonto i ett annat säkert kluster där användare kan köra analysjobb.
Användning av lokalt konto
- Om du använder ett delat användarkonto eller ett lokalt konto blir det svårt att identifiera vem som använde kontot för att ändra konfigurationen eller tjänsten.
- Det är problematiskt att använda lokala konton när användarna inte längre är en del av organisationen.
Ranger
Principer
Som standard använder Ranger Neka som princip.
När dataåtkomst görs via en tjänst där auktorisering är aktiverad:
- Plugin-programmet för Ranger-auktorisering anropas och ges kontexten för begäran.
- Ranger tillämpar de principer som konfigurerats för tjänsten. Om Ranger-principerna misslyckas skjuts åtkomstkontrollen upp till filsystemet. Vissa tjänster som MapReduce kontrollerar bara om filen/mappen ägs av samma användare som skickar begäran. Tjänster som Hive, sök efter ägarskapsmatchning eller lämpliga filsystembehörigheter (
rwx
).
För Hive, förutom att ha behörighet att skapa/uppdatera/ta bort behörigheter, bör användaren ha
rwx
behörigheter för katalogen för lagring och alla underkataloger.Principer kan tillämpas på grupper (helst) i stället för enskilda.
Ranger-auktoriseraren utvärderar alla Ranger-principer för den tjänsten för varje begäran. Den här utvärderingen kan påverka den tid det tar att acceptera jobbet eller frågan.
Lagringsåtkomst
- Om lagringstypen är WASB ingår ingen OAuth-token.
- Om Ranger har utfört auktoriseringen sker lagringsåtkomsten med hjälp av den hanterade identiteten.
- Om Ranger inte utförde någon auktorisering sker lagringsåtkomsten med användarens OAuth-token.
Hierarkiskt namnutrymme
När hierarkiskt namnutrymme i inte är aktiverat:
- Det finns inga ärvda behörigheter.
- Endast filsystembehörighet som fungerar är Storage Data XXXX Azure-rollen, som ska tilldelas användaren direkt i Azure-portalen.
Standardbehörigheter för HDFS
- Som standard har användarna inte åtkomst till / mappen på HDFS (de måste vara i rollen som lagringsblobägare för att åtkomsten ska lyckas).
- För mellanlagringskatalogen för mapreduce och andra skapas en användarspecifik katalog och ges
sticky _wx
behörigheter. Användare kan skapa filer och mappar under, men kan inte titta på andra objekt.
URL-autentisering
Om url-autentiseringen är aktiverad:
- Konfigurationen innehåller vilka prefix som beskrivs i url-autentiseringen (till skillnad från
adl://
). - Om åtkomsten är för den här URL:en kontrollerar Ranger om användaren finns i listan över tillåtna.
- Ranger kontrollerar inte någon av de detaljerade principerna.
Hantera Ranger-granskningsloggar
Om du vill förhindra att Ranger-granskningsloggar förbrukar för mycket diskutrymme på hn0-huvudnoden kan du ändra antalet dagar för att behålla loggarna.
- Logga in på Ambari-användargränssnittet.
- Gå till Services>Ranger>Configs>Advanced>Advanced ranger-solr-configuration.
- Ändra "Max kvarhållningsdagar" till 7 dagar eller mindre.
- Välj Spara och starta om berörda komponenter för att ändringen ska börja gälla.
Använda en anpassad Ranger DB
Vi rekommenderar att du distribuerar en extern Ranger DB som ska användas med ditt ESP-kluster för hög tillgänglighet för Ranger-metadata, vilket säkerställer att principer är tillgängliga även om klustret inte är tillgängligt. Eftersom en extern databas är kundhanterad har du också möjlighet att justera databasens storlek och dela databasen i flera ESP-kluster. Du kan ange din externa Ranger DB under processen för att skapa ESP-kluster med hjälp av Azure-portalen, Azure Resource Manager, Azure CLI osv.
Ställ in Ranger-användarsynkronisering så att den körs dagligen
HDInsight ESP-kluster konfigureras för Ranger att synkronisera AD-användare automatiskt varje timme. Ranger-synkroniseringen är en användarsynkronisering och kan orsaka extra belastning på AD-instansen. Därför rekommenderar vi att du ändrar intervallintervallet för användarsynkronisering för Ranger till 24 timmar.
- Logga in på Ambari-användargränssnittet.
- Navigera till Services>Ranger>Configs>Advanced>ranger-ugsync-site
- Ange egenskapen ranger.usersync.sleeptimeinmillisbetweensynccycle till 86400000 (24h i millisekunder).
- Välj Spara och starta om berörda komponenter för att ändringen ska börja gälla.
Resursgrupper
Använd en ny resursgrupp för varje kluster så att du kan skilja mellan klusterresurser.
NSG:er, brandväggar och intern gateway
- Använd nätverkssäkerhetsgrupper (NSG:er) för att låsa virtuella nätverk.
- Använd brandväggen för att hantera principer för utgående åtkomst.
- Använd den interna gatewayen som inte är öppen för det offentliga Internet.
Microsoft Entra ID
Microsoft Entra ID (Microsoft Entra ID) är Microsofts molnbaserade tjänst för identitets- och åtkomsthantering.
Principer
Inaktivera principen för villkorlig åtkomst med hjälp av den IP-adressbaserade principen. Detta kräver att tjänstslutpunkter aktiveras på de virtuella nätverk där klustren distribueras. Om du använder en extern tjänst för MFA (något annat än Microsoft Entra-ID) fungerar inte den IP-adressbaserade principen
AllowCloudPasswordValidation
princip krävs för federerade användare. Eftersom HDInsight använder användarnamnet/lösenordet direkt för att hämta token från Microsoft Entra-ID måste den här principen aktiveras för alla federerade användare.Aktivera tjänstslutpunkter om du behöver kringgå villkorlig åtkomst med hjälp av betrodda IP-adresser.
Grupper
- Distribuera alltid kluster med en grupp.
- Använd Microsoft Entra-ID för att hantera gruppmedlemskap (enklare än att försöka hantera de enskilda tjänsterna i klustret).
Användarkonton
- Använd ett unikt användarkonto för varje scenario. Använd till exempel ett konto för import, använd ett annat för frågejobb eller andra bearbetningsjobb.
- Använd gruppbaserade Ranger-principer i stället för enskilda principer.
- Ha en plan för hur du hanterar användare som inte längre ska ha åtkomst till kluster.
Microsoft Entra Domain Services
Microsoft Entra Domain Services tillhandahåller hanterade domäntjänster som domänanslutning, grupprincip, LDAP (Lightweight Directory Access Protocol) och Kerberos/NTLM-autentisering som är helt kompatibel med Windows Server Active Directory.
Microsoft Entra Domain Services krävs för att säkra kluster ska kunna ansluta till en domän. HDInsight kan inte vara beroende av lokala domänkontrollanter eller anpassade domänkontrollanter, eftersom det introducerar för många felpunkter, delning av autentiseringsuppgifter, DNS-behörigheter och så vidare. Mer information finns i Vanliga frågor och svar om Microsoft Entra Domain Services.
Välj rätt SKU för Microsoft Entra Domain Services
När du skapar din hanterade domän kan du välja mellan olika SKU:er som erbjuder varierande prestanda och funktioner. Antalet ESP-kluster och andra program som ska använda Microsoft Entra Domain Services-instansen för autentiseringsbegäranden avgör vilken SKU som är lämplig för din organisation. Om du märker att processoranvändningen på din hanterade domän eller om dina affärskrav ändras kan du uppgradera din SKU.
Microsoft Entra Domain Services-instans
- Skapa instansen
.onmicrosoft.com domain
med . På så sätt finns det inte flera DNS-servrar som betjänar domänen. - Skapa ett självsignerat certifikat för LDAPS och ladda upp det till Microsoft Entra Domain Services.
- Använd ett peer-kopplat virtuellt nätverk för att distribuera kluster (när du har ett antal team som distribuerar HDInsight ESP-kluster är detta användbart). Detta säkerställer att du inte behöver öppna portar (NSG:er) i det virtuella nätverket med domänkontrollant.
- Konfigurera DNS för det virtuella nätverket korrekt (domännamnet för Microsoft Entra Domain Services bör matchas utan några värdfilposter).
- Om du begränsar utgående trafik kontrollerar du att du har läst igenom brandväggsstödet i HDInsight
Överväg Replikuppsättningar för Microsoft Entra Domain Services
När du skapar en hanterad domän i Microsoft Entra Domain Services definierar du ett unikt namnområde och två domänkontrollanter (DCs) distribueras sedan till den valda Azure-regionen. Den här distributionen av domänkontrollanter kallas för en replikuppsättning. Att lägga till ytterligare replikuppsättningar ger återhämtning och säkerställer tillgängligheten för autentiseringstjänster, vilket är viktigt för Azure HDInsight-kluster.
Konfigurera begränsad synkronisering av användare/grupper
När du aktiverar Microsoft Entra Domain Services för ditt ESP-kluster kan du välja att synkronisera alla användare och grupper från Microsoft Entra-ID eller begränsade grupper och deras medlemmar. Vi rekommenderar att du väljer "Begränsad" synkronisering för bästa prestanda.
Begränsad synkronisering kan ändras med olika gruppval eller konverteras till "Alla" användare och grupper om det behövs. Du kan inte ändra synkroniseringstypen från "Alla" till "Scoped" om du inte tar bort och återskapar Microsoft Entra Domain Services-instansen.
Egenskaper som synkroniserats från Microsoft Entra-ID till Microsoft Entra Domain Services
- Microsoft Entra Connect synkroniserar från lokalt till Microsoft Entra-ID.
- Microsoft Entra Domain Services synkroniseras från Microsoft Entra-ID.
Microsoft Entra Domain Services synkroniserar objekt från Microsoft Entra-ID med jämna mellanrum. Bladet Microsoft Entra Domain Services på Azure-portalen visar synkroniseringsstatusen. Under varje fas av synkroniseringen kan unika egenskaper hamna i konflikt och byta namn. Var uppmärksam på egenskapsmappningen från Microsoft Entra ID till Microsoft Entra Domain Services.
Mer information finns i Microsoft Entra UserPrincipalName-populationen och Hur Microsoft Entra Domain Services-synkronisering fungerar.
Hash-synkronisering för lösenord
- Lösenord synkroniseras på ett annat sätt än andra objekttyper. Endast icke-reversibla lösenordshashvärden synkroniseras i Microsoft Entra ID och Microsoft Entra Domain Services
- Lokalt till Microsoft Entra-ID måste aktiveras via AD Connect
- Microsoft Entra-ID till Microsoft Entra Domain Services-synkronisering är automatiskt (svarstider är under 20 minuter).
- Lösenordshashvärden synkroniseras endast när det finns ett ändrat lösenord. När du aktiverar synkronisering av lösenordshash synkroniseras inte alla befintliga lösenord automatiskt eftersom de lagras oåterkalleligt. När du ändrar lösenordet synkroniseras lösenordshasherna.
Ange att Ambari LDAP-synkronisering ska köras dagligen
Processen för att synkronisera nya LDAP-användare till Ambari konfigureras automatiskt att köras varje timme. Om du kör detta varje timme kan det orsaka överbelastning på klustrets huvudnoder och AD-instansen. För bättre prestanda rekommenderar vi att du ändrar skriptet /opt/startup_scripts/start_ambari_ldap_sync.py som kör Ambari LDAP-synkroniseringen så att det körs en gång om dagen. Det här skriptet körs via ett crontab-jobb och lagras i katalogen "/etc/cron.hourly/" på klustrets huvudnoder.
Utför följande steg för att köra den en gång om dagen:
- ssh till hn0
- Flytta skriptet till den dagliga cron-mappen:
sudo mv /etc/cron.hourly/ambarildapsync /etc/cron.daily/ambarildapsync
- Tillämpa ändringen i crontab-jobbet:
sudo service cron reload
- ssh till hn1 och upprepa steg 1–3
Om det behövs kan du använda Ambari REST API för att synkronisera nya användare och grupper manuellt omedelbart.
Plats för datorobjekt
Varje kluster är associerat med en enda organisationsenhet. En intern användare etableras i organisationsenheten. Alla noder är domänanslutna till samma organisationsenhet.
Administrationsverktyg för Active Directory
Mer information finns i Installera hanteringsverktyg.
Felsökning
Det går inte att skapa kluster upprepade gånger
De vanligaste orsakerna:
- DNS-konfigurationen är inte korrekt, domänanslutningen av klusternoder misslyckas.
- NSG:er är för restriktiva och förhindrar domänanslutning.
- Hanterad identitet har inte tillräckliga behörigheter.
- Klusternamnet är inte unikt för de sex första tecknen (antingen med ett annat livekluster eller med ett borttaget kluster).
Konfiguration och konfiguration av autentisering
Användarens huvudnamn (UPN)
- Använd gemener för alla tjänster – UPN är inte skiftlägeskänsliga i ESP-kluster, men
- UPN-prefixet ska matcha både SAMAccountName i Microsoft Entra Domain Services. Matchning med e-postfältet krävs inte.
LDAP-egenskaper i Ambari-konfiguration
En fullständig lista över de Ambari-egenskaper som påverkar konfigurationen av HDInsight-klustret finns i Ambari LDAP-autentiseringskonfiguration.
Generera domänanvändares nyckelflikar
Alla tjänstnyckelflikar genereras automatiskt åt dig under processen för att skapa ESP-kluster. Om du vill aktivera säker kommunikation mellan klustret och andra tjänster och/eller jobb som kräver autentisering kan du generera en nyckelflik för ditt domänanvändarnamn.
Använd ktutil på en av de virtuella klusterdatorerna för att skapa en Kerberos-nyckelflik:
ktutil
ktutil: addent -password -p <username>@<DOMAIN.COM> -k 1 -e aes256-cts-hmac-sha1-96
Password for <username>@<DOMAIN.COM>: <password>
ktutil: wkt <username>.keytab
ktutil: q
Om ditt TenantName & DomainName skiljer sig måste du lägga till ett SALT-värde med alternativet -s. Kontrollera sidan vanliga frågor och svar om HDInsight för att fastställa rätt SALT-värde när du skapar en Kerberos-nyckelflik.
Förnyelse av LDAP-certifikat
HDInsight förnyar automatiskt certifikaten för de hanterade identiteter som du använder för kluster med Enterprise Security Package (ESP). Det finns dock en begränsning när olika hanterade identiteter används för Microsoft Entra Domain Services och ADLS Gen2 som kan leda till att förnyelseprocessen misslyckas. Följ de två rekommendationerna nedan för att säkerställa att vi kan förnya dina certifikat:
- Om du använder olika hanterade identiteter för ADLS Gen2- och Microsoft Entra Domain Services-kluster bör båda ha rollerna Storage Blob Data Owner och HDInsight Domain Services-deltagare tilldelade.
- HDInsight-kluster kräver offentliga IP-adresser för certifikatuppdateringar och annat underhåll, så alla principer som nekar offentlig IP-adress i klustret bör tas bort.