Microsoft SharePoint Online bağlayıcısını dağıtma

Google Cloud Search'ü, Google Workspace içeriğinizin yanı sıra kuruluşunuzun SharePoint Online içeriğinden de sonuç döndürecek şekilde ayarlayabilirsiniz. Google Cloud Search SharePoint Online bağlayıcısını kullanır ve belirli bir SharePoint Online veri kaynağına erişecek şekilde yapılandırırsınız.

Dikkat edilecek önemli noktalar

SharePoint ayarları

Cloud Search SharePoint Online bağlayıcısı, SharePoint'teki Arama Görünürlüğü ayarını her zaman dikkate alır ve bu ayar geçersiz kılınamaz. Taslak dokümanlar için, bağlayıcının SharePoint Online'a erişmek üzere kullandığı kullanıcı hesabındaki izinler, hangi taslak dokümanların dizine ekleneceğini ve döndürüleceğini kontrol eder. Hesapta yalnızca "Tam Okuma" izinleri varsa bağlayıcı, SharePoint'teki "Öğe görünürlüğünü taslak olarak ayarla" ayarlarını dikkate alır.

Ayrıca, bağlayıcıyı kullanıcı hesabı erişimine göre sonuçları sınırlayacak şekilde yapılandırırsınız. SharePoint içeriği için güvenlik kırpma uygulamak üzere aşağıdaki harici kimlikleri Google diziniyle senkronize edersiniz:

  • Office 365 / Azure AD kullanıcıları
  • Office 365 / Azure AD güvenlik grupları
  • SharePoint grupları (üye olarak Office 365 kullanıcıları ve gruplarıyla)

Arama optimizasyonu

Bağlayıcıyı daha alakalı arama sonuçları döndürecek şekilde yapılandırarak kullanıcılarınızın deneyimini iyileştirebilirsiniz.

API'yi kullanmak için SharePoint Online bağlayıcı yapılandırma dosyasında HTML oluşturma parametrelerinin değerlerini ayarlayın. Bu parametreler, hangi alanların eşleşmeler üzerinde daha yüksek veya daha düşük etkiye sahip olduğunu ayarlamanıza olanak tanır.

Şema oluşturmak için Şema oluşturma ve kaydetme başlıklı makaledeki talimatları uygulayın. Şema oluşturduğunuzda:

  • SharePoint içerik türlerinin adlarını ilgili nesne tanımlarıyla eşlemek için bağlayıcı, desteklenmeyen karakterleri hariç tutarak içerik türü adlarını normalleştirir. Cloud Search API, nesne tanımları için yalnızca A-Z, a-z ve 0-9 karakterlerini geçerli karakter olarak destekler. Örneğin, "Duyurular" içerik türü, "Duyurular" nesne tanımıyla eşlenir. "Haber Makalesi" içerik türü, "NewsArticle" ile eşlenir (boşluk yok).

  • Bağlayıcı, bir nesne tanımını bir nesne tanımıyla eşleştiremediğinde yedek nesne türünü (itemMetadata.objectType) kullanır. Meta veri yapılandırma parametreleri hakkında daha fazla bilgi edinin.

  • Bağlayıcı, SharePoint özellik adlarını özellik tanımlarıyla eşler.

  • Bağlayıcı, içeriği dizine eklerken Microsoft Outlook .msg dosyalarıyla karşılaştığında dosyaların içerik türünü geçersiz kılar ve bunları application/vnd.ms-outlook. olarak dizine ekler.

Bağlayıcılarla ilgili bilinen sınırlamalar

  • Her bağlayıcı örneği, yalnızca tek bir site koleksiyonundaki içeriği indeksleyebilir. Birden fazla site koleksiyonunu dizine eklemek için ek bağlayıcı örnekleri oluşturun.
  • Bellek tüketimi, her site koleksiyonu için erişim denetim listelerinde kullandığınız benzersiz kullanıcı ve grup sayısıyla artar.
  • Silme bildirimleri anında gerçekleşmez ve bir bağlayıcının, kullanıcının kaynak depodan içerik sildiğini tanıması 4 saatten uzun sürebilir.

Sistem gereksinimleri

Sistem gereksinimleri
İşletim sistemi
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10 (64 bit)
Kimlik doğrulama
  • Canlı Kimlik Doğrulama
Yazılım
  • SharePoint Online ortamı
  • Google Cloud Search SharePoint Online bağlayıcısını çalıştıracak bilgisayarda Java JRE 1.8'in yüklü olması

Bağlayıcıyı dağıtma

