Autorisieren des Zugriffs auf Objekte und Vorgänge (Analysis Services)

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Der Benutzerzugriff auf Cubes, Dimensionen und Miningmodelle innerhalb einer SQL Server Analysis Services-Datenbank wird durch die Mitgliedschaft in einer oder mehreren Datenbankrollen gewährt, die keine Administratorrechte haben. SQL Server Analysis Services Administratoren erstellen diese Datenbankrollen, gewähren Lese- oder Lese-/Schreibberechtigungen für SQL Server Analysis Services Objekte und weisen dann jeder Rolle Microsoft Windows-Benutzer und -Gruppen zu.

SQL Server Analysis Services bestimmt die effektiven Berechtigungen für einen bestimmten Windows-Benutzer oder eine bestimmte Windows-Gruppe, indem die Berechtigungen kombiniert werden, die jeder Datenbankrolle zugeordnet sind, zu der der Benutzer oder die Gruppe gehört. Das führt dazu, dass wenn eine bestimmte Datenbankrolle einem Benutzer oder einer Gruppe die Berechtigung zum Anzeigen einer Dimension, eines Measures oder eines Attributs erteilt, eine andere Datenbankrolle diese Benutzer- oder Gruppenberechtigung jedoch nicht erteilt, der Benutzer oder die Gruppe über die Berechtigung zum Anzeigen des Objekts verfügt.

Wichtig

Mitglieder der SQL Server Analysis Services-Serveradministratorrolle und Mitglieder einer Datenbankrolle mit Vollzugriffsberechtigungen (Administrator) können auf alle Daten und Metadaten in der Datenbank zugreifen und benötigen keine zusätzlichen Berechtigungen zum Anzeigen bestimmter Objekte. Darüber hinaus kann Mitgliedern der SQL Server Analysis Services Serverrolle der Zugriff auf ein Objekt in einer Datenbank verweigert werden, und Mitgliedern einer SQL Server Analysis Services Datenbankrolle, die über Vollzugriffsberechtigungen (Administrator) innerhalb einer Datenbank verfügt, kann der Zugriff auf ein Objekt in dieser Datenbank nicht verweigert werden. Spezielle Administratorvorgänge wie die Verarbeitung können über separate Rollen mit weniger Berechtigungen autorisiert werden. Weitere Informationen finden Sie unter Gewähren von Prozessberechtigungen (Analysis Services).

Auflisten der für Ihre Datenbank definierten Rollen

Administratoren können eine einfache DMV-Abfrage in SQL Server Management Studio ausführen, um eine Liste aller auf dem Server definierter Rollen abzurufen.

  1. Klicken Sie in SSMS mit der rechten Maustaste auf eine Datenbank, und wählen Sie Neue Abfrage | MDX aus.

  2. Geben Sie die folgende Abfrage ein, und drücken Sie F5, um sie auszuführen:

    Select * from $SYSTEM.DBSCHEMA_CATALOGS  
    

    Die Ergebnisse enthalten den Datenbanknamen, eine Beschreibung, den Rollennamen und das Datum der letzten Änderung. Mit diesen Informationen als Ausgangspunkt können Sie mit individuellen Datenbanken fortfahren, um die Mitgliedschaft und Berechtigungen einer bestimmten Rolle zu prüfen.

Umfassende Übersicht über die Analysis Services-Autorisierung

In diesem Abschnitt ist der grundlegende Workflow für das Konfigurieren von Berechtigungen dargestellt.

Schritt 1: Server-Verwaltung

Entscheiden Sie als ersten Schritt, wer Administratorrechte auf der Serverebene haben wird. Während der Installation muss der lokale Administrator, der SQL Server installiert, mindestens ein Windows-Konto als Analysis Services-Serveradministrator angeben. Serveradministratoren verfügen über alle möglichen Berechtigungen auf einem Server, darunter die Berechtigung, jedes Objekt auf dem Server anzeigen, ändern und löschen oder damit verbundene Daten anzeigen zu können. Wenn die Installation abgeschlossen ist, kann ein Serveradministrator Konten hinzufügen oder löschen, um die Mitgliedschaft dieser Rolle zu ändern. Ausführliche Informationen zu dieser Berechtigungsstufe finden Sie unter Gewähren von Serveradministratorrechten für eine Analysis Services-instance.

Schritt 2: Datenbankverwaltung

Nach dem Erstellen einer tabellarischen oder mehrdimensionalen Lösung wird diese dann als Datenbank an den Server bereitgestellt. Ein Serveradministrator kann Datenverwaltungsaufgaben delegieren, indem er eine Rolle definiert, die über die Berechtigung "Vollzugriff" für die entsprechende Datenbank verfügt. Mitglieder dieser Rolle können Objekte in der Datenbank verarbeiten oder abfragen sowie zusätzliche Rollen für den Zugriff auf Cubes, Dimensionen und andere Objekte in der Datenbank selbst erstellen. Weitere Informationen finden Sie unter Erteilen von Datenbankberechtigungen (Analysis Services).

Schritt 3: Aktivieren des Cube- oder Modellzugriffs für Abfrage- und Verarbeitungsworkloads

