Dieser Artikel wurde maschinell übersetzt.

SharePoint-Sicherheit

Einschränken von SharePoint-Suchergebnissen für höhere Sicherheit

Ashley Elenjickal

Downloaden des Codebeispiels

Microsoft SharePoint-Suche mithilfe ein Kontos mit vollständigen Lesezugriff in der Regel über das Repository, um seinen Inhalt zu indizieren. Daher ist es wichtig, dass bei einem Benutzerabfragen für einige Inhalte, er auf beschränkt nur die Dokumente angezeigt werden soll, hat er über die Berechtigung zum anzeigen. SharePoint verwendet die Zugriffssteuerungsliste (ACL) für jedes Dokument verknüpft ist, um Abfrageergebnisse zu kürzen, die Benutzer keine Berechtigung zum Anzeigen besitzen, jedoch die standardmäßige verkürzen von SharePoint (Out-of-Box-verkürzen) bereitgestellten immer möglicherweise nicht ausreichend Daten Sicherheitsanforderungen zu erfüllen. In diesem Fall sollten Sie die Ergebnisse je eine Organisationsstruktur Authentifizierung weiter zu kürzen.

Dies ist, in dem die benutzerdefinierte Sicherheitsinfrastruktur des verkürzen SharePoint nützlich ist. SharePoint können Sie in ein separates Modul Geschäftslogik implementieren und es dann in den Workflow der Abfrage-Prozessor, der die Abfragen dient zu integrieren. In den Security Trimming Pfad folgt benutzerdefinierte Abfrage aus Sicherheitsgründen von Out-of-Box. Zurückgerufen also die Anzahl der Abfrageergebnisse nach benutzerdefinierten verkürzen gleich oder kleiner als die Anzahl der Dokumente muss vor dem Registrieren der Assembly für benutzerdefinierte Security Trimmer (CST) ein.

Bevor Sie in die Architektur CST delving, müssen wir einen schnellen Überblick über die SharePoint-Suche und die neuen Ansprüche Authentifizierungs-Infrastruktur bereitstellen.

SharePoint-Suche (Übersicht)

Auf einer hohen Ebene kann das Suchsystem in zwei separate Teile unterteilt werden: der Gatherer-Pipeline und der Abfrage-Prozessor-Pipeline.

Gatherer-PipelineDieser Teil ist verantwortlich für das crawling und Indizierung von Inhalten aus verschiedenen Repositorys, z. B. SharePoint-Sites, die HTTP-Sites, die Datei freigegeben, Lotus Notes, Exchange Server und so weiter. Diese Komponente befindet sich innerhalb der MSSearch.exe. Wenn eine Anforderung ausgegeben wird, um ein Repository zu crawlen, ruft Gatherer eine Filterdämon MssDmn.exe, laden Sie die erforderlichen Protokollhandler und Filter, die eine Verbindung herstellen, Abrufen und Analysieren des Inhalts erforderlich. Abbildung 1 stellt eine vereinfachte Ansicht der Gatherer-Pipeline.

image: A Simplifed View of the SharePoint Gatherer Pipeline

Abbildung 1 A Simplifed Ansicht der Pipeline SharePoint Gatherer

SharePoint kann nur mit einem Konto mit Windows NTLM-Authentifizierung zu crawlen. Das Windows-Konto gesendet werden, als Teil der Anforderung Crawl den Dokumentinhalt Zugriff auf muss die Inhaltsquelle autorisiert werden. Obwohl Ansprüche Authentifizierung in SharePoint 2010 unterstützt wird, wird der Gatherer ist noch keine Ansprüche unterstützende Anwendung und greift auf eine Inhaltsquelle, die nur die Ansprüche-Authentifizierung nicht.

Abfrage-Prozessor-PipelineIn SharePoint-2010 sind zwei der wichtigsten Änderungen in der Abfrage-Prozessor-Pipeline in Ihrer Topologie Skalierbarkeit und Authentifizierungsmodell. In Microsoft SharePoint Server (MOSS) 2007 der Abfrageprozessor (Abfrage und Website-Einstellungen Suchdienst, bezeichnet als Suchdienst Abfrage hier auf) in demselben Prozess wie die Web-front-End (WFE) ausgeführt wird, aber in SharePoint 2010 kann ausgeführt an einer beliebigen Stelle in der Farm – und es auch als Web Service ausgeführt wird.

