Autorisierung mit dem Business Data Connectivity-Dienst
Letzte Änderung: Donnerstag, 15. April 2010
Gilt für: SharePoint Server 2010
Inhalt dieses Artikels
Back-End-Autorisierung
Middle-Tier-Autorisierung
Back-End-Autorisierung mit "UserContextFilter"
Metadatenobjekte mit Zugriffssteuerung und individuell sicherungsfähige Metadatenobjekte
Zusammenfassung der Rechte
Zur Steuerung des Zugriffs von Benutzern auf mit Microsoft Business Connectivity Services (BCS) verwaltete Daten können Sie eine der folgenden beiden Autorisierungsmethoden verwenden: Back-End-Autorisierung oder Middle-Tier-Autorisierung.
Back-End-Autorisierung
Wenn auf Ihrem Back-End-Server die benutzerbasierte Autorisierung verwendet wird, können Sie mithilfe der Back-End-Autorisierung den Benutzerzugriff steuern. Die Back-End-Autorisierung kann in folgenden Situationen verwendet werden:
Sie verwenden das Modell mit Identitätswechsel und Delegierung für die Authentifizierung, und auf dem Back-End-Server wird die benutzerbasierte Autorisierung verwendet. Beim Modell mit Identitätswechsel und Delegierung delegiert der Client die Authentifizierung an die mittlere Ebene, die die Identität des Clients annimmt und sich im Auftrag des Clients beim Back-End authentifiziert. Wenn jedoch die benutzerbasierte Autorisierung nicht vom Back-End-Server unterstützt wird, müssen Sie möglicherweise die anderen in diesem Thema beschriebenen Autorisierungsmechanismen verwenden.
Der Back-End-Server unterstützt die benutzerbasierte Autorisierung, und Sie verwenden die Autorisierung auf Anwendungsebene und übergeben den Benutzernamen im Username-Filter.
Der Back-End-Server bietet Verbindungspooling oder sonstige Leistungsvorteile.
Middle-Tier-Autorisierung
Beim Modell des vertrauenswürdigen Subsystems authentifiziert die mittlere Ebene sich beim Back-End-Server als feste Identität, und der Back-End-Server kennt die Identität des Benutzers. Mit diesem Authentifizierungsmodell können Sie deshalb nicht die Back-End-Autorisierung verwenden, selbst wenn der Back-End-Server die benutzerbasierte Autorisierung unterstützt, da der Server nicht jeden Benutzer autorisieren kann.
Verwenden Sie in solchen Fällen stattdessen die Middle-Tier-Autorisierung von Business Data Connectivity-Dienst (BDC). BDC ist für die benutzerbasierte Autorisierung auf der mittleren Ebene ausgelegt. Dieses Autorisierungsmodell bietet die folgenden Vorteile:
Datenbankverbindungspooling.
Ein einziges Modell für die Autorisierung.
Unterstützung von Szenarien, bei denen keine benutzerbasierte Autorisierung auf dem Back-End-Server möglich ist.
Differenzierte Zugriffssteuerung. Mit BDC können Sie Zugriffssteuerungslisten (Access Control Lists, ACLs) auf den folgenden Ebenen festlegen:
MetadataCatalog Dies ist das Objekt der obersten Ebene in BDC und bestimmt, wer Modelle in BDC importieren bzw. exportieren kann.
LobSystem
Entity
Method
MethodInstance
Darüber hinaus sind unterschiedliche Ansichten der Entitäten in BDC möglich. Auf diese Weise können Sie steuern, welche Felder ein Benutzer anzeigen kann.
Back-End-Autorisierung mit "UserContextFilter"
Mit dem UserContextFilter-Filter wird BDC angewiesen, den Namen des aktuellen Benutzers dem Back-End-Methodenaufruf hinzuzufügen. Die Back-End-Methode kann dann mithilfe des Benutzernamens den Zugriff des Benutzers überprüfen oder die Entitätsinstanzen begrenzen, die vom Back-End-Server durch den Kontext des aktuellen Benutzers zurückgegeben werden.
Dies ist besonders hilfreich, wenn Back-End-Anwendungen nicht über Autorisierungsinformationen verfügen oder diese aus Lizenzierungs- oder Verbindungspoolinggründen nicht verwenden. In solchen Fällen kann ein Gruppenkoto zum Authentifizieren verwendet werden, und mit dem übergebenen Benutzernamen kann der Datenzugriff bestimmt und gesteuert werden.
Bei einem weiteren Verwendungsszenario für einen UserContext-Filter könnte ein Metadatenautor Metadaten erstellen, die einen Benutzernamen als durch den Benutzer steuerbaren Filter verwenden und vertrauliche persönliche Daten zurückgeben. In diesem Fall kann ein Benutzer möglicherweise die Daten eines anderen Benutzers einsehen. Um dies zu vermeiden, können Sie mithilfe des UserContext-Filters den Benutzernamen an den Methodenaufruf übergeben.
Hinweis |
---|
Der UserContext-Filter ist sicher, und der Filterwert kann nicht überschrieben werden. |
Für Windows-Benutzer übergibt BDC die System.Security.Principal.WindowsPrincipal.Identity-Eigenschaft im Format Domänenname\Benutzername.
Metadatenobjekte mit Zugriffssteuerung und individuell sicherungsfähige Metadatenobjekte
Jedes Objekt in der BDC-Hierarchie von Metadatenobjekten (Application, Entity, Method, MethodInstance, Parameter, TypeDescriptor usw.) enthält eine Zugriffssteuerungsliste, die angibt, welche Prinzipale welche Rechte für das Objekt haben. Von den 13 Metadatenobjekten weisen nur LobSystem, Entity, Method und MethodInstance eigene individuell steuerbare Zugriffssteuerungslisten auf. Diese Objekte werden als individuell sicherungsfähige Metadatenobjekte bezeichnet. Andere Metadatenobjekte erben die Zugriffssteuerungsliste vom unmittelbar übergeordneten Objekt und werden als Metadatenobjekte mit Zugriffssteuerung bezeichnet.
Zusammenfassung der Rechte
In der folgenden Tabelle sind die Rechte aufgelistet, die der Administrator oder ein Benutzer mit dem Recht Berechtigungen verwalten für eine BDC-Anwendung festlegen kann.
Wichtig |
---|
Nachdem Sie die Benutzerberechtigungen in BDC geändert haben, müssen Sie die Durchforstung erneut ausführen, damit nach Geschäftsdaten gesucht werden kann. Zugriffssteuerungslisten werden nämlich mit den Daten durchforstet und sind deshalb veraltet, wenn Sie sie ändern. |
Tabelle 1. Zusammenfassung der für eine BDC-Anwendung festlegbaren Rechte
Recht |
Gilt für |
Beschreibung |
---|---|---|
Bearbeiten |
Metadatenobjekte mit Zugriffssteuerung |
|
Berechtigungen festlegen |
Individuell sicherungsfähige Metadatenobjekte |
|
Ausführen (Ansicht) |
MethodInstance |
|
In Clients auswählbar |
Anwendung und Entität |
|