Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Het inrichten van accounts voor het hele product wordt beschreven in Windows-serviceaccounts en -machtigingen configureren. Dit onderwerp bevat uitgebreide serviceaccountgegevens voor alle SQL Server-services, waaronder SQL Server Analysis Services. Raadpleeg het voor meer informatie over geldige accounttypen, Windows-bevoegdheden die zijn toegewezen door setup, bestandssysteemmachtigingen, registermachtigingen en meer.
Dit onderwerp bevat aanvullende informatie voor SQL Server Analysis Services, inclusief aanvullende machtigingen die nodig zijn voor tabellaire en geclusterde installaties. Het omvat ook machtigingen die nodig zijn voor het ondersteunen van serverbewerkingen. In dit scenario kunt u bijvoorbeeld verwerkings- en querybewerkingen configureren die moeten worden uitgevoerd onder het serviceaccount . Er zijn extra machtigingen nodig.
Windows-bevoegdheden die zijn toegewezen aan Analysis Services
Machtigingen voor bestandssysteem die zijn toegewezen aan Analysis Services
Aanvullende machtigingen verlenen voor specifieke serverbewerkingen
Een andere configuratiestap, die hier niet wordt beschreven, is het registreren van een Service Principal Name (SPN) voor het SQL Server Analysis Services-exemplaar en serviceaccount. Met deze stap kunt u passthrough-verificatie van clienttoepassingen naar back-endgegevensbronnen in scenario's met dubbele hops uitvoeren. Deze stap is alleen van toepassing op services die zijn geconfigureerd voor beperkte Kerberos-delegering. Zie Analysis Services configureren voor beperkte Kerberos-delegering voor verdere instructies.
Aanbevelingen voor loginaccount
Het opstartaccount van de MSSQLServerOLAPService Windows-service kan een Windows-domeingebruikersaccount, een virtueel account, een beheerd serviceaccount (MSA) of een ingebouwd account zijn, zoals een SID per service, NetworkService of LocalSystem. Het gebruik van een domeingebruikersaccount als een serviceaanmeldingsaccount bevat details over de indelingen van gebruikersaccounts.
In een failovercluster moeten alle exemplaren van Analysis Services worden geconfigureerd voor het gebruik van een Windows-domeingebruikersaccount. Wijs hetzelfde account toe aan alle instances. Zie Cluster Analysis Services voor meer informatie.
Zelfstandige exemplaren moeten gebruikmaken van het standaard virtuele account, NT Service\MSSQLServerOLAPService voor het standaardexemplaren of NT Service\MSOLAP$instance-name voor een benoemd exemplaar. Deze aanbeveling is van toepassing op Analysis Services-exemplaren in alle servermodi, ervan uitgaande dat Windows Server 2008 R2 en hoger voor het besturingssysteem, en SQL Server 2012 en hoger voor Analysis Services.
Machtigingen verlenen aan Analysis Services
In deze sectie worden de machtigingen uitgelegd die Analysis Services nodig heeft voor lokale, interne bewerkingen. Deze bewerkingen omvatten het starten van het uitvoerbare bestand, het lezen van het configuratiebestand en het laden van databases uit de gegevensmap. Richtlijnen voor het instellen van machtigingen voor externe gegevenstoegang en interoperabiliteit met andere services en toepassingen zijn beschikbaar in het verlenen van extra machtigingen voor specifieke serverbewerkingen verderop in dit onderwerp.
Voor interne bewerkingen is de machtigingshouder in Analysis Services niet het aanmeldingsaccount, maar een lokale Windows-beveiligingsgroep die is gemaakt door de installatie die de SID per service bevat. Het toewijzen van machtigingen aan de beveiligingsgroep is consistent met eerdere versies van Analysis Services. Bovendien kunnen aanmeldingsaccounts na verloop van tijd veranderen, maar de SID per service en de lokale beveiligingsgroep zijn constant voor de levensduur van de serverinstallatie. Voor Analysis Services is de beveiligingsgroep een betere keuze voor het bewaren van machtigingen dan het aanmeldingsaccount. Wanneer u handmatig rechten verleent aan de service-instantie, ongeacht of het gaat om bestandssysteemmachtigingen of Windows-bevoegdheden, moet u machtigingen verlenen aan de lokale beveiligingsgroep die is gemaakt voor het serverexemplaar.
De naam van de beveiligingsgroep volgt een patroon. Het voorvoegsel is altijd SQLServerMSASUser$, gevolgd door de computernaam, eindigend met de exemplaarnaam. Het standaardexemplaar is MSSQLSERVER. Een genaamde instantie is de naam die tijdens de installatie is gegeven.
U kunt deze beveiligingsgroep zien in de lokale beveiligingsinstellingen:
Compmgmt.msc uitvoeren | Lokale gebruikers en groepen | Groepen | SQLServerMSASUser$<servernaam>$MSSQLSERVER (voor een standaardexemplaren).
Dubbelklik op de beveiligingsgroep om de leden ervan weer te geven.
Het enige lid van de groep is de per-service SID. Direct ernaast bevindt zich het aanmeldingsaccount. De aanmeldingsaccountnaam is puur cosmetisch en is er om context te geven aan de SID per service. Als u het aanmeldingsaccount wijzigt, worden de beveiligingsgroep en de SID per service niet gewijzigd. Alleen het label van het aanmeldingsaccount is anders.
Windows-bevoegdheden die zijn toegewezen aan het Analysis Services-serviceaccount
Analysis Services heeft machtigingen nodig van het besturingssysteem voor het opstarten van de service en het aanvragen van systeembronnen. De vereisten variëren per servermodus en of het exemplaar is geclusterd.
Voor alle exemplaren van Analysis Services is het recht Aanmelden als service (SeServiceLogonRight) vereist. SQL Server Setup wijst de bevoegdheid voor u toe aan het serviceaccount dat is opgegeven tijdens de installatie. Voor servers die worden uitgevoerd in de multidimensionale modus en dataanalysemodus, is dit de enige Windows-bevoegdheid die is vereist voor het Analysis Services-serviceaccount voor zelfstandige serverinstallaties en het is de enige bevoegdheid die Setup configureert voor Analysis Services. Voor geclusterde en tabellaire exemplaren moeten extra Windows-bevoegdheden handmatig worden toegevoegd.
Failover cluster-exemplaren moeten in de Tabular- of Multidimensionale modus de planningsprioriteit verhogen hebben (SeIncreaseBasePriorityPrivilege).
Instanties in tabelvorm gebruiken de volgende drie extra bevoegdheden, die handmatig moeten worden verleend nadat het exemplaar is geïnstalleerd.
| Voorrecht | Beschrijving |
|---|---|
| Een proceswerkset verhogen (SeIncreaseWorkingSetPrivilege) | Deze bevoegdheid is standaard beschikbaar voor alle gebruikers via de beveiligingsgroep Gebruikers . Als u een server vergrendelt door bevoegdheden voor deze groep te verwijderen, kan Analysis Services mogelijk niet worden gestart. De volgende fout wordt vastgelegd: 'Een vereiste bevoegdheid wordt niet bewaard door de client'. Wanneer deze fout optreedt, herstelt u de bevoegdheid naar Analysis Services door deze te verlenen aan de juiste Analysis Services-beveiligingsgroep. |
| Geheugenquota aanpassen voor een proces (SeIncreaseQuotaPrivilege) | Deze bevoegdheid wordt gebruikt om meer geheugen aan te vragen als een proces onvoldoende resources heeft om de uitvoering te voltooien, afhankelijk van de geheugendrempels die voor het exemplaar zijn vastgesteld. |
| Pagina's in het geheugen vergrendelen (SeLockMemoryPrivilege) | Deze bevoegdheid is alleen nodig wanneer paging volledig is uitgeschakeld. Een exemplaar van een tabellaire server gebruikt standaard het Windows-omslagbestand, maar u kunt voorkomen dat dit gebruikt wordt door VertiPaqPagingPolicy in te stellen op 0. VertiPaqPagingPolicy naar 1 (standaard) stelt in dat het exemplaar van de tabellaire server het Windows-paginabestand moet gebruiken. Toewijzingen zijn niet vergrendeld, zodat Windows indien nodig kan worden uitgepaginad. Omdat paging wordt gebruikt, hoeft u geen pagina's in het geheugen te vergrendelen. Voor de standaardconfiguratie (waarbij VertiPaqPagingPolicy = 1) is ingesteld, hoeft u de pagina's vergrendelen in het geheugen niet toe te kennen aan een tabellair exemplaar. VertiPaqPagingPolicy tot 0. Als u paging uitschakelt voor Analysis Services, worden toewijzingen vergrendeld, ervan uitgaande dat de bevoegdheid Pagina's in geheugen vergrendelen is verleend aan de tabular instantie. Gezien deze instelling en de pagina's vergrendelen met geheugenbevoegdheden , kan Windows geen geheugentoewijzingen weergeven die aan Analysis Services zijn toegewezen wanneer het systeem onder geheugendruk staat. Analysis Services is afhankelijk van de machtiging voor het vergrendelen van pagina's in het geheugen als handhaving achter VertiPaqPagingPolicy = 0. Houd er rekening mee dat het uitschakelen van Paging van Windows niet wordt aanbevolen. Dit verhoogt de kans op fouten door onvoldoende geheugen voor bewerkingen die anders kunnen slagen als wisselwerking is toegestaan. Zie Geheugeneigenschappen voor meer informatie over VertiPaqPagingPolicy. |
Windows-bevoegdheden weergeven of toevoegen aan het serviceaccount
GPEDIT.msc uitvoeren | Beleid voor lokale computers | Computerconfiguratie | Windows-instellingen | Beveiligingsinstellingen | Lokaal beleid | Toewijzingen van gebruikersrechten.
Bekijk bestaande beleidsregels met SQLServerMSASUser$. Dit is een lokale beveiligingsgroep op computers met een Analysis Services-installatie. Zowel Windows-bevoegdheden als bestandsmapmachtigingen worden verleend aan deze beveiligingsgroep. Dubbelklik op Aanmelden als een servicebeleid om te zien hoe de beveiligingsgroep is opgegeven op uw systeem. De volledige naam van de beveiligingsgroep is afhankelijk van of u Analysis Services als een genaamd exemplaar hebt geïnstalleerd. Gebruik deze beveiligingsgroep in plaats van het werkelijke serviceaccount bij het toevoegen van accountbevoegdheden.
Als u accountbevoegdheden wilt toevoegen in GPEDIT, klikt u met de rechtermuisknop op Een werkset voor processen vergroten en selecteert u Eigenschappen.
Klik op Gebruiker of groep toevoegen.
Voer de gebruikersgroep in voor het Analysis Services-exemplaar. Houd er rekening mee dat het serviceaccount lid is van een lokale beveiligingsgroep, waarvoor u de naam van de lokale computer moet instellen als het domein van het account.
In de volgende lijst ziet u twee voorbeelden voor een standaardexemplaren en een benoemd exemplaar met de naam Tabular op een computer met de naam SQL01-WIN12, waarbij de computernaam het lokale domein is.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Herhaal dit voor het aanpassen van geheugenquota voor een proces en eventueel voor pagina's vergrendelen in het geheugen of de planningsprioriteit verhogen.
Opmerking
In eerdere versies van Setup is het Analysis Services-serviceaccount per ongeluk toegevoegd aan de groep Gebruikers van het prestatielogboek . Hoewel dit defect is opgelost, kunnen bestaande installaties dit onnodige groepslidmaatschap hebben. Omdat het SQL Server Analysis Services-serviceaccount geen lidmaatschap van de groep Prestatielogboekgebruikers vereist, kunt u dit verwijderen uit de groep.
Bestandssysteemmachtigingen die zijn toegewezen aan het Analysis Services-serviceaccount
Opmerking
Zie Windows-serviceaccounts en machtigingen configureren voor een lijst met machtigingen die zijn gekoppeld aan elke programmamap.
Zie HTTP-toegang tot Analysis Services configureren op IIS (Internet Information Services) 8.0 voor informatie over bestandsmachtigingen met betrekking tot IIS-configuratie en SQL Server Analysis Services.
Alle bestandssysteemmachtigingen die vereist zijn voor serverbewerkingen, inclusief machtigingen die nodig zijn voor het laden en lossen van databases uit een aangewezen gegevensmap, worden tijdens de installatie toegewezen door SQL Server Setup.
De machtiginghouder voor gegevensbestanden, uitvoerbare programmabestanden, configuratiebestanden, logboekbestanden en tijdelijke bestanden is een lokale beveiligingsgroep die is gemaakt door SQL Server Setup.
Er is één beveiligingsgroep gemaakt voor elk exemplaar dat u installeert. De beveiligingsgroep is genoemd naar het exemplaar - SQLServerMSASUser$MSSQLSERVER voor het standaardexemplaar, of SQLServerMSASUser$<servername>$<instancename> voor een benoemd exemplaar. Deze beveiligingsgroep wordt ingesteld met de bestandsmachtigingen die nodig zijn om serverbewerkingen uit te voeren. Als u de beveiligingsmachtigingen op de \MSAS13 controleert. MSSQLSERVER\OLAP\BIN-map, ziet u dat de beveiligingsgroep (niet het serviceaccount of de bijbehorende SID per service) de machtigingshouder voor die map is.
De beveiligingsgroep bevat slechts één lid: de beveiligings-id (SID) per service van het opstartaccount van het SQL Server Analysis Services-exemplaar. Setup voegt de SID per service toe aan de lokale beveiligingsgroep. Het gebruik van een lokale beveiligingsgroep, met het bijbehorende SID-lidmaatschap, is een klein maar merkbaar verschil in hoe SQL Server Setup Analysis Services inricht in vergelijking met de Database Engine.
Als u denkt dat bestandsmachtigingen beschadigd zijn, voert u de volgende stappen uit om te controleren of de service nog steeds correct is ingericht:
Gebruik het opdrachtregelprogramma servicebeheer (sc.exe) om de SID van een standaardservice-exemplaar te verkrijgen.
SC showsid MSSqlServerOlapServiceGebruik deze syntaxis voor een benoemd exemplaar (waarbij de naam van het exemplaar Tabular is):
SC showsid MSOlap$TabularGebruik Computerbeheer | Lokale gebruikers en groepen | Groepen om het lidmaatschap van de beveiligingsgroep SQLServerMSASUser$<servername>$<instancename> te controleren.
De lid-SID moet overeenkomen met de SID per service uit stap 1.
Gebruik Windows Verkenner | Program Files | Microsoft SQL Server | MSASxx.MSSQLServer | OLAP | bin om te controleren of de machtigingen voor mapbeveiliging zijn toegewezen aan de beveiligingsgroep in stap 2.
Opmerking
Verwijder of wijzig nooit een SID. Om een per-service SID die per ongeluk is verwijderd te herstellen, zie Service-SID's gebruiken om machtigingen te verlenen aan services in SQL Server 2017.
Meer informatie over SID's per service
Elk Windows-account heeft een bijbehorende SID, maar services kunnen ook SID's hebben, dus aangeduid als SID's per service. Er wordt bij de installatie van het service-exemplaar een SID per service aangemaakt, als een uniek, permanent onderdeel van de service. De SID per service is een lokale SID op computerniveau die is gegenereerd op basis van de servicenaam. Bij een standaardinstantie is de gebruiksvriendelijke naam NT SERVICE\MSSQLServerOLAPService.
Het voordeel van een SID per service is dat het meer zichtbare aanmeldingsaccount willekeurig kan worden gewijzigd, zonder dat dit van invloed is op bestandsmachtigingen. Stel dat u twee exemplaren van Analysis Services hebt geïnstalleerd, een standaardexemplaren en een benoemd exemplaar, die beide worden uitgevoerd onder hetzelfde Windows-gebruikersaccount. Hoewel het aanmeldingsaccount wordt gedeeld, heeft elke service-instantie een unieke SID voor elke dienst. Deze SID verschilt van de SID van het aanmeldingsaccount. De SID per service wordt gebruikt voor bestandsmachtigingen en Windows-bevoegdheden. De aanmeldingsaccount-SID wordt daarentegen gebruikt voor verificatie- en autorisatiescenario's - verschillende SID's, die voor verschillende doeleinden worden gebruikt.
Omdat de SID onveranderbaar is, kunnen bestandssysteem-ACL's die zijn gemaakt tijdens de installatie van de service voor onbepaalde tijd worden gebruikt, ongeacht hoe vaak u het serviceaccount wijzigt. Als extra beveiligingsmaatregel zorgen ACL's die machtigingen opgeven via een SID ervoor dat uitvoerbare programma's en gegevensmappen slechts worden geopend door één exemplaar van een service, zelfs als andere services worden uitgevoerd onder hetzelfde account.
Aanvullende Analysis Services-machtigingen verlenen voor specifieke serverbewerkingen
SQL Server Analysis Services voert enkele taken uit in de beveiligingscontext van het serviceaccount (of aanmeldingsaccount) dat wordt gebruikt om SQL Server Analysis Services te starten en voert andere taken uit in de beveiligingscontext van de gebruiker die de taak aanvraagt.
In de volgende tabel worden aanvullende machtigingen beschreven die vereist zijn voor de ondersteuning van taken die worden uitgevoerd als het serviceaccount.
| Serverbeheer | Werkitem | Rechtvaardiging |
|---|---|---|
| Externe toegang tot externe relationele gegevensbronnen | Een databaseaanmelding voor het serviceaccount maken | Verwerking verwijst naar het ophalen van gegevens uit een externe gegevensbron (meestal een relationele database), die vervolgens wordt geladen in een SQL Server Analysis Services-database. Een van de referentieopties voor het ophalen van externe gegevens is het gebruik van het serviceaccount. Deze referentieoptie werkt alleen als u een databaseaanmelding voor het serviceaccount maakt en leesmachtigingen verleent voor de brondatabase. Zie Opties voor imitatie instellen (SSAS - Multidimensionaal) voor meer informatie over hoe de optie voor het serviceaccount wordt gebruikt voor deze taak. Als ROLAP wordt gebruikt als opslagmodus, zijn dezelfde imitatieopties beschikbaar. In dit geval moet het account ook schrijftoegang hebben tot de brongegevens om de ROLAP-partities te verwerken (dat wil gezegd, om aggregaties op te slaan). |
| DirectQuery | Een databaseaanmelding voor het serviceaccount maken | DirectQuery is een functie in tabelvorm die wordt gebruikt om query's uit te voeren op externe gegevenssets die te groot zijn om in het tabellaire model te passen of om andere kenmerken te hebben die DirectQuery beter passen dan de standaardoptie voor opslag in het geheugen. Een van de verbindingsopties die beschikbaar zijn in de DirectQuery-modus is het gebruik van het serviceaccount. Deze optie werkt opnieuw alleen wanneer het serviceaccount een databaseaanmeldings- en leesmachtigingen heeft voor de doelgegevensbron. Zie Opties voor imitatie instellen (SSAS - Multidimensionaal) voor meer informatie over hoe de optie voor het serviceaccount wordt gebruikt voor deze taak. U kunt ook de referenties van de huidige gebruiker gebruiken om gegevens op te halen. In de meeste gevallen omvat deze optie een dubbele hopverbinding, dus zorg ervoor dat u het serviceaccount configureert voor beperkte Kerberos-delegering, zodat het serviceaccount identiteiten kan delegeren aan een downstreamserver. Voor meer informatie, zie Analysis Services configureren voor beperkte Kerberos-delegering. |
| Externe toegang tot andere SSAS-exemplaren | Het serviceaccount toevoegen aan Analysis Services-databaserollen die zijn gedefinieerd op de externe server | Externe partities en verwijzingen naar gekoppelde objecten op andere externe SQL Server Analysis Services-exemplaren zijn beide systeemmogelijkheden die machtigingen vereisen op een externe computer of apparaat. Wanneer een persoon externe partities maakt en vult of een gekoppeld object instelt, wordt die bewerking uitgevoerd in de beveiligingscontext van de huidige gebruiker. Als u deze bewerkingen vervolgens automatiseert, krijgt SQL Server Analysis Services toegang tot externe exemplaren in de beveiligingscontext van het bijbehorende serviceaccount. Als u toegang wilt krijgen tot gekoppelde objecten op een extern exemplaar van SQL Server Analysis Services, moet het aanmeldingsaccount gemachtigd zijn om de juiste objecten op het externe exemplaar te lezen, zoals leestoegang tot bepaalde dimensies. Op dezelfde manier vereist het gebruik van externe partities dat het serviceaccount beheerdersrechten heeft op het externe exemplaar. Dergelijke machtigingen worden verleend op het externe Analysis Services-exemplaar, met behulp van rollen die toegestane bewerkingen aan een specifiek object koppelen. Zie Databasemachtigingen verlenen (Analysis Services) voor instructies over het verlenen van machtigingen voor volledig beheer die verwerking en querybewerkingen toestaan. Zie Een externe partitie (Analysis Services) maken en beheren voor meer informatie over externe partities. |
| Terugschrijven | Het serviceaccount toevoegen aan Analysis Services-databaserollen die zijn gedefinieerd op de externe server | Wanneer writeback is ingeschakeld in clienttoepassingen, is writeback een functie van multidimensionale modellen waarmee nieuwe gegevenswaarden kunnen worden gemaakt tijdens gegevensanalyse. Als write-back is ingeschakeld binnen een dimensie of kubus, moet het SQL Server Analysis Services-serviceaccount schrijfmachtigingen hebben voor de writeback-tabel in de relationele SQL Server-brondatabase. Als deze tabel nog niet bestaat en moet worden gemaakt, moet het SQL Server Analysis Services-serviceaccount ook tabelmachtigingen hebben binnen de aangewezen SQL Server-database. |
| Schrijven naar een querylogboektabel in een relationele SQL Server-database | Maak een databaselogin voor het serviceaccount en wijs schrijfmachtigingen toe aan de querylogtabel | U kunt querylogboekregistratie inschakelen voor het verzamelen van gebruiksgegevens in een databasetabel voor volgende analyse. Het SQL Server Analysis Services-serviceaccount moet schrijfmachtigingen hebben voor de querylogboektabel in de aangewezen SQL Server-database. Als deze tabel nog niet bestaat en moet worden gemaakt, moet het aanmeldingsaccount van SQL Server Analysis Services ook tabelmachtigingen hebben binnen de aangewezen SQL Server-database. Zie De prestaties van SQL Server Analysis Services verbeteren met de wizard Optimalisatie op basis van gebruik (blog) voor meer informatie. |
Verwante inhoud
Windows-serviceaccounts en -machtigingen configureren
SQL Server-service-account en Per-Service SID (Blog)
Service-SID's gebruiken om machtigingen te verlenen aan services in SQL Server 2017
Toegangstoken (MSDN)
Beveiligingsidentificatoren (MSDN)
Toegangstoken (Wikipedia)
Toegangsbeheerlijsten (Wikipedia)