Standardmäßig haben nur Server- und Datenbankadministratoren Zugriff auf Cubes oder tabellarische Modelle. Damit diese Datenstrukturen auch anderen Personen in Ihrer Organisation zur Verfügung stehen, sind zusätzliche Rollenzuweisungen erforderlich, die Windows-Benutzer- und -Gruppenkonten zu Cubes oder Modellen zuordnen, zusammen mit Berechtigungen, die Lese -Berechtigungen angeben. Weitere Informationen finden Sie unter Erteilen von Cube- oder Modellberechtigungen (Analysis Services).

Verarbeitungsaufgaben können von andere Verwaltungsfunktionen isoliert werden, sodass Server- und Datenbankadministratoren diese Aufgabe an andere Personen delegieren oder eine unbeaufsichtigte Verarbeitung konfigurieren können, indem Sie Dienstkonten angeben, die eine Planungssoftware ausführen. Weitere Informationen finden Sie unter Gewähren von Prozessberechtigungen (Analysis Services).

Hinweis

Benutzer benötigen keine Berechtigungen für die relationalen Tabellen in der zugrunde liegenden relationalen Datenbank, aus der SQL Server Analysis Services die Daten lädt, und benötigen keine Berechtigungen auf Dateiebene auf dem Computer, auf dem die instance von SQL Server Analysis Services ausgeführt wird.

Schritt 4 (optional): Zulassen oder Verweigern des Zugriffs auf innere Cubeobjekte

SQL Server Analysis Services bietet Sicherheitseinstellungen zum Festlegen von Berechtigungen für einzelne Objekte, einschließlich Dimensionsmembern und Zellen innerhalb eines Datenmodells. Weitere Informationen finden Sie unter Gewähren des benutzerdefinierten Zugriffs auf Dimensionsdaten (Analysis Services) und Gewähren des benutzerdefinierten Zugriffs auf Zelldaten (Analysis Services).

Sie können Berechtigungen auch auf der Basis der Benutzeridentität variieren. Dies wird häufig als dynamische Sicherheit bezeichnet und mithilfe der MdX-Funktion (UserName) implementiert.

Bewährte Methoden

Für eine bessere Verwaltung von Berechtigungen schlagen wir einen Ansatz wie den folgenden vor:

  1. Erstellen Sie Rollen nach Funktion (zum Beispiel dbadmin, cubedeveloper, processadmin), damit derjenige, der die Rollen verwaltet, auf einen Blick sehen kann, was die Rolle zulässt. Wie bereits erwähnt, können Sie Rollen in der Modelldefinition definieren und diese Rollen damit über nachfolgende Lösungsbereitstellungen beibehalten.

  2. Erstellen Sie eine entsprechende Windows-Sicherheitsgruppe in Active Directory, und verwalten Sie die Sicherheitsgruppe dann in Active Directory, um sicherzustellen, dass sie die richtigen individuellen Konten enthält. Damit wird die Verantwortung für die Mitgliedschaft in Sicherheitsgruppen an Sicherheitsspezialisten übergeben, die bereits mit den Tools und Prozessen für die Kontoverwaltung in Ihrer Organisation vertraut sind.

  3. Generieren Sie Skripts in SQL Server Management Studio, damit Sie Rollenzuweisungen schnell replizieren können, wenn das Modell von seinen Quelldateien auf einem Server erneut bereitgestellt wird. Ausführliche Informationen zum schnellen Generieren eines Skripts finden Sie unter Erteilen von Cube- oder Modellberechtigungen (Analysis Services).

  4. Übernehmen Sie eine Benennungskonvention, die den Umfang und die Mitgliedschaft der Rolle widerspiegelt. Da Rollennamen nur in Entwurfs- und Verwaltungstools sichtbar sind, sollten Sie eine Benennungskonvention verwenden, die für Ihre Cubesicherheitsspezialisten Sinn macht. Zum Beispiel weist processadmin-windowsgroup1 auf Lesezugriff und Verarbeitungsrechte für Personen in Ihrer Organisation hin, deren individuelle Windows-Benutzerkonten Mitglied der Sicherheitsgruppe windowsgroup1 sind.

    Das Hinzufügen von Kontoinformationen kann Ihnen helfen, den Überblick darüber zu behalten, welche Konten in verschiedenen Rollen verwendet werden. Da Rollen additiv sind, machen die kombinierten, windowsgroup1 zugewiesenen Rollen den effektiven Berechtigungssatz für Personen aus, die zu dieser Sicherheitsgruppe gehören.

  5. Cubeentwickler benötigen die Berechtigung "Vollzugriff" für Modelle und Datenbanken in Entwicklung, aber nur Leseberechtigungen, sobald eine Datenbank an einen Produktionsserver bereitgestellt wurde. Denken Sie daran, Rollendefinitionen und -zuweisungen für alle Szenarien zu entwickeln, einschließlich Entwicklungs-, Test- und Produktionsbereitstellungen.

Ein solcher Ansatz minimiert die Belastung für Rollendefinitionen und Rollenmitgliedschaften im Modell und bietet einen transparenten Einblick in die Rollenzuweisungen, mit dem sich Cubeberechtigungen einfacher implementieren und verwalten lassen.

Weitere Informationen

Gewähren von Serveradministratorrechten für eine Analysis Services-instance
Rollen und Berechtigungen (Analysis Services)
Von Analysis Services unterstützte Authentifizierungsmethoden