Die WFE kommuniziert mit der Abfrage Suchdienst durch Aufrufe der Windows Communication Foundation (WCF). Der Abfrage-Suchdienst ist nun vollständig über die SharePoint-Authentifizierungsinfrastruktur Ansprüche integriert. Entkoppelt die SharePoint-Suche, bei die enge Integration mit Windows-Authentifizierung und Formularauthentifizierung. SharePoint unterstützt daher jetzt verschiedenen Authentifizierungsmodelle. Der Abfrage-Suchdienst kürzt die Suchergebnisse entsprechend auf die Rechte des Benutzers, der die Abfrage ausgibt. Benutzerdefinierte Sicherheitsmethoden Trimmers werden vom Suchdienst Abfrage bezeichnet, nach Abschluss der Out-of-Box-verkürzen. Abbildung 2 für die verschiedenen beteiligten Komponenten finden Sie, wenn eine Abfrage ausgeführt wird.

image: Workflow of a Query Originating from the Search Center in a SharePoint Site

Abbildung 2 Workflow von einer Abfrage aus in einer SharePoint-Website im Suchcenter Absenderadresse

Benutzerdefinierte Einschränkung aus Sicherheitsgründen ist Teil der Pipeline Abfrage, damit wir diese Diskussion zu Komponenten der Pipeline Abfrage beschränken müssen.

Authentifizierung von Ansprüchen in SharePoint 2010

Ein grundlegendes Verständnis der Ansprüche Authentifizierungsunterstützung in SharePoint 2010 ist erforderlich, um die benutzerdefinierte Einschränkung aus Sicherheitsgründen Logik innerhalb einer Assembly CST implementieren. In der Umgebung Ansprüche, die Authentifizierung wird die Identität des Benutzers in einen Umschlag bezeichnet ein Sicherheitstoken verwaltet. Er enthält eine Sammlung von Assertionen Identität oder Ansprüche über den Benutzer. Beispiele für Ansprüche sind Benutzername, e-Mail-Adresse, Telefonnummer, Rolle und so weiter. Jeder Anspruch haben verschiedene Attribute, wie z. B. -Typ und Wert-. In einem Anspruch möglicherweise die UserLogonName Typ , und der Name des Benutzers, der aktuell angemeldet ist möglicherweise die Wert-von .

Sicherheitstokens werden von einer Entität bezeichnet eine Security token Service (STS) ausgegeben. Dies ist ein Webdienst, der Benutzer die Authentifizierungsanforderung antwortet. Nachdem der Benutzer authentifiziert wurde, wieder STS sendet ein Sicherheitstoken mit den Benutzerrechten. STS können innerhalb der gleichen SharePoint-Serverfarm live oder fungieren als eine relying Party an ein anderes STS Outsides lebt der Farm konfiguriert werden: Identität Provider-STS (IP-STS) und Relying Party-STS (RP-STS) bzw.. Gibt an, ob Sie IP-STS oder RP-STS verwenden möchten hat während des Entwurfs der SharePoint-Bereitstellung sorgfältig bedacht werden.

SharePoint verwendet den Standardanbieter Ansprüche im Lieferumfang des Produkts in eine einfache Installation. Selbst wenn Sie Sie die Farm vollständig mithilfe der Windows-Authentifizierung richten, wenn eine Abfrage ausgeführt wird, wird ein Anwendungsproxy Search-Dienst so extrahieren Sie die Ansprüche des Benutzers in einem STS token kommunizieren. Dieses Token wird dann an den Suchdienst für die Abfrage über einen WCF-Aufruf übergeben.

Workflow der benutzerdefinierten aus Sicherheitsgründen

Die Workflow-Logik einer CST kann in einem einfachen Flussdiagramm dargestellt werden, wie in der Abbildung 3 .

image: The Workflow Logic of a CST

Abbildung 3 die Workflow-Logik von einem CST

