Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf Modelldatenbankebene müssen alle Benutzer einer Rolle zugewiesen sein. Rollen definieren Benutzer mit bestimmten Berechtigungen für die Modelldatenbank. Alle einer Rolle hinzugefügten Benutzer oder Sicherheitsgruppen müssen über ein Konto in einem Microsoft Entra-Mandanten im gleichen Abonnement wie der Server verfügen.
Wie Sie Rollen definieren, hängt jeweils vom verwendeten Tool ab, das Ergebnis ist jedoch gleich.
Folgende Rollenberechtigungen stehen zur Verfügung:
- Administrator – Benutzer verfügen über vollständige Berechtigungen für die Datenbank. Datenbankrollen mit Administratorberechtigungen unterscheiden sich von Serveradministratoren.
- Prozess : Benutzer können eine Verbindung mit der Datenbank herstellen und Prozessvorgänge ausführen und Modelldatenbankdaten analysieren.
- Lesen – Benutzer können eine Clientanwendung verwenden, um eine Verbindung mit Modelldatenbankdaten herzustellen und diese zu analysieren.
Wenn Sie ein Projekt für ein tabellarisches Modell erstellen, erstellen Sie mit dem Rollen-Manager in Visual Studio mit Analysis Services-Projekten Rollen und fügen diesen Rollen Benutzer oder Gruppen hinzu. Wenn auf einem Server bereitgestellt, verwenden Sie SQL Server Management Studio (SSMS), Analysis Services PowerShell-Cmdlets oder Tabular Model Scripting Language (TMSL), um Rollen und Benutzermitglieder hinzuzufügen oder zu entfernen.
Verwenden Sie obj:groupid@tenantidbeim Hinzufügen einer Sicherheitsgruppe .
Beim Hinzufügen eines Dienstprincipalsapp:appid@tenantid.
So fügen Sie Rollen und Benutzer in Visual Studio hinzu oder verwalten diese
Klicken Sie im Tabellenmodell-Explorer mit der rechten Maustaste auf Rollen.
Klicken Sie im Rollen-Manager auf "Neu".
Geben Sie einen Namen für die Rolle ein.
Standardmäßig wird der Name der Standardrolle bei jeder neuen Rolle fortlaufend nummeriert. Es wird empfohlen, dass Sie einen Namen eingeben, aus dem der Mitgliedstyp deutlich hervorgeht, z.B. „Finance Managers“ oder „Human Resources Specialists“.
Wählen Sie eine der folgenden Berechtigungen aus:
Erlaubnis BESCHREIBUNG Nichts Mitglieder können das Modellschema nicht lesen oder ändern und keine Daten abfragen. Lesen Mitglieder können (basierend auf Zeilenfiltern) Daten abfragen, jedoch das Modellschema nicht ändern. Lesen und Verarbeiten Mitglieder können Daten (basierend auf Zeilenfiltern) abfragen sowie Prozesse ausführen und alle Vorgänge verarbeiten, jedoch das Modellschema nicht ändern. Prozess Mitglieder können die Vorgänge Verarbeiten und Alles verarbeiten ausführen. Können das Modellschema nicht lesen oder ändern und keine Daten abfragen. Administrator Mitglieder können das Modellschema ändern und alle Daten abfragen. Wenn die erstellte Rolle über die Berechtigung „Lesen“ oder „Lesen und Verarbeiten“ verfügt, können Sie mit einer DAX-Formel Zeilenfilter hinzufügen. Klicken Sie auf die Registerkarte "Zeilenfilter ", wählen Sie dann eine Tabelle aus, klicken Sie dann auf das FELD "DAX-Filter ", und geben Sie dann eine DAX-Formel ein.
Klicken Sie auf Mitglieder>Externe hinzufügen.
Geben Sie im Abschnitt "Externes Mitglied hinzufügen" Benutzer oder Gruppen in Ihrer Microsoft Entra ID des Mandanten nach E-Mail-Adresse ein. Nachdem Sie auf „OK“ geklickt und den Rollen-Manager geschlossen haben, werden Rollen und Rollenmitglieder im Explorer für tabellarische Modelle angezeigt.
Führen Sie die Bereitstellung auf dem Azure Analysis Services-Server durch.
So fügen Sie Rollen und Benutzer in SSMS hinzu oder verwalten diese
Zum Hinzufügen von Rollen und Benutzern zu einer bereitgestellten Modelldatenbank müssen Sie als Serveradministrator oder bereits in einer Datenbankrolle mit Administratorberechtigungen eine Verbindung mit dem Server hergestellt haben.
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf Rollen>"Neue Rolle".
Geben Sie in "Rolle erstellen" einen Rollennamen und eine Beschreibung ein.
Wählen Sie eine Berechtigung aus.
Erlaubnis BESCHREIBUNG Vollzugriff (Administrator) Mitglieder können das Modellschema ändern, Prozesse ausführen und alle Daten abfragen. Prozessdatenbank Mitglieder können die Vorgänge Verarbeiten und Alles verarbeiten ausführen. Sie können weder das Modellschema ändern noch Daten abfragen. Lesen Mitglieder können (basierend auf Zeilenfiltern) Daten abfragen, jedoch das Modellschema nicht ändern. Klicken Sie auf "Mitgliedschaft", und geben Sie dann einen Benutzer oder eine Gruppe in Ihrer Mandanten-Microsoft Entra-ID nach E-Mail-Adresse ein.
Wenn die erstellte Rolle über die Berechtigung „Lesen“ verfügt, können Sie mit einer DAX-Formel Zeilenfilter hinzufügen. Klicken Sie auf "Zeilenfilter", wählen Sie eine Tabelle aus, und geben Sie dann eine DAX-Formel in das FELD "DAX-Filter " ein.
So fügen Sie Rollen und Benutzer mit einem TMSL-Skript hinzu oder verwalten diese
Sie können ein TMSL-Skript im XMLA-Fenster in SSMS oder mithilfe von PowerShell ausführen. Verwenden Sie den Befehl CreateOrReplace und das Roles-Objekt .
Beispielskript für TMSL
In diesem Beispiel werden der Rolle „Analyst“ ein externer B2B-Benutzer und eine Gruppe mit Berechtigungen zum Lesen für die SalesBI-Datenbank hinzugefügt. Der externe Benutzer und die Gruppe müssen sich im gleichen Microsoft Entra ID-Mandanten befinden.
{
"createOrReplace": {
"object": {
"database": "SalesBI",
"role": "Analyst"
},
"role": {
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"members": [
{
"memberName": "user1@contoso.com",
"identityProvider": "AzureAD"
},
{
"memberName": "group1@adventureworks.com",
"identityProvider": "AzureAD"
}
]
}
}
}
So fügen Sie Rollen und Benutzer mit PowerShell hinzu oder verwalten diese
Das SqlServer-Modul stellt aufgabenspezifische Datenbankverwaltungs-Cmdlets und das allgemeine Invoke-ASCmd Cmdlet bereit, das eine TSPL-Abfrage (Tabular Model Scripting Language) oder ein Skript akzeptiert. Die folgenden Cmdlets werden zum Verwalten von Datenbankrollen und Benutzern verwendet.
| Cmdlet | BESCHREIBUNG |
|---|---|
| Add-RoleMember | Hinzufügen eines Mitglieds zu einer Datenbankrolle. |
| Remove-RoleMember | Entfernen eines Mitglieds aus einer Datenbankrolle. |
| Invoke-ASCmd | Ausführen eines TMSL-Skripts. |
Zeilenfilter
Zeilenfilter definieren, welche Zeilen in einer Tabelle von Mitgliedern einer bestimmten Rolle abgefragt werden können. Zeilenfilter werden für jede Tabelle in einem Modell mithilfe von DAX-Formeln definiert.
Zeilenfilter können nur für Rollen mit den Berechtigungen „Lesen“ und „Lesen und Verarbeiten“ definiert werden. Wenn für eine bestimmte Tabelle kein Zeilenfilter definiert ist, können Mitglieder standardmäßig alle Zeilen in der Tabelle abfragen, sofern keine Kreuzfilterung aus einer anderen Tabelle gilt.
Zeilenfilter erfordern eine DAX-Formel, die als TRUE- oder FALSE-Wert ausgewertet werden muss, um die Zeilen zu definieren, die von Mitgliedern dieser bestimmten Rolle abgefragt werden können. Zeilen, die in der DAX-Formel nicht enthalten sind, können nicht abgefragt werden. Die Tabelle "Kunden" mit dem folgenden Zeilenfilterausdruck =Customers [Country] = "USA" zeigt beispielsweise nur Kunden in den USA an, die Mitglieder der Verkaufsrolle sehen können.
Zeilenfilter gelten für die angegebenen Zeilen und zugehörige Zeilen. Wenn eine Tabelle über mehrere Beziehungen verfügt, wenden Filter für die aktive Beziehung Sicherheitsfunktionen an. Zeilenfilter überschneiden sich mit anderen für zugehörige Tabellen definierte Zeilenfiltern, z.B.:
| Tabelle | DAX-Ausdruck |
|---|---|
| Region | =Region[Land]="USA" |
| Produktkategorie | =ProductCategory[Name]="Fahrräder" |
| Transaktionen | =Transaktionen[Jahr]=2016 |
Hier können Mitglieder Datenzeilen abfragen, bei denen der Kunde sich in den USA befindet, als Produktkategorie Fahrräder und als Jahr 2016 definiert ist. Benutzer können keine Transaktionen außerhalb der USA, keine Transaktionen, die keine Fahrräder betreffen, und keine Transaktionen abfragen, die nicht 2016 erfolgt sind, es sei denn, sie sind Mitglied einer anderen Rolle, mit der diese Berechtigungen erteilt werden.
Sie können den Filter =FALSE()verwenden, um den Zugriff auf alle Zeilen für eine gesamte Tabelle zu verweigern.
Nächste Schritte
Verwalten von Serveradministratoren
Verwalten von Azure Analysis Services mit PowerShell
Tabular Model Scripting Language (TMSL)-Referenz