Hantera program-/mellanprogramssäkerhet

Slutförd

Stora organisationer har flera användare från olika företagsgrupper som behöver:

  • Logga in på klustret på ett säkert sätt
  • Framtvinga principen om lägsta behörighet (PLOP) när det gäller åtkomst till underliggande data
  • Logga de händelser som har säkerhets signifikans.

Syftet med programsäkerhet i HDInsight är att tillhandahålla sätt att på ett säkert sätt autentisera flera användare till HDInsight, tillämpa metoden att begränsa åtkomsträttigheterna för användare på data till de minsta behörigheter som de behöver för att utföra sitt arbete och slutligen logga händelser som har säkerhetsbetydelse, till exempel en inloggning, ett försök att utföra en privilegierad åtgärd, en ändring av en viktig post.

Autentisering

Autentisering är den process som etablerar en identitet som leder till att verifiera att användarna är de som de påstår sig vara. HDInsight-kluster i produktionsscenarier behöver vanligtvis göra det möjligt för en mängd olika användare från olika företagsgrupper att autentisera sig till klustret för att köra aktiviteter som att konfigurera, skicka, köra och övervaka arbetsbelastningar. Om du aktiverar esp-funktionen (Enterprise Security Package) när HDInsight-klustret skapas kan kluster vara domänanslutna och för domänanvändare att använda sina domänautentiseringsuppgifter för att autentisera sig till klustret. Active Directory-grupper kan användas för att skapa grupper av enskilda användare som representerar en funktion eller avdelning i en organisation och flera av dessa grupper kan synkroniseras till klustret när de skapas. Kluster måste ha en domänklusteradministratör och en eller flera grupper av användare med begränsad åtkomst. Nedan visas en representation av de komponenter och parter som ingår i HDInsight-autentiseringsprocessen.

HDInsight-autentiseringsprocess

Komponenterna nedan i Enterprise Identity-domänen deltar i konfigurations- och autentiseringsprocessen för ett ESP-kluster.

  • Windows Server Active Directory: Domänkontrollant lokalt och lagrar användarens huvudnamn (a.k.a UPN) ( till exempel: user@Contoso.com) och deras respektive domänlösenord.
  • Active Directory Anslut(AD Anslut): Microsoft-verktyg som utformats för att utföra hybrididentitetskonfigurationen. Funktioner som synk för lösenordshash är viktiga när du konfigurerar ESP på HDInsight.
  • Azure Activity-katalog (Microsoft Entra-ID): Microsoft Azure-baserad identitets- och åtkomsthanteringstjänst.
  • 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. Du använder dessa domäntjänster utan att behöva distribuera, hantera och korrigera domänkontrollanter i molnet. Microsoft Entra Domain Services integreras med din befintliga Microsoft Entra-klientorganisation, vilket gör det möjligt för användare att logga in med sina befintliga autentiseringsuppgifter. Du kan också använda befintliga grupper och användarkonton för att skydda åtkomsten till resurser, vilket ger en smidigare lift-and-shift av lokala resurser till Azure.

HDInsight stöder två typer av autentiseringsscenarier

  • När lösenordshashasharna synkroniseras till Microsoft Entra-ID.
  • När lösenordshashvärden behålls lokala domänkontrollanter. Observera att användaren kan välja att skapa HDInsight-klustret med Windows Azure Storage Blob (WASB) eller ADLS Gen2-lagring och att autentiseringsprocessen skiljer sig något åt i var och en av dem. Även om alla steg i autentiseringsprocessen utförs automatiskt och abstraheras bort från användaren, hjälper det att förstå, på en hög nivå, sekvensen av händelser som går till att autentisera en användare.

Autentisering: när lösenordshashvärden synkroniseras med Microsoft Entra-ID

Autentisering: När lösenordshashvärden synkroniseras med Microsoft Entra-ID

  1. Användaren John Doe autentiserar till en HDInsight-tjänst (till exempel Ambari, ssh, Zeppelin osv.) med sina autentiseringsuppgifter för domänen user@contoso.onmicrosoft.com (kallas för användarens huvudnamn eller UPN) och lösenord. Gatewayen innehåller användarnamnet och lösenordet.
  2. HDInsight Gateway skickar UPN och lösenordet som tillhandahålls av användaren till Microsoft Entra-ID:t med hjälp av ropc-flödet (resource owner password credentials) och begär en OAuth-åtkomstbegäran. Microsoft Entra-ID bekräftar användarens identitet och utfärdar en uppdateringstoken som sparas i autentiseringstjänsten, som körs på huvudnoden. I kluster med ADLS Gen 2-lagringskonton kommunicerar lagringsdrivrutinerna med autentiseringstjänsten för att hämta OAuth-token för genomströmningsautentisering till ADLS.
  3. Gatewayen autentiserar sedan användaren med Microsoft Entra Domain Services och hämtar en Kerberos-biljett. Gatewayen skickar sedan Kerberos-biljetten till huvudnoderna och autentiserar användaren till klustret.

MFA-autentisering: när lösenordshashvärden inte synkroniseras med Microsoft Entra-ID

Kommentar

Den här konfigurationen kallas även HDInsight Identity Broker (HIB) och stöder multifaktorautentisering (MFA). Om lösenordshasherna inte synkroniseras med Microsoft Entra-ID i den här konfigurationen kan användaren fortfarande autentisera till gatewayen.