Wie bereits erwähnt, wird der Suchdienst für die Abfrage führt zunächst die Out-of-Box-Einschränkung aus Sicherheitsgründen, und sucht dann auf das Vorhandensein von jeder CSTs mit den Suchergebnissen verknüpft ist. Die Zuordnung einer bestimmten Inhaltsquelle zu einem CST erfolgt durch ein Crawlregel für diese bestimmte Inhaltsquelle definieren. Der Suchdienst-Abfrage alle zugeordneten eines URLs in den Suchergebnissen CST findet, ruft in der Trimmer. Trimmers werden in den gleichen IIS-Arbeitsprozess w3wp.exe, geladen, in denen der Abfrage Suchdienst ausgeführt wird.

Nachdem der Trimmer geladen wird, ruft der Suchdienst für die Abfrage die CheckAccess-Methode innerhalb der Trimmer mit einem Resultset Out-of-Box-verkürzen Crawlregel, die zuvor definierten zugeordnet. Die CheckAccess-Methode entscheidet, ob ein bestimmter URL in das endgültige Resultset zurück an den Benutzer gesendete enthalten sein sollen. Dies geschieht, indem ein Bit-Array zurückgegeben. In diesem Array ein wenig auf true oder false festlegen wird “ umfassen ” oder “ Block ” der URL, aus das Endergebnis festgelegt. Für den Fall, dass Sie die URLs aufgrund von Leistungs- oder aus irgendeinem Grund Unerwarteter Verarbeitung beenden möchten, müssen Sie eine PluggableAccessCheckException auslösen. Wenn Sie sich nach der Verarbeitung einer unvollständige Liste von URLs auslösen, werden die Ergebnisse verarbeitet an den Benutzer gesendet. Der Suchdienst für die Abfrage entfernt alle nicht verarbeiteten URLs von das endgültige Resultset.

Schritte im Bereitstellen einer benutzerdefinierten Security Trimmer mit

Kurz gesagt, umfasst fünf Schritte bei der erfolgreichen Bereitstellung von einem CST:

  1. Implementieren Sie ISecurityTrimmer2-Schnittstelle.
    1. Initialisieren und CheckAccess-Methoden, die mithilfe von verwaltetem Code zu implementieren.
    2. Erstellen Sie eine Assembly Signieren-Datei und fügen Sie Sie als Teil des Projekts
    3. Die Assembly erstellen
  2. Bereitstellen der Trimmer in den globalen Assemblycache (GAC) aller Computer, die dem Abfrage-Suchdienst ausgeführt wird.
  3. Erstellen Sie eine Crawlregel für die Inhaltsquellen, die benutzerdefinierte Trim sollen. Dies ist von der Suche Administration-Website möglich.
  4. Registrieren der Trimmer Crawlregel, die unter Verwendung der Windows PowerShell-Cmdlet Neu SPEnterpriseSearchSecurityTrimmer .
  5. Führen Sie eine Vollständiger Crawl von Inhaltsquellen, die zugeordnete Crawlregeln an, denen Sie in Schritt 3 erstellt haben. Ein vollständiger Crawl ist erforderlich, alle verknüpften Datenbanktabellen korrekt zu aktualisieren. Ein inkrementeller Crawl wird nicht in den entsprechenden Tabellen aktualisiert.

Die Postfachgröße Custom Security-Schnittstelle implementieren

MOSS 2007 und Microsoft Search Server 2008 (MSS) unterstützt benutzerdefinierte Einschränkung aus Sicherheitsgründen der Suchergebnisse über die Schnittstelle ISecurityTrimmer. Diese Schnittstelle verfügt über zwei Methoden: initialisieren und CheckAccess. Aufgrund von Änderungen an der Architektur in SharePoint und das Suchsystem in den Versionen 2010 funktionieren beide Methoden nicht wie in MOSS 2007. Sie müssen über die ISecurityTrimmer2-Schnittstelle implementiert werden. Hat zur Folge, wenn Sie versuchen, eine MOSS 2007-Trimmer in SharePoint 2010 registrieren, schlägt es fehl sagen ISecurityTrimmer2 nicht implementiert ist. Andere Änderungen von MOSS 2007 gehören:

Änderungen in der Initialize-MethodeIn MOSS 2007 war einer der übergebenen Parameter SearchContext-Objekt. SearchContext war Einstiegspunkt in das Suchsystem, und es im Kontext der Suche für den Standort oder die Suche Service Provider (SSP) zur Verfügung gestellt. Diese Klasse wurde im 2010 verworfen. Verwenden Sie stattdessen die SearchServiceApplication-Klasse:

void Initialize(NameValueCollection staticProperties, SearchServiceApplication searchApplication);

Änderungen in CheckAccess-MethodeDer Suchdienst-Abfrage ruft in MOSS 2007 und SharePoint 2010 CST Assemblys. In MOSS 2007 die CheckAccess-Methode hat nur zwei Parameter, aber in SharePoint-2010 der Suchdienst für die Abfrage übergibt die Identität des Benutzers an CheckAccess einen dritten Parameter des Typs IIdentity verwenden:

public BitArray CheckAccess(IList<String>documentCrawlUrls, IDictionary<String, Object>sessionProperties, IIdentity passedUserIdentity)

ISecurityTrimmer2::Initialize-MethodeDiese Methode wird zum ersten Mal aufgerufen, wenn, das ein Trimmer in der Suche Abfrage Dienst IIS-Workerprozess geladen wird. Die Assembly wird für die Dauer des Arbeitsprozesses live. Hier ist die Signatur dieser Methode und eine Beschreibung der Funktionsweise:

void Initialize(NameValueCollection staticProperties, SearchServiceApplication searchApplication);

staticProperties –The Postfachgröße Registrierung Windows PowerShell-Cmdlet, neu-SPEnterpriseSearchSecurityTrimmer, nimmt einen Parameter namens “ Eigenschaften ” (in MOSS 2007 diese hieß “ Configprops ”) über denen Sie benannte übergeben können Wertpaare getrennt durch ~. Dies kann zum Initialisieren der Postfachgröße Klasseneigenschaften hilfreich sein.

Beispiel: Beim Übergeben von “ Superadmin ~ Foouser ~ Poweruser ~ Baruser ” an das Cmdlet neu SPEnterpriseSearchSecurityTrimmer NameValueCollection Parameters müssen zwei Elemente in der Auflistung mit Schlüssel als “ Superadmin ” ” Poweruser ” und Werte als “ Foouser ” und “ Baruser, ” bzw..

searchApplication –If der Trimmer benötigen Sie Kenntnisse über die Suchdienstinstanz und SharePoint-Farm tiefer, SearchApplication-Objekts verwenden, um diese Informationen zu ermitteln. Finden Sie weitere Informationen zu der Klasse SearchServiceApplication msdn.microsoft.com/library/ee573121(v=office.14)-.

ISecurityTrimmer2::CheckAccess-MethodeDadurch wird die Einschränkung aus Sicherheitsgründen-Logik implementiert. Achten Sie insbesondere auf zwei Aspekte in dieser Methode: die Identität des Benutzers, der die Abfrage und die Leistung Wartezeit, verursacht durch einen großen zurückgegebenen Abfrage ausgegeben.

Im folgenden werden die Signatur dieser Methode und eine Beschreibung der Funktionsweise:

public BitArray CheckAccess(IList<String>documentCrawlUrls, IDictionary<String, Object>sessionProperties, IIdentitypassedUserIdentity)

documentCrawlUrls –The Auflistung von URLs Sicherheitsbedingungen durch diese Trimmer sein.

sessionProperties – A Einzelabfrage Instanz wird als eine Sitzung behandelt. Wenn Ihre Abfrage viele Ergebnisse abruft, wird die CheckAccess-Methode mehrmals aufgerufen. Sie können diesen Parameter verwenden, Werte gemeinsam nutzen oder um die URLs verarbeitet zwischen dieser Aufrufe zu verfolgen.

passedUserIdentity –This ist die Identität des Benutzers, der die Abfrage ausgeführt wird. Es ist die Identität, mit der der Code zulassen oder Verweigern des Zugriffs auf Inhalte.

BitArray –You müssen ein Bit-Array DocumentCrawlUrls gleich der Anzahl von Elementen zurück. Einstellung etwas innerhalb dieses Arrays auf true oder false bestimmt, ob der URL an dieser Position enthalten oder das endgültige Resultset zurück an den Benutzer gesendet blockiert werden.

UserIdentityDas Abfragemodul 2010 SharePoint-Suche ist die Ansprüche Authentifizierungsmodell basiert. Der Suchdienst für die Abfrage übergibt des Ausstellers der Abfrage Ansprüche jedoch IIdentity-Parameter. Um den Benutzernamen des Benutzers abzurufen, die die Abfrage ausgegeben hat, muss über eine Sammlung von Ansprüchen zum Vergleichen der claim.ClaimType mit der SPClaimTypes.UserLogonName durchlaufen werden.