Ön koşullar

  1. Hizmet hesabı kimliğinizi içeren bir Google Workspace özel anahtarı oluşturun. Özel anahtar edinme hakkında bilgi edinmek için Google Cloud Search API'ye erişimi yapılandırma başlıklı makaleyi inceleyin.

  2. Google Workspace yöneticinizin arama yapmak için veri kaynağı eklemesi gerekir. Veri kaynağı kimliğini kaydedin.

  3. Bağlayıcı, sonuçları erişim kontrol listelerine göre döndürüyorsa (sonuçlar herkese açık değilse) Google Workspace yöneticinizin iki kimlik kaynağı oluşturması ve bu kaynakların kimliklerini size vermesi gerekir:

    • Office 365 kullanıcıları ve grupları için bir tane
    • SharePoint grupları için bir tane

    Yöneticinin, kuruluşunuzun Google Workspace müşteri kimliğini alıp size vermesi de gerekir.

    Bu değerleri nasıl alacağınızı Cloud Search'te kullanıcı kimliklerini eşleme başlıklı makaleden öğrenebilirsiniz.

  4. Bağlayıcı için SharePoint Online site koleksiyonu yöneticisi ayrıcalıklarına sahip bir kullanıcı hesabı oluşturun.

  5. Bağlayıcı, sonuçları erişim kontrol listelerine göre döndürüyorsa (sonuçlar herkese açık değilse) Office 365 hesabınızdaki kullanıcıları ve grupları okumak için kimlik bilgileri oluşturun. Azure Active Directory uygulaması oluşturmak için Microsoft'un talimatlarını uygulayın. Uygulamayı kurarken:

    1. Uygulamayı "gcs-o365-identity-connector" gibi açıklayıcı bir adla adlandırın.
    2. İzin ekleyin. Uygulamanın "Group.Read.All" ve "User.Read.All" izinlerine ihtiyacı var.
    3. Bağlayıcı yapılandırmasında kullanılacak aşağıdaki bilgileri kaydedin:
      • Uygulama Kimliği
      • Kiracı
      • İstemci Gizli Anahtarı

1. Adım: SharePoint Online bağlayıcı yazılımını yükleme

  1. Bağlayıcı deposunu GitHub'dan kopyalayın.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Bağlayıcının istediğiniz sürümünü kontrol edin:

    $ git checkout tags/v1-0.0.3
  3. Bağlayıcıyı oluşturun.

    $ mvn package

    Bağlayıcıyı oluştururken testleri atlamak için mvn package yerine mvn package -DskipTests komutunu çalıştırın.

  4. Bağlayıcı ZIP dosyasını yerel yükleme dizininize kopyalayın:

    $ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3

2. adım: SharePoint Online bağlayıcı yapılandırma dosyasını oluşturma

  1. Bağlayıcı kurulumuyla aynı dizinde yeni bir dosya oluşturun ve dosyayı sharepoint-online-connector.config olarak adlandırın. Çok sayıda bağlayıcı örneği çalıştırmayı planlıyorsanız ayırt etmek için ada daha fazla ayrıntı ekleyin.

  2. Dosya içeriğine aşağıdaki örnekte gösterildiği gibi anahtar/değer çiftleri olarak parametreler ekleyin:

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    sharepoint.server=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    
    # Optional SharePoint List Item metadata parameters
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    Her parametrenin ayrıntılı açıklaması için yapılandırma parametreleri referansına gidin.

  3. (İsteğe bağlı) Gerekirse ek bağlayıcı parametrelerini yapılandırın. Ayrıntılar için Google tarafından sağlanan bağlayıcı parametreleri başlıklı makaleyi inceleyin.

3. Adım: SharePoint Online bağlayıcısı için günlük kaydını ayarlama

  1. Bağlayıcı ikilisini içeren dizinde logs adlı bir klasör oluşturun.

  2. Aynı dizinde logging.properties adlı bir Latin-1 kodlu dosya oluşturun ve aşağıdaki içeriği ekleyin:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = INFO
    # uncomment line below to increase logging level for SharePoint APIsa
    #com.google.enterprise.cloudsearch.sharepoint.level=FINE
    
    # uncomment line below to increase logging level to enable API trace
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-sharepoint.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

4. Adım. SharePoint Online kimlik bağlayıcısını yapılandırma

