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.
Die Zellsicherheit wird verwendet, um den Zugriff auf Daten in einem Cube zuzulassen oder zu verweigern. Die folgende Abbildung zeigt eine Kombination aus zulässigen und verweigerten Maßnahmen in einer PivotTable, wenn man als Benutzer verbunden ist, dessen Benutzerrolle nur den Zugriff auf bestimmte Maßnahmen erlaubt. In diesem Beispiel sind Reseller Sales Amount und Reseller Total Product Cost die einzigen Maßnahmen, die über diese Rolle verfügbar sind. Alle anderen Maßnahmen werden implizit verweigert (die Schritte, die verwendet wurden, um dieses Ergebnis zu erzielen, finden Sie unten im nächsten Abschnitt, Zugriff auf bestimmte Maßnahmen zulassen).
Zellberechtigungen gelten für Daten innerhalb der Zelle und nicht für deren Metadaten. Beachten Sie, dass die Zelle weiterhin in den Ergebnissen einer Abfrage sichtbar ist, wobei anstelle des tatsächlichen Zellwerts ein Wert #N/A angezeigt wird. Der #N/A Wert wird in der Zelle angezeigt, es sei denn, die Clientanwendung übersetzt den Wert, oder ein anderer Wert wird durch Festlegen der Eigenschaft "Gesicherter Zellwert" in der Verbindungszeichenfolge angegeben.
Um die Zelle vollständig auszublenden, müssen Sie die Mitglieder-Dimensionen, Dimensionsattribute und Mitglied-Attribute für Dimensionen einschränken, die sichtbar sind. Weitere Informationen finden Sie unter Gewähren des benutzerdefinierten Zugriffs auf Dimensionsdaten (Analysis Services).
Als Administrator können Sie angeben, ob Rollenmitglieder Lese-, kontingente Lese- oder Lese-/Schreibberechtigungen für Zellen innerhalb eines Cubes haben. Das Festlegen von Berechtigungen für eine Zelle ist die niedrigste zulässige Sicherheitsstufe. Bevor Sie also mit der Anwendung von Berechtigungen auf dieser Ebene beginnen, ist es wichtig, einige Punkte zu beachten:
Die Sicherheit auf Zellenebene kann keine Rechte erweitern, die auf einer höheren Ebene eingeschränkt wurden. Beispiel: Wenn eine Rolle den Zugriff auf Dimensionsdaten verweigert, kann die Sicherheit auf Zellenebene die verweigerten Zugriffsrechte nicht aufheben. Ein weiteres Beispiel: Betrachten Sie eine Rolle mit
ReadBerechtigung für einen Cube und Berechtigung Lesen/Schreiben für eine Zelle – die Berechtigung für Zelldaten ist nicht Lesen/Schreiben; sie wirdReadsein.Benutzerdefinierte Berechtigungen müssen häufig zwischen Dimensionsmitgliedern und Zellen innerhalb derselben Rolle koordiniert werden. Angenommen, Sie möchten den Zugriff auf mehrere Rabattmaßnahmen für verschiedene Kombinationen von Wiederverkäufern verweigern. Da Händler als Dimensionsdaten und Rabattbetrag als Messwert gegeben sind, müssen Sie innerhalb derselben Rollenberechtigungen sowohl für den Messwert (unter Verwendung der Anweisungen in diesem Thema) als auch für Dimensionsmitglieder zusammenführen. Ausführliche Informationen zum Festlegen von Dimensionsberechtigungen finden Sie unter "Gewähren des benutzerdefinierten Zugriffs auf Dimensionsdaten (Analysis Services )".
Die Sicherheit auf Zellenebene wird über MDX-Ausdrücke angegeben. Da es sich bei einer Zelle um ein Tupel handelt (d. h. ein Schnittpunkt über potenziell mehrere Dimensionen und Measures), muss MDX verwendet werden, um bestimmte Zellen zu identifizieren.
Zugriff auf bestimmte Maßnahmen zulassen
Sie können die Zellsicherheit verwenden, um explizit auszuwählen, welche Maßnahmen verfügbar sind. Nachdem Sie die zulässigen Mitglieder identifiziert haben, werden alle anderen Maßnahmen nicht mehr verfügbar. Dies ist vielleicht das einfachste Szenario, das über MDX-Skript implementiert werden soll, wie die folgenden Schritte veranschaulichen.
Wählen Sie in SQL Server Management Studio eine Verbindung mit der Instanz von Analysis Services aus, wählen Sie eine Datenbank aus, öffnen Sie den Rollenordner , und klicken Sie dann auf eine Datenbankrolle (oder erstellen Sie eine neue Datenbankrolle). Die Mitgliedschaft sollte bereits angegeben sein, und die Rolle sollte
ReadZugriff auf den Cube haben. Siehe Erteilen von Cube- oder Modellberechtigungen (Analysis Services), wenn Sie Hilfe zu diesem Schritt benötigen.Überprüfen Sie in Zelldaten die Cube-Auswahl, um sicherzustellen, dass Sie die richtige ausgewählt haben, und wählen Sie dann "Leseberechtigungen aktivieren" aus.
Wenn Sie nur dieses Kontrollkästchen aktivieren und keinen MDX-Ausdruck bereitstellen, entspricht der Effekt dem Verweigern des Zugriffs auf alle Zellen im Cube. Dies liegt daran, dass der zulässige Standardsatz ein leerer Satz ist, wenn Analysis Services eine Teilmenge von Cubezellen aufgelöst.
Geben Sie den folgenden MDX-Ausdruck ein.
(Measures.CurrentMember IS [Measures].[Reseller Sales Amount]) OR (Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])Dieser Ausdruck identifiziert explizit, welche Maßnahmen für Benutzer sichtbar sind. Für Benutzer, die über diese Rolle eine Verbindung herstellen, stehen keine anderen Maßnahmen zur Verfügung. Beachten Sie, dass CurrentMember (MDX) den Kontext festlegt und von der zulässigen Maßnahme gefolgt wird. Die Wirkung dieses Ausdrucks besteht darin, dass, wenn das aktuelle Mitglied entweder den Reseller Sales Amount oder den Reseller Total Product Cost enthält, der entsprechende Wert angezeigt werden soll. Andernfalls verweigern Sie den Zugriff. Der Ausdruck verfügt über mehrere Teile, wobei jeder Teil in Klammern eingeschlossen ist. Der
OROperator wird verwendet, um mehrere Measures anzugeben.
Zugriff auf bestimmte Maßnahmen verweigern
Der folgende MDX-Ausdruck, der auch unter Create Role | Cell Data | Allow reading of cube content angegeben ist, hat die gegenteilige Wirkung, wodurch bestimmte Kennzahlen nicht verfügbar sind. In diesem Beispiel werden Rabattbetrag und Rabattprozentsatz durch die Operatoren NOT und AND deaktiviert. Alle anderen Maßnahmen sind für Benutzer sichtbar, die über diese Rolle eine Verbindung herstellen.
(NOT Measures.CurrentMember IS [Measures].[Discount Amount]) AND (NOT Measures.CurrentMember IS [Measures].[Discount Percentage])
In Excel wird die Zellsicherheit in der folgenden Abbildung deutlich:
Festlegen von Leseberechtigungen für berechnete Kennzahlen
Berechtigungen für ein berechnetes Maß können unabhängig von ihrem Bestandteilen festgelegt werden. Fahren Sie mit dem nächsten Abschnitt zu Read-Contingent fort, wenn Sie Berechtigungen zwischen einem berechneten Maß und dessen abhängigen Maßen koordinieren möchten.
Um zu verstehen, wie Leseberechtigungen für ein berechnetes Measure funktionieren, ziehen Sie "Reseller Gross Profit " in AdventureWorks in Betracht. Es wird von Reseller Sales Amount und Reseller Total Product Cost Kennzahlen abgeleitet. Solange eine Rolle für die Zellen Reseller Gross Profit die Lesen-Berechtigung hat, ist diese Kennzahl auch dann sichtbar, wenn Berechtigungen für die anderen Kennzahlen ausdrücklich verweigert werden. Zum Demonstrationszweck kopieren Sie den folgenden MDX-Ausdruck in Rolle erstellen | Zellendaten | Cube-Inhalte lesen zulassen.
(NOT Measures.CurrentMember IS [Measures].[Reseller Sales Amount])
AND (NOT Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])
Stellen Sie in Excel mithilfe der aktuellen Rolle eine Verbindung mit dem Cube her, und wählen Sie alle drei Maßnahmen aus, um die Auswirkungen der Zellsicherheit anzuzeigen. Beachten Sie, dass Maßnahmen im abgelehnten Satz nicht verfügbar sind, aber die berechnete Maßnahme für den Benutzer sichtbar ist.
Berechtigungen für berechnete Maßnahmen auf Read-Contingent festlegen
Die Zellsicherheit bietet eine alternative, read-kontingente Option zum Festlegen von Berechtigungen für die zugehörigen Zellen, die an einer Berechnung teilnehmen. Betrachten Sie erneut das Beispiel "Reseller Gross Profit ". Wenn Sie den im vorherigen Abschnitt angegebenen MDX-Ausdruck eingeben und ihn dieses Mal in den zweiten Textbereich des Dialogfelds "Zellen-Daten" unterhalb von "Rolle erstellen" einfügen, unter der Option "Lesezugriff auf Zellinhalte abhängig von der Zellsicherheit zulassen", wird das Ergebnis in Excel sichtbar. Da Reseller Gross Profit von Reseller Sales Amount und Reseller Total Product Cost abhängig ist, ist der Bruttogewinn jetzt unzugänglich, da auf seine Bestandteile nicht zugegriffen werden kann.
Hinweis
Was geschieht, wenn Sie die Berechtigungen "Lesen" und "Read-Contingent" für eine Zelle innerhalb derselben Rolle festlegen? Die Rolle gewährt Leseberechtigungen für die Zelle, jedoch keine bereichsabhängigen Lesezugriffe.
Erinnern Sie sich an frühere Abschnitte, die nur das Kontrollkästchen "Lesekontingentberechtigungen aktivieren" aktivieren, ohne MDX-Ausdrücke bereitzustellen, den Zugriff auf alle Zellen im Cube verweigert. Dies liegt daran, dass der zulässige Standardsatz ein leerer Satz ist, wenn Analysis Services eine Teilmenge von Cubezellen aufgelöst.
Festlegen von Lese-/Schreibberechtigungen für eine Zelle
Lese-/Schreibberechtigungen für eine Zelle werden verwendet, um den Rückschreibvorgang zu aktivieren, vorausgesetzt, mitglieder verfügen über Lese-/Schreibberechtigungen für den Cube selbst. Berechtigungen, die auf Zellenebene gewährt werden, dürfen nicht größer sein als die Berechtigungen, die auf Cubeebene erteilt werden. Details finden Sie unter "Partitionsrückschreiben festlegen ".
Siehe auch
MDX Builder (Analysis Services - Multidimensional Data)
Das Grundlegende MDX-Skript (MDX)
Erteilen von Prozessberechtigungen (Analysis Services)
Erteilen von Berechtigungen für eine Dimension (Analysis Services)
Gewähren des benutzerdefinierten Zugriffs auf Dimensionsdaten (Analysis Services)
Erteilen von Cube- oder Modellberechtigungen (Analysis Services)