Der folgende Code-Ausschnitt extrahiert den Benutzeranmeldenamen aus dem Token Ansprüche:

IClaimsIdentity claimsIdentity = (IClaimsIdentity)passedUserIdentity;

if (null != claimsIdentity)
{
  foreach (Claim claim in claimsIdentity.Claims)
  {
    if (claim == null)
      continue;
    if (SPClaimTypes.Equals(claim.ClaimType, SPClaimTypes.UserLogonName))
      strUser = claim.Value;
  }
}

Möglicherweise müssen Informationen über die Art der Authentifizierung auf der Ebene der Websitesammlung verwendet wird, um die interne APIs ordnungsgemäß aufzurufen. Erkennen, wenn der Benutzer mithilfe der Windows-Authentifizierung angemeldet, suchen Sie das Vorhandensein von ClaimsType.PrimarySid . Der folgende Code Anspruchs PrimarySid gesucht und anschließend daraus extrahiert den Benutzernamen:

if (SPClaimTypes.Equals(claim.ClaimType, ClaimTypes.PrimarySid))
{
  // Extract SID in the format "S-1-5-21-xxxxx-xxxxx-xxx"
  strUser = claim.Value;
  // Convert SID into NT Format "FooDomain\BarUser"
  SecurityIdentifier sid = new SecurityIdentifier(strUser);
  strUser = sid.Translate(typeof(NTAccount)).Value;
}

Betrachten Sie die Claim.OriginalIssuer Wert innerhalb der Anspruch für Formulare oder anderen ähnlichen nicht-Windows-Authentifizierungsanbieter. Z. B. wenn der Server für die Formularauthentifizierung mit dem ASP.NET SQL-Mitgliedschaftsanbieter konfiguriert ist, wird die Claim.OriginalIssuer den Wert "Forms: AspNetSqlMembershipProvider" haben:

if (SPClaimTypes.Equals(claim.ClaimType, SPClaimTypes.UserLogonName))
{
  strUser = claim.Value;
  strProvider = claim.OriginalIssuer; // For AspNet SQL Provider value will be
                                      // "Forms:AspNetSqlMembershipProvider"
}

Wenn die Abfrage von einem anonymen Benutzer ausgegeben wird, wird der Wert der IIdentity.IsAuthenticated-Methode false sein. In diesem Fall wird claimsIdentity.Name den Wert haben "NT AUTHORITY\\ANONYMOUS LOGON"

Schränken Sie die Verwendung von der .Name-API WindowsIdentity.GetCurrent aufgerufen () die Identität des Benutzers abgerufen, als letzte Notiz auf dem Benutzerkontext. Diese wird immer erhalten, die Identität des Anwendungspools unter dem Abfrage-Suchdienst ausgeführt wird. System.Threading.Thread.CurrentPrincipal.Identity erhalten Sie die gleiche Identität wie die an die CheckAccess-Methode übergeben.

Überlegungen zur LeistungOptimieren Sie die -Methode in seiner größten Ausdehnung anzuzeigen. Wenn viele Ergebnisse die Abfrage zurückgegeben wird, kann der Trimmer mehrmals aufgerufen werden. Eine gängige Methoden an kümmern sich diese Situation ist um die URLs innerhalb der Trimmer über den Parameter SessionProperties verarbeitet. Wenn die Methode eine bestimmte Anzahl von Resultsets verarbeitet, kann eine PluggableAccessCheckException ausgelöst werden. Wenn diese Ausnahme ausgelöst wird, verarbeitet die URLs bis zu, dass Punkt an den Benutzer zurückgegeben.

Benutzerdefinierte Security Trimmer und Systemprotokolle