Bu adım, SharePoint Online kimliğe dayalı erişim kontrol listelerini arama sonuçlarına uygulamak için gereklidir. Bağlayıcıyı herkese açık ACL'lerle kurduysanız bu adımı atlayabilirsiniz.

  1. SharePoint Online bağlayıcısının yüklendiği dizinde yeni bir dosya oluşturun ve dosyayı sharepoint-online-identity-connector.config olarak adlandırın.

  2. Dosya içeriğine aşağıdaki örnekte gösterildiği gibi anahtar/değer çiftleri olarak parametreler ekleyin:

    ### SharePoint Online identity connector configuration ###
    # Required parameters for data source access
    api.customerId=C05d3djk8
    api.serviceAccountPrivateKeyFile=service_account.json
    
    # Required parameters for SharePoint Online access
    sharepoint.server=https://mydomain.onmicrosoft.com
    sharepoint.siteCollectionOnly=true
    sharepoint.username=admin@mydomain.onmicrosoft.com
    sharepoint.password=pa$sw0rd
    sharepoint.formsAuthenticationMode=LIVE
    sharepoint.deploymentType=ONLINE
    
    # SharePoint identity mapping parameters
    api.identitySourceId=08ef8becd116faa475de26d9b291fed9
    api.referenceIdentitySources=defaultIdentitySource
    api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
    

    Değerler, SharePoint Online bağlayıcısındaki değerlerle neredeyse aynıdır. Tek fark, api.sourceId yerine api.customerId parametresinin kullanılmasıdır. api.customerId değeri, Google Workspace yöneticinizden aldığınız müşteri kimliğidir.

5. Adım: Office 365 Identity Connector'ı yükleme

Bu adım, SharePoint Online kimliğe dayalı erişim kontrol listelerini arama sonuçlarına uygulamak için gereklidir. Bağlayıcıyı herkese açık ACL'lerle kurduysanız bu adımı atlayabilirsiniz.

  1. Bağlayıcı deposunu GitHub'dan kopyalayın.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. Bağlayıcının istediğiniz sürümünü kontrol edin:

    $ git checkout tags/v1-0.0.3
  3. Bağlayıcıyı oluşturun.

    $ mvn package

    Bağlayıcıyı oluştururken testleri atlamak için mvn package yerine mvn package -DskipTests komutunu çalıştırın.

  4. Bağlayıcı ZIP dosyasını yerel yükleme dizininize kopyalayın:

    $ cp target/google-cloudsearch-office-365-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-office-365-connector-v1-0.0.3

6. Adım: Office 365 Identity bağlayıcısını yapılandırma ve günlük kaydını ayarlama

  1. Kimlik bağlayıcı kurulumuyla aynı dizinde yeni bir dosya oluşturun ve dosyayı o365-identity-connector.config olarak adlandırın.

  2. Parametreleri, aşağıdaki örnekte olduğu gibi dosya içeriğine anahtar/değer çiftleri olarak ekleyin. Not: Tüm parametreler zorunludur.

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=12345abcde api.customerId=abcde12345 o365.clientId=a63c6eb3-29e7-486 o365.tenant=185ef9ed-29e7-486 o365.clientSecret=raHJN15vRLBKs

    Her bir parametrenin ayrıntılı açıklaması için Office 365 Identity Connector yapılandırma referansı başlıklı makaleyi inceleyin.

  3. Bağlayıcı ikilisini içeren dizinde logs adlı bir klasör oluşturun.

  4. Aynı dizinde logging.properties adlı bir ASCII veya UTF-8 dosyası oluşturun ve aşağıdaki içeriği ekleyin:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = INFO
    # uncomment line below to increase logging level for Office 365 APIs
    #com.google.enterprise.cloudsearch.o365.level=FINE
    
    # uncomment line below to increase logging level to enable Google API traces
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

7. Adım: SharePoint Online bağlayıcısını başlatma

Aşağıdaki adımlarda, hem Office 365 hem de SharePoint site koleksiyonundaki asıl kullanıcıları Cloud Identity hizmetindeki kimliklerle eşlersiniz. Bu senkronizasyon, Office 365 Identity Connector ve SharePoint Online Identity Connector ile yapılır.

Office 365 bağlayıcısı kullanıcıları ve grupları senkronize ettikten sonra SharePoint Online kimlik bağlayıcısını çalıştırarak SharePoint sitesi koleksiyonu gruplarını senkronize edin. Ardından, sonuçları Cloud Search kullanıcılarınıza dizine eklemek ve sunmak için SharePoint Online bağlayıcısını çalıştırırsınız.

  1. Office 365 kimlik bağlayıcısını çalıştırın:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
  2. SharePoint Online kimlik bağlayıcısını çalıştırın:

    $ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-online-identity-connector.config
  3. SharePoint Online bağlayıcısını çalıştırın:

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config

Yapılandırma parametreleri referansı

Veri kaynağı erişimi

Yer Parametre
Veri kaynağı kimliği api.sourceId=1234567890abcdef

Zorunlu. Google Workspace yöneticisi tarafından ayarlanan Google Cloud Search veri kaynağı kimliği.