När lösenordshashvärden inte synkroniseras med Microsoft Entra-ID

  1. Användaren John Doe startar en webbaserad HDInsight-tjänst som Ambari eller Zeppelin. Sidan omdirigerar användaren till en interaktiv inloggningsskärm. Klienten omdirigeras till Microsoft Entra-ID:t så att användaren kan autentisera med sitt UPN user@contoso.onmicrosoft.com.
  2. När du anger UPN omdirigeras klienten till den lokala ADFS-servern där användaren anger sitt lösenord. MFA-autentisering, om den är aktiverad, körs nu. Efter lyckad autentisering utfärdas en OAuth-token till klienten.
  3. Klienten presenterar OAuth-token för HDInsight-gatewayen.
  4. HDInsight-gatewayen använder OAuth-token för att hämta en Kerberos-biljett från HIB-noden.
  5. Gateway använder Kerberos-biljetten och registrerar OAuth-token på huvudnodernas autentiseringstjänst och autentiserar till klustret.

Kommentar

Om lösenordshasharna inte synkroniseras med Microsoft Entra-ID:t kan domänanvändarna inte ssh till huvudnoderna. Endast den lokala ssh-användaren kan utföra ssh-aktiviteter. Vägledning om hur du konfigurerar autentiseringsmekanismer för båda scenarierna beskrivs i Använda ID Broker för hantering av autentiseringsuppgifter.

Auktorisering

Auktorisering i HDInsight handlar om att fastställa och genomdriva användarbehörigheter på underliggande datauppsättningar. Detaljerad auktorisering för specifika åtgärder och/eller åtgärder är tillgänglig i HDInsight-tjänsterna i Hive, HBase och Kafka och hanteras via Apache Ranger. Ranger tillhandahåller rollbaserad åtkomstkontroll, attributbaserad åtkomstkontroll och centraliserar granskning av användaråtkomst och administrativa åtgärder. Du autentiserar vanligtvis till Apache Ranger med klusteradministratörens domänautentiseringsuppgifter och konfigurerar sedan principer för begränsade grupper eller användare på Ranger. I exemplet nedan visar vi hur du kan skapa en rangerprincip för att ange behörigheter för en Hive-exempeltabell i Ranger.

  1. Starta Apache Ranger med hjälp av URL:en: https://CLUSTERNAME.azurehdinsight.net/Ranger/. Ersätt "CLUSTERNAME" med namnet på klustret. Använd klusterdomänadministratören och motsvarande lösenord för att logga in.

    Ange behörigheter med Apache Ranger

  2. Klicka på Lägg till ny princip för att lägga till en ny ranger-princip.

    Lägga till en ny Ranger-princip

  3. Fyll i information om principen med följande information:

    1. Principnamn: Namnet på principen.
    2. Databas: Välj Hive-databasen.
    3. Tabell: Välj Hive-tabellen i den valda databasen.
    4. Hive-kolumn: Välj den Hive-kolumn som principen ska tillämpas på.
    5. Ställ in granskningsloggning på Ja för att aktivera loggning av all åtkomst.
    6. Tillåt villkor:
      • Principer kan tillämpas på active directory-domänanvändare (AD) eller domängrupper i avsnittet Tillåt villkor. Om du vill tillämpa principen på alla användare i en AD-grupp lägger du till den AD-gruppen i avsnittet Välj grupp.
      • Om du vill att principen ska gälla för enskilda användare eller en vald uppsättning användare från till exempel olika AD-grupper kan du lägga till alla enskilda domän-ID:t för användarna i fältet Välj användare.
      • Välj från en uppsättning behörigheter i kryssrutan Behörigheter.
  4. Rulla nedåt och klicka på Lägg till.

    Lägga till en princip

  5. När du har konfigurerat den här regeln tillämpas den för alla användare som ingår i principen.

Inställningar upp ranger-principer för HBase och Kafka beskrivs i respektive hyperlänkar i avsnittet.

Granskning

Granskning i HDInsight ur ett säkerhetsperspektiv handlar om registrering och övervakning av autentiserings- och auktoriseringsbegäranden som inträffar under klustrets drifttid och även efter att klustret har tagits bort.

Granskning i HDInsight är aktiverat med hjälp av Azure Monitor-loggar och kan användas för att visa loggar som är viktiga för klustersäkerhet. Nedan visas några loggtabeller som innehåller information som är viktig för klustersäkerhet.

Namn på loggtabell Syfte
ranger_audit_logs_CL Granska loggar från Apache Ranger i ESP-kluster
log_gateway_audit_CL Granska loggar från gateway för att visa lyckade och misslyckade försök
log_ambari_audit_CL Granskningsloggar från Ambari
log_auth_CL SSH-loggar för lyckade och misslyckade försök

Azure Monitoring aktiveras från Azure-portalen med några klickningar.

  1. Klicka på Azure Monitor på det vänstra bladet i HDInsight-klustret. Välj Azure Monitor-integrering till True och i Välj en arbetsyta väljer du en i förväg skapad Log Analytics-arbetsyta i listrutan.

    Använda Azure Monitor

  2. Starta log analytics-arbetsytan och importera relevanta HDInsight-övervakningslösningar som är relevanta för din klustertyp. Starta lösningen och klicka på Loggar.

    Visa loggar

  3. Loggtabeller som är relevanta för säkerhet finns i avsnittet Anpassade loggar till vänster. Dessa kan sedan efterfrågas för att extrahera relevant åtkomstinformation.

    Visa anpassade loggar