Algemene informatie en richtlijnen voor bedrijfsbeveiliging in Azure HDInsight
Wanneer u een beveiligd HDInsight-cluster implementeert, zijn er enkele aanbevolen procedures die de implementatie en het clusterbeheer eenvoudiger moeten maken. Hier worden enkele algemene informatie en richtlijnen besproken.
Gebruik van beveiligd cluster
Aanbevolen
- Het cluster wordt tegelijkertijd door meerdere gebruikers gebruikt.
- Gebruikers hebben verschillende toegangsniveaus tot dezelfde gegevens.
Niet nodig
- U gaat alleen geautomatiseerde taken uitvoeren (zoals één gebruikersaccount), een standaardcluster is voldoende.
- U kunt de gegevens importeren met behulp van een standaardcluster en hetzelfde opslagaccount gebruiken op een ander beveiligd cluster waar gebruikers analysetaken kunnen uitvoeren.
Gebruik van lokaal account
- Als u een gedeeld gebruikersaccount of een lokaal account gebruikt, is het lastig om te bepalen wie het account heeft gebruikt om de configuratie of service te wijzigen.
- Het gebruik van lokale accounts is problematisch wanneer gebruikers geen deel meer uitmaken van de organisatie.
Ranger
Beleidsregels
Ranger gebruikt standaard Deny als het beleid.
Wanneer gegevenstoegang wordt uitgevoerd via een service waarvoor autorisatie is ingeschakeld:
- Ranger-autorisatieinvoegtoepassing wordt aangeroepen en krijgt de context van de aanvraag.
- Ranger past het beleid toe dat is geconfigureerd voor de service. Als het Ranger-beleid mislukt, wordt de toegangscontrole uitgesteld naar het bestandssysteem. Sommige services zoals MapReduce controleren alleen of het bestand/de map eigendom is van dezelfde gebruiker die de aanvraag indient. Services zoals Hive, controleren of het eigendom overeenkomt met of de juiste machtigingen voor het bestandssysteem (
rwx
).
Voor Hive moet de gebruiker niet alleen machtigingen hebben voor het maken/bijwerken/verwijderen van machtigingen voor maken/bijwerken/verwijderen, maar ook machtigingen hebben
rwx
voor de map in de opslag en alle submappen.Beleidsregels kunnen worden toegepast op groepen (bij voorkeur) in plaats van personen.
Ranger-autor evalueert alle Ranger-beleidsregels voor die service voor elke aanvraag. Deze evaluatie kan invloed hebben op de tijd die nodig is om de taak of query te accepteren.
Toegang tot opslag
- Als het opslagtype WASB is, is er geen OAuth-token betrokken.
- Als Ranger de autorisatie heeft uitgevoerd, vindt de opslagtoegang plaats met behulp van de beheerde identiteit.
- Als Ranger geen autorisatie heeft uitgevoerd, gebeurt de opslagtoegang met behulp van het OAuth-token van de gebruiker.
Hiërarchische naamruimte
Wanneer hiërarchische naamruimte niet is ingeschakeld:
- Er zijn geen overgenomen machtigingen.
- Alleen een bestandssysteemmachtiging die werkt, is de Azure-rol Storage Data XXXX , die rechtstreeks in De Azure-portal aan de gebruiker moet worden toegewezen.
Standaard HDFS-machtigingen
- Standaard hebben gebruikers geen toegang tot de / map in HDFS (ze moeten de rol van eigenaar van de opslagblob hebben om toegang te krijgen).
- Voor de faseringsmap voor mapreduce en anderen wordt een gebruikersspecifieke map gemaakt en machtigingen verleend
sticky _wx
. Gebruikers kunnen daaronder bestanden en mappen maken, maar kunnen geen andere items bekijken.
URL-verificatie
Als de URL-verificatie is ingeschakeld:
- De configuratie bevat welke voorvoegsels worden behandeld in de URL-verificatie (zoals
adl://
). - Als de toegang voor deze URL is, controleert Ranger of de gebruiker zich in de acceptatielijst bevindt.
- Ranger controleert geen van de fijnmazige beleidsregels.
Ranger-auditlogboeken beheren
Om te voorkomen dat Ranger-auditlogboeken te veel schijfruimte op uw hn0-hoofdknooppunt verbruiken, kunt u het aantal dagen wijzigen om de logboeken te bewaren.
- Meld u aan bij de Ambari-gebruikersinterface.
- Navigeer naar Services>Ranger>Configs>Advanced>Advanced ranger-solr-configuration.
- Wijzig het maximum aantal retentiedagen in 7 dagen of minder.
- Selecteer De betreffende onderdelen opslaan en opnieuw opstarten om de wijziging van kracht te laten worden.
Een aangepaste Ranger-database gebruiken
We raden u aan om een externe Ranger-database te implementeren voor gebruik met uw ESP-cluster voor hoge beschikbaarheid van Ranger-metagegevens. Dit zorgt ervoor dat beleidsregels beschikbaar zijn, zelfs als het cluster niet beschikbaar is. Omdat een externe database door de klant wordt beheerd, hebt u ook de mogelijkheid om de grootte van de database af te stemmen en de database te delen in meerdere ESP-clusters. U kunt uw externe Ranger DB opgeven tijdens het maken van het ESP-cluster met behulp van Azure Portal, Azure Resource Manager, Azure CLI, enzovoort.
Ranger-gebruikerssynchronisatie instellen om dagelijks uit te voeren
HDInsight ESP-clusters worden geconfigureerd voor Ranger om AD-gebruikers elk uur automatisch te synchroniseren. De Ranger-synchronisatie is een gebruikerssynchronisatie en kan extra belasting veroorzaken op het AD-exemplaar. Daarom raden we u aan om het interval voor de synchronisatie van Ranger-gebruikers te wijzigen in 24 uur.
- Meld u aan bij de Ambari-gebruikersinterface.
- Navigeer naar Services>Ranger>Configs>Advanced>ranger-ugsync-site
- Stel de eigenschap ranger.usersync.sleeptimeinmillisbetweensynccycle in op 864000000 (24 uur in milliseconden).
- Selecteer De betreffende onderdelen opslaan en opnieuw opstarten om de wijziging van kracht te laten worden.
Resourcegroepen
Gebruik een nieuwe resourcegroep voor elk cluster, zodat u onderscheid kunt maken tussen clusterresources.
NSG's, firewalls en interne gateway
- Gebruik netwerkbeveiligingsgroepen (NSG's) om virtuele netwerken te vergrendelen.
- Gebruik de firewall om uitgaand toegangsbeleid af te handelen.
- Gebruik de interne gateway die niet is geopend voor het openbare internet.
Microsoft Entra ID
Microsoft Entra ID (Microsoft Entra ID) is de cloudservice voor identiteits- en toegangsbeheer van Microsoft.
Beleidsregels
Schakel beleid voor voorwaardelijke toegang uit met behulp van het beleid op basis van IP-adressen. Hiervoor moeten service-eindpunten zijn ingeschakeld op de VNET's waar de clusters worden geïmplementeerd. Als u een externe service gebruikt voor MFA (iets anders dan Microsoft Entra-id), werkt het beleid op basis van IP-adressen niet
AllowCloudPasswordValidation
beleid is vereist voor federatieve gebruikers. Omdat HDInsight de gebruikersnaam/het wachtwoord rechtstreeks gebruikt om tokens op te halen uit Microsoft Entra ID, moet dit beleid worden ingeschakeld voor alle federatieve gebruikers.Schakel service-eindpunten in als u voorwaardelijke toegang wilt omzeilen met vertrouwde IP-adressen.
Groepen
- Implementeer altijd clusters met een groep.
- Gebruik De Microsoft Entra-id om groepslidmaatschappen te beheren (eenvoudiger dan het beheren van de afzonderlijke services in het cluster).
Gebruikersaccounts
- Gebruik een uniek gebruikersaccount voor elk scenario. Gebruik bijvoorbeeld een account voor importeren, gebruik een account voor het uitvoeren van query's of andere verwerkingstaken.
- Gebruik op groepen gebaseerd Ranger-beleid in plaats van afzonderlijke beleidsregels.
- Een plan hebben voor het beheren van gebruikers die geen toegang meer moeten hebben tot clusters.
Microsoft Entra Domain Services.
Microsoft Entra Domain Services biedt beheerde domeinservices zoals domeindeelname, groepsbeleid, LDAP (Lightweight Directory Access Protocol) en Kerberos/NTLM-verificatie die volledig compatibel is met Windows Server Active Directory.
Microsoft Entra Domain Services is vereist voor beveiligde clusters om lid te worden van een domein. HDInsight kan niet afhankelijk zijn van on-premises domeincontrollers of aangepaste domeincontrollers, omdat het te veel foutpunten introduceert, het delen van referenties, DNS-machtigingen enzovoort. Zie de veelgestelde vragen over Microsoft Entra Domain Services voor meer informatie.
De juiste Microsoft Entra Domain Services-SKU kiezen
Wanneer u uw beheerde domein maakt, kunt u kiezen uit verschillende SKU's die verschillende prestatieniveaus en functies bieden. Het aantal ESP-clusters en andere toepassingen dat het Microsoft Entra Domain Services-exemplaar gebruikt voor verificatieaanvragen, bepaalt welke SKU geschikt is voor uw organisatie. Als u merkt dat uw beheerde domein een hoge CPU heeft of als uw bedrijfsvereisten veranderen, kunt u uw SKU upgraden.
Microsoft Entra Domain Services-exemplaar
- Maak het exemplaar met de
.onmicrosoft.com domain
. Op deze manier zijn er niet meerdere DNS-servers die het domein bedienen. - Maak een zelfondertekend certificaat voor LDAPS en upload dit naar Microsoft Entra Domain Services.
- Gebruik een virtueel peernetwerk voor het implementeren van clusters (als u een aantal teams hebt die HDInsight ESP-clusters implementeren, is dit handig). Dit zorgt ervoor dat u geen poorten (NSG's) hoeft te openen in het virtuele netwerk met domeincontroller.
- Configureer de DNS voor het virtuele netwerk correct (de Domeinnaam van Microsoft Entra Domain Services moet worden omgezet zonder vermeldingen van hosts-bestanden).
- Als u uitgaand verkeer beperkt, moet u ervoor zorgen dat u de firewallondersteuning in HDInsight hebt gelezen
Overweeg replicasets van Microsoft Entra Domain Services
Wanneer u een door Microsoft Entra Domain Services beheerd domein maakt, definieert u een unieke naamruimte en worden er twee domeincontrollers (DC's) geïmplementeerd in uw geselecteerde Azure-regio. Deze implementatie van DC's wordt een replicaset genoemd. Het toevoegen van extra replicasets biedt tolerantie en zorgt voor beschikbaarheid van verificatieservices, wat essentieel is voor Azure HDInsight-clusters.
Synchronisatie van gebruikers/groepen met een bereik configureren
Wanneer u Microsoft Entra Domain Services inschakelt voor uw ESP-cluster, kunt u ervoor kiezen om alle gebruikers en groepen uit Microsoft Entra-id of bereikgroepen en hun leden te synchroniseren. We raden u aan synchronisatie met bereik te kiezen voor de beste prestaties.
Synchronisatie met bereik kan worden gewijzigd met verschillende groepsselecties of indien nodig worden geconverteerd naar alle gebruikers en groepen. U kunt het synchronisatietype niet wijzigen van 'Alle' in 'Scoped', tenzij u het Microsoft Entra Domain Services-exemplaar verwijdert en opnieuw maakt.
Eigenschappen gesynchroniseerd van Microsoft Entra-id naar Microsoft Entra Domain Services
- Microsoft Entra Connect wordt gesynchroniseerd van on-premises naar Microsoft Entra-id.
- Microsoft Entra Domain Services wordt gesynchroniseerd vanuit Microsoft Entra ID.
Microsoft Entra Domain Services synchroniseert periodiek objecten van Microsoft Entra ID. Op de blade Microsoft Entra Domain Services in Azure Portal wordt de synchronisatiestatus weergegeven. Tijdens elke synchronisatiefase kunnen unieke eigenschappen conflicteren en de naam ervan wijzigen. Let op de eigenschapstoewijzing van Microsoft Entra-id naar Microsoft Entra Domain Services.
Zie De populatie van Microsoft Entra UserPrincipalName en hoe Synchronisatie van Microsoft Entra Domain Services werkt voor meer informatie.
Hash-synchronisatie wachtwoord
- Wachtwoorden worden anders gesynchroniseerd dan andere objecttypen. Alleen niet-omkeerbare wachtwoordhashes worden gesynchroniseerd in Microsoft Entra ID en Microsoft Entra Domain Services
- On-premises naar Microsoft Entra-id moet worden ingeschakeld via AD Connect
- Microsoft Entra-id voor Microsoft Entra Domain Services-synchronisatie is automatisch (latenties zijn minder dan 20 minuten).
- Wachtwoordhashes worden alleen gesynchroniseerd wanneer er een gewijzigd wachtwoord is. Wanneer u wachtwoord-hashsynchronisatie inschakelt, worden alle bestaande wachtwoorden niet automatisch gesynchroniseerd omdat ze onherstelbaar worden opgeslagen. Wanneer u het wachtwoord wijzigt, worden wachtwoordhashes gesynchroniseerd.
Ambari LDAP-synchronisatie instellen om dagelijks uit te voeren
Het proces voor het synchroniseren van nieuwe LDAP-gebruikers naar Ambari wordt automatisch geconfigureerd om elk uur te worden uitgevoerd. Als u dit elk uur uitvoert, kan dit leiden tot overtollige belasting op de hoofdknooppunten van het cluster en het AD-exemplaar. Voor verbeterde prestaties raden we u aan het script /opt/startup_scripts/start_ambari_ldap_sync.py te wijzigen waarmee de Ambari LDAP-synchronisatie eenmaal per dag wordt uitgevoerd. Dit script wordt uitgevoerd via een crontab-taak en wordt opgeslagen in de map '/etc/cron.hourly/' op de hoofdknooppunten van het cluster.
Voer de volgende stappen uit om deze eenmaal per dag uit te voeren:
- ssh naar hn0
- Verplaats het script naar de dagelijkse map cron:
sudo mv /etc/cron.hourly/ambarildapsync /etc/cron.daily/ambarildapsync
- Pas de wijziging toe in de crontab-taak:
sudo service cron reload
- ssh naar hn1 en herhaal stap 1 - 3
Indien nodig kunt u de Ambari REST API gebruiken om nieuwe gebruikers en groepen onmiddellijk handmatig te synchroniseren.
Locatie van computerobjecten
Elk cluster is gekoppeld aan één organisatie-eenheid. Een interne gebruiker wordt ingericht in de organisatie-eenheid. Alle knooppunten zijn lid van een domein in dezelfde organisatie-eenheid.
Active Directory-beheerprogramma's
Zie Beheerprogramma's installeren voor meer informatie.
Probleemoplossing
Het maken van een cluster mislukt herhaaldelijk
Meest voorkomende redenen:
- DNS-configuratie is niet juist, domeindeelname van clusterknooppunten mislukt.
- NSG's zijn te beperkend, waardoor domeindeelname niet mogelijk is.
- Beheerde identiteit beschikt niet over voldoende machtigingen.
- De clusternaam is niet uniek op de eerste zes tekens (met een ander livecluster of met een verwijderd cluster).
Verificatie-instellingen en -configuratie
User Principal Name (UPN)
- Gebruik kleine letters voor alle services: UPN's zijn niet hoofdlettergevoelig in ESP-clusters, maar
- Het UPN-voorvoegsel moet overeenkomen met zowel SAMAccountName in Microsoft Entra Domain Services. Overeenkomen met het e-mailveld is niet vereist.
LDAP-eigenschappen in Ambari-configuratie
Zie Ambari LDAP-verificatie instellen voor een volledige lijst met ambari-eigenschappen die van invloed zijn op de configuratie van uw HDInsight-cluster.
Keytab(s) voor domeingebruikers genereren
Alle servicesleuteltabs worden automatisch voor u gegenereerd tijdens het maken van het ESP-cluster. Als u beveiligde communicatie wilt inschakelen tussen het cluster en andere services en/of taken waarvoor verificatie is vereist, kunt u een keytab genereren voor de gebruikersnaam van uw domein.
Gebruik de ktutil op een van de cluster-VM's om een Kerberos-sleuteltab te maken:
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
Als uw TenantName & DomainName anders is, moet u een SALT-waarde toevoegen met behulp van de optie -s. Controleer de pagina veelgestelde vragen over HDInsight om de juiste SALT-waarde te bepalen bij het maken van een Kerberos-sleuteltab.
LDAP-certificaat vernieuwen
HDInsight vernieuwt automatisch de certificaten voor de beheerde identiteiten die u gebruikt voor clusters met het Enterprise Security Package (ESP). Er is echter een beperking wanneer verschillende beheerde identiteiten worden gebruikt voor Microsoft Entra Domain Services en ADLS Gen2, waardoor het verlengingsproces kan mislukken. Volg de onderstaande 2 aanbevelingen om ervoor te zorgen dat we uw certificaten kunnen vernieuwen:
- Als u verschillende beheerde identiteiten gebruikt voor ADLS Gen2- en Microsoft Entra Domain Services-clusters, moeten beide de rollen Eigenaar van opslagblobgegevens en HDInsight Domain Services-inzender hebben toegewezen.
- HDInsight-clusters vereisen openbare IP-adressen voor certificaatupdates en ander onderhoud, zodat beleidsregels die openbare IP-adressen op het cluster weigeren, moeten worden verwijderd.