Hizmet hesabı özel anahtar dosyasının yolu api.serviceAccountPrivateKeyFile=PrivateKey.json

Zorunlu. Google Cloud Search hizmet hesabı anahtar dosyasının yolu.

SharePoint Online erişimi

Yer Parametre
SharePoint sitesi koleksiyonunun tam nitelikli alan adı sharepoint.server=http://yoursharepoint.example.com/

Zorunlu. Alan adı tam nitelikli değilse bağlayıcı ana makinesinde DNS geçersiz kılma ayarını yapın.

Yalnızca Site Koleksiyonu Modu sharepoint.siteCollectionOnly=true

Zorunlu. SharePoint Online için değeri true olarak ayarlayın.

SharePoint kullanıcı adı sharepoint.username=username

Zorunlu. SharePoint Online'a erişmek için kullanılan hesabın kullanıcı adı.

SharePoint şifresi sharepoint.password=user_password

Zorunlu. SharePoint Online'a erişmek için kullanılan hesabın şifresi.

Kimlik Doğrulama Modu sharepoint.formsAuthenticationMode=LIVE

Zorunlu. SharePoint Online için değer her zaman "LIVE" olur.

Dağıtım Türü sharepoint.deploymentType=ONLINE

Zorunlu. SharePoint Online için değer her zaman "ONLINE" olur.

SharePoint Kimlik Eşleme

Yer Parametre
Kimlik kaynağı kimliği api.identitySourceId=1234567890abcdef

Zorunlu. SharePoint grupları kimlik kaynağı için Cloud Search kimlik kaynağı kimliği.

Referans Kimlik Kaynakları api.referenceIdentitySources=defaultIdentitySource

Zorunlu. SharePoint Online için değer her zaman "defaultIdentitySource" olur.

Referans kimlik kaynağı kimlikleri api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

Zorunlu. Office 365 Kullanıcıları ve Grupları kimlik kaynağı için Cloud Search kimlik kaynağı kimliği.

HTML içeriği oluşturma

Yer Parametre
HTML şablonu başlık alanı contentTemplate.sharePointItem.title=Title

Oluşturulan HTML için HTML şablon başlığı olarak kullanılacak SharePoint alanı.

HTML içeriğiyle ilgili yüksek arama kalitesi alanları contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

Oluşturulan HTML'ye yüksek kaliteli alanlar olarak dahil edilecek alanların virgülle ayrılmış listesi. Arama sorgusu terimleri bu alanlarla eşleştiğinde sonuçlar daha yüksek sıralarda yer alır.

HTML içeriği orta arama kalitesi alanları contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

Oluşturulan HTML'ye orta kaliteli alanlar olarak dahil edilecek alanların virgülle ayrılmış listesi.

HTML içeriği düşük arama kalitesi alanları contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

Oluşturulan HTML'ye düşük kaliteli alanlar olarak eklenecek alanların virgülle ayrılmış listesi.

HTML içeriği eşlenmemiş sütunları contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

Bağlayıcının, eşlenmemiş sütunları nasıl işlediği. Değer APPEND (varsayılan) veya IGNORE'dur.

  • APPEND: Bağlayıcı, kalite düzeyi (yüksek, orta veya düşük) ayarlanmamış olanlar da dahil olmak üzere tüm alanlarla HTML içeriği oluşturur.
  • IGNORE (Yoksay): Bağlayıcı, yalnızca eşlenmiş alanları içeren HTML içeriği oluşturur.

Office 365 kimlik bağlayıcısı yapılandırması

Yer Parametre
Kimlik kaynağı kimliği api.identitySourceId=1234567890abcdef

Zorunlu. Office 365 kimlik kaynağı kimliği. Bu değer, SharePoint Online bağlayıcı yapılandırmasındaki `api.referenceIdentitySource.defaultIdentitySource.id` değerine karşılık gelmelidir.

Google Müşteri Kimliği api.customerId=c1b1d1e1

Zorunlu. Kuruluşunuzun Google Workspace müşteri kimliği.

Office 365 Uygulama Kimliği o365.clientId=a63c6eb3-29e7-486

Zorunlu. Office 365 uygulama kurulumundan alınan uygulama kimliği.

Office 365 kiracısı o365.tenant=185ef9ed-29e7-486

Zorunlu. Office 365 hesabınızın kiracısı (Azure Activity Directory uygulamanız)

Office 365 istemci gizli anahtarı o365.clientSecret=raHJN15vRLBKs

Zorunlu. Office 365 uygulama kurulumundan alınan kimlik bilgisi gizli anahtarı