Code innerhalb eines Trimmer kann nicht geschrieben werden die Systemprotokolle auf <drive> verwaltet \ C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\14\LOGS zu programmieren. Eigene Protokollierungsmechanismus für das Debuggen und die Überwachung muss der Trimmer verwaltet werden. Die einzige Ausnahme ist, wenn die Methode die PluggableAccessCheckException auslöst. Die Message-Zeichenfolge angegeben, obwohl bei Auslösen in das Systemprotokoll protokolliert werden. Hilfreiche Informationen, den der Suchdienst für die Abfrage in der Datei protokolliert enthält die Anzahl der Dokumente, die Sicherheitsbedingungen waren. Beispielsweise schlägt der folgenden Protokolleintrag, dass eine Abfrage zwei Dokumente der CST übergeben, aber keine Dokumente an den Benutzer, d. h. die CST diese zwei Dokumente gekürzt gesendet:

04/23/2010 18:13:48.67    w3wp.exe (0x116C)    0x02B4    SharePoint Server Search    Query Processor    dm2e    Medium    Trim results: First result position = '0', actual result count = '0', total docs found = '0', total docs scanned = '2'.    742d0c36-ea37-4eee-bf8c-f2c662bc6a45

Benutzerdefinierte Sicherheit Trimmers und Warnungen SharePoint-Suchdienst wurde eine Funktion namens Warnungen (available only in Windows authentication mode), die die Änderungen in den Abfrageergebnissen über e-Mail-Nachrichten an den Benutzer übertragen können.Wenn eine Warnungs-Abfrage durch den Timerdienst ausgegeben wird, wird der Suchdienst für die Abfrage aus allen zugeordneten CSTs URLs entfernen.

Assembly signieren der AnforderungAuf das Vorhandensein eines entsprechenden CST werden gesucht, ruft der Abfrage-Suchdienst CST Management-Code für die angegebene Assembly aus dem GAC geladen werden.Zu diesem Zweck muss die Assembly digital signiert werden.Möglichkeiten zum Signieren einer Assembly finden Sie in die “ Managing Assembly und Manifest Signing ” msdn.microsoft.com/library/ms247066.Sobald die Assembly erstellt wird, verwenden Sie das Tool sn.exe zum Abrufen des 64-Bit-Hashs, der als ein öffentliches Schlüsseltoken bezeichnet.Dieses Token wird zum Zeitpunkt der Postfachgröße Registrierung benötigt.

Bereitstellung von benutzerdefinierten Security TrimmerDie CST 
assembly müssen im GAC befinden sich von jedem Computer, auf dem der Abfrage und die Website-Einstellungen Suchdienst ausgeführt wird.Verwenden der Zentraladministration | Systemeinstellungen | Dienste auf dem Server zum Überprüfen des Status der Abfrage und Website-Einstellungen Suchdienst in jedem der Computer in der Farm.Wenn der Dienst gestartet wurde, müssen Sie die CST auf dem Computer importieren.Verwechseln Sie nicht die Suchabfrage und die Website-Einstellungen-Dienst mit den Computern, die Abfragekomponenten enthalten.Die Abfrage-Komponente befindet sich innerhalb der MSSearch.exe zum Abrufen der Ergebnisse aus dem Index.Der Abfrage- und Website-Einstellungen Suchdienst befindet sich in einer eigenen IIS-Workerprozess w3wp.exe.

SharePoint-Cmdlets zu registrieren, anzeigen und löschen CSTs

MOSS 2007 das Befehlszeilenprogramm stsadm.exe zum Registrieren von benutzerdefinierten Trimmers verwendet, aber mit diesem Tool ist veraltet und wird nicht in SharePoint 2010 unterstützt.Verwenden Sie stattdessen die Windows PowerShell-Cmdlets registrieren, anzeigen und Löschen von CSTs.Eine Assembly sollte bereits im GAC zur Registrierung verfügbar sein.Hier ist Ihre Verwendung:

Registrierung –Use der neu-SPEnterpriseSearchSecurityTrimmer der Trimmer, unter Verwendung der Assembly manifest Daten wie Version, Culture und PublicKeyToken zu registrieren.Dieses Beispiel registriert die Trimmer für die Suchanwendung namens “ suchen Dienstanwendung ”:

New-SPEnterpriseSearchSecurityTrimmer -SearchApplication "Search Service Application" -TypeName "SearchCustomSecurityTrimmer.CustomSecurityTrimmerTest, SearchCustomSecurityTrimmer, Version=14.0.0.0, Culture=neutral, PublicKeyToken=4ba2b4aceeb50e6d" -RulePath file://elenjickal2/* -id 102 -Properties superadmin~foouser~poweruser~baruser

