SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Externe Liste / Externer Datentyp / BDC / Secure Store Service

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
47 Beiträge
RedArt erstellt 18 Juli 2014 14:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Community,

ich habe mit Sharepoint Designer 32Bit einen Externen Inhaltstyp und eine externe Liste angelegt.

Es handelt sich um eine SQL Verbindung.

Hierbei habe ich bei der Erstellung einen User ich nenne ihn einmal User1 angegeben, der bei der dieser Datenbank die Rechte des DB-Owners besitzt. Innerhalb vom Sharepoint Designer läuft soweit alles.

(Bin dieser Anleitung gefolgt)http://www.c-sharpcorner.com/UploadFile/anavijai/create-external-content-type-using-sharepoint-designer-2013/ Und habe dabei den Punkt Connect with User's Identity angegeben.

Wenn ich nun aber die Externe Liste in Sharepoint öffnen möchte mit User2, welcher Farmadministrator ist, wird diese Externe Liste nicht angezeigt mit der Meldung: 

Der Zugriff wurde von Business Data Connectivity verweigert... samt zugehöriger Korrelation ID.

 

Nun habe ich mit dem Sharepoint LogViewer von CodePlex geschaut, nach der Kategorie von Business Data connectivity und sehe, dass:Access Denied for User 'User2', which may be an impersonation by 'NT-AUTORITÄT\IUSR'. Securable MethodInstance with Name 'Liste lesen' has ACL that contains: (wird nicht weiter angezeigt)

Dementsprechend wird ja der User aus der Farm nicht dazu berechtigt diese Liste anzusehen. Wie änder ich dieses Verhalten. Was muss ich verändern, damit diese Liste für alle User der Farm angezeigt werden kann. 

Sharepoint Version 2013, Foundation

 

Meine Schlussfolgerung: Es könnte derzeit nur der User, User1 in Sharepoint alle daten sehen, weil bei der erstellung im Sharepoint Designer ja angegeben wurde, das sharepoint die benutzerdaten der users ziehen soll.

Wie verändere ich hier diese Tatsache, sodass immer ein User genommen wird den ich einmal angebe. (verstehe nicht ganz die Punkte Verbindung mit angenommener Windows Indentität und Verbindung mit angenommener benutzerdefinierter Identität herstellen). Ebenfalls verstehe ich dort nicht was eine ID der Anwendung für einmaliges Anmelden ist.

 

Es wäre schön wenn hier geholfen werden könnte.

Dankeschön

 

(Zusatz: Ebenfalls der DB-Owner kann diese Liste nicht sehen, wenn er auf dem Sharepoint-Server ist:

Gute Meldung vor Fehler: Exit:IsIntranetAddress - IP address of server name 'sqlsrv' is 'found'.

Schlechte Meldung mit DB-Owner: Access Denied for User 'User1', which may be an impersonation by 'NT-AUTORITÄT\IUSR'. Securable MethodInstance with Name 'Liste lesen' has ACL that contains:)

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Juli 2014 14:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Was Du hier erlebst, nennt sich Double Hop Problem. Die Anmeldung des Benutzers müßte vom Browser an den Server und von diesem an den SQL Server weitergegeben werden und eben das geht nicht (bzw. nur mit Kerberos).

Um das zu umgehen, kannst Du den Secure Store Service nehmen. Lege dort eine neue Anwendung an. Die ID dieser Anwendung trägst Du beim SharePoint Designer als ID der Anwendung für einmaliges Anmelden ein (bei Verbindung mit angenommener Windowsidentität). Im Secure Store Service kannst Du jetzt konfigurieren, wie die Benutzer gegenüber der DB authentifiziert werden sollen, z.B. jeden Benutzer einzeln durchreichen oder alle Benutzer auf einen einzigen mappen oder auch verschiedene Benutzergruppen auf verschiedene Einzelbenutzer mappen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
47 Beiträge
RedArt Als Antwort am 18 Juli 2014 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn ich nun auf den Secure Store drücke den ich dafür angelegt habe erscheint folgende Meldung:

Der Testzeitraum für dieses Produkt ist abgelaufen, oder der freigegebene Dienst Secure Store Service wird für diese SKU nicht unterstützt.

Bekannter Thread:

http://sharepointcommunity.de/forums/p/21323/58722.aspx

Aussage Andi Fandrich:

Punkte 2 und 3 brauchen den Secure Store Service, den Du in der Foundation nicht benutzen kannst.

Aussage Tom Scheuermann:

Meines Wissens ist der Secure Store Service auch Bestandteil der SharePoint Foundation -siehe hier:

http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-external-data-HA102891586.aspx

 

Wie Problematisch ist RevertToSelf bei einem Pilotprojekt welcher eine Testdatenbank verwendet?

Geht es wirklich nicht nicht mit Sharepoint Foundation oder nun doch?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Juli 2014 15:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="RedArt"]Der Testzeitraum für dieses Produkt ist abgelaufen...[/quote]

Diese Meldung ist ja bekannt, aber ich hatte schon eine ganze Weile nichts mehr mit Secure Store und Foundation zu tun und kenne deshalb auch die aktuellen Erkenntnisse nicht. Tatsache ist, daß er mit Foundation ausgeliefert wird. Genauso Tatsache ist aber, daß er diese Meldung bringt. Ob man ihn trotzdem benutzen kann (und darf), weiß ich aber nicht. Ich meine mich zu erinnern, daß ich ihn schon mit Foundation verwendet habe. Das war allerdings noch ein 2010er System.

[quote user="RedArt"]Wie Problematisch ist RevertToSelf bei einem Pilotprojekt welcher eine Testdatenbank verwendet?[/quote]

Wie problematisch es ist, muß jeder für sich entscheiden. Hier findest Du mehr Informationen dazu: http://blogs.msdn.com/b/bcs/archive/2010/03/12/authenticating-to-your-external-system.aspx

Für ein Testsystem ist es an sich unproblematisch. Allerdings sollte ein Testsystem natürlich die realen Verhältnisse eines echten Systems nachbilden...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
47 Beiträge
RedArt Als Antwort am 18 Juli 2014 16:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi nochmals,

 

ich habe nun RevertToSelf Activiert und die BDC Identity ausgewählt.

Diese hat den Anwendungspool BDC01 und das Sicherheitskonto von User1.

Jetzt habe ich die verbindung auf BDC Identity gestellt und versucht diese Externe Liste anzuzeigen.

 

Dieses funktioniert ebenfalls nicht und im LOGViewer steht folgendes:

Access Denied for User 'User2', which may be an impersonation by 'NT-AUTORITÄT\IUSR'. Securable MethodInstance with Name 'Liste lesen' has ACL that contains:...

 

Warum wird denn jetzt immer noch User2 genommen, wobei die BDC identity auf User1 gestellt ist. Mache ich irgendetwas grundlegend falsch?

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Juli 2014 16:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn Du eine externe Liste im Browser aufrufst, wird für die Datenbankverbindung der Account verwendet, unter dem der Application Pool dieser Webanwendung läuft. Schaue zur Sicherheit mal im IIS welcher Account das ist. Wenn es kein Produktivsystem ist, kannst Du auch mal einen iisreset machen (sollte aber nicht notwendig sein).

Viele Grüße
Andi
af @ evocom de
Blog