Das Cmdlet „ übernimmt die Crawlregel (Regelpfad), einen ganzzahligen Wert als Identität (Id) der Postfachgröße, Konfigurationseigenschaften (Eigenschaften) und TypeName, der sich aus der Manifestdatei Daten sowie den Namen der Klasse, die die Schnittstelle implementiert. Cmdlet-Parameter sind:

  • Die Inhaltsquelle zugeordnete Dienst-Suchanwendung SearchApplication–Name
  • TypeName–This besteht aus der Manifestdatei Daten wie Version, Culture und PublicKeyToken (Sie verweist auch auf die Klasse, die die Schnittstelle implementiert; Dadurch wird die Assembly aus dem GAC eindeutig identifizieren)
  • RulePath–The Crawlregel der Trimmer zugeordnet
  • Id–An Int-Datentyp, der die Postfachgröße Instanz eindeutig kennzeichnet
  • Properties–Set von Name-Wert-Paaren getrennt durch ~

Ansicht –Use die Get-SPEnterpriseSearchSecurityTrimmer Cmdlet und übergeben Sie den Suchbegriff für die Anwendung. Können Sie diese weiter durch Übergabe der Postfachgröße Identität oder andere Eigenschaften, die Sie während der Registrierung Filtern (zum Beispiel: Get - SPEnterpriseSearchSecurityTrimmer - SearchApplication "Search Service Application").

Löschen –Use der entfernen-SPEnterpriseSearchSecurityTrimmer Cmdlet und übergeben Sie die Suchanwendung benennen, als auch der Trimmer-Identität (z. B.: Remove-SPEnterpriseSearchSecurityTrimmer - SearchApplication "Search Service Application" – ID 102).

Hinweis: Nach dem Registrieren der CST, wird bei einem vollständiger Crawl der Inhaltsquelle benötigt.

Schritte zur Fehlerbehebung

Hier sind einige Tipps, unerwarteten Ergebnisse untersuchen:

  • Stellen Sie sicher, die Crawlregel der Inhaltsquelle-Speicherort entspricht.
  • Überprüfen der Protokolle durchsuchen, um sicherzustellen, dass das Konto, mit die Inhaltsquelle Crawlen darauf zugreifen kann. Wenn dies nicht der Fall wäre das Crawlen fehlgeschlagen.
  • Stellen Sie sicher, dass der Abfrage-Benutzer die Berechtigung zum Anzeigen des Inhalts hat.
  • Stellen Sie nach der Registrierung der Postfachgröße sicher, dass Sie einen vollständigen Crawl durchgeführt.
  • Stellen Sie sicher, dass die Postfachgröße Assembly im GAC ist von allen Computern in der Abfrage-Suchdienst ausgeführt wird.
  • Überprüfen Sie die Systemprotokolle für die Anzahl der Dokumente, die durch die Security Trimmer gekürzt.
  • Verwenden Sie das Dienstprogramm ProcessExplorer von technet.microsoft.com/sysinternals/bb896653-, um sicherzustellen, dass die Postfachgröße Assembly in IIS Worker-Prozess w3wp.exe geladen wird.
  • Fügen Sie den Debugger an den Arbeitsprozess, in dem die Assembly geladen wird, und durchlaufen die Postfachgröße Logik.

Abfrage-Verarbeitung Logic Flexibilität

Nachbereiten,-CSTs bieten die Flexibilität, die Abfrage, die Verarbeitungslogik für benutzerdefinierte Enterprise-Sicherheitsanforderungen zu erweitern. Eine sollten stets bedenken, dass Implementierung Fehler innerhalb der Trimmer unerwartete Ergebnisse, führen können, daher ist es wichtig, vor der Trimmer in einer Produktionsumgebung bereitgestellt wird, Sie sorgfältig gegen verschiedene Typen von Inhaltsquellen und Authentifizierungsanbieter getestet wird.

Ashley Elenjickal und Pooja Harjani Teil der SharePoint-Suche Feature Team für benutzerdefinierte Security Trimmer bei Microsoft verantwortlich waren. Sie können unter AshleyEl@microsoft.com und PVaswani@microsoft.com bzw. erreicht werden.

Dank an den folgenden technischen Experten für die Überprüfung der in diesem Artikel: Vor Piaseczny