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

Google Cloud Search'i, Google Workspace içeriğinize ek olarak 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 edilmesi gerekenler

Uygulanan SharePoint ayarları

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

Ayrıca, sonuçları kullanıcı hesabı erişimine göre sınırlayacak şekilde bağlayıcıyı yapılandırırsınız. SharePoint içeriği için güvenlik kırpma işlemini uygulamak üzere aşağıdaki harici kimlikleri Google Directory ile 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ı içeren)

Arama optimizasyonu

Bağlantı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ğdaştırıcısı yapılandırma dosyasında HTML oluşturma parametrelerinin değerlerini ayarlayın. Bu parametreler, eşleşmeler üzerinde hangi alanların daha yüksek veya daha düşük etkiye sahip olduğunu belirlemenize olanak tanır.

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

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

  • Bağlayıcı, bir nesne tanımını başka bir nesne tanımı ile 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ğlantılayıcı, SharePoint mülk adlarını mülk tanımlarıyla eşler.

  • İçerik dizine eklerken Microsoft Outlook .msg dosyalarıyla karşılaşan bağlayıcı, dosyaların içerik türünü geçersiz kılar ve dosyaları application/vnd.ms-outlook.

Bilinen konnektör sınırlamaları

  • Her bağlayıcı örneği yalnızca tek bir site koleksiyonundaki içeriği dizine ekleyebilir. Birden fazla site koleksiyonunu dizine eklemek için ek bağlayıcı örnekleri oluşturun.
  • Bellek tüketimi, her site koleksiyonu için ACL'lerde kullandığınız benzersiz kullanıcı ve grup sayısıyla artar.
  • Silme bildirimleri anında gönderilmez ve bir bağlayıcının, kullanıcının kaynak deposundaki içeriği sildiğini algılaması 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 yüklü olmalıdır.

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 almayı öğrenmek 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ğlantılayıcı, ACL'lere göre sonuçlar döndürüyorsa (sonuçlar herkese açık değildir) Google Workspace yöneticinizin iki kimlik kaynağı oluşturması ve kimliklerini size vermesi gerekir:

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

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

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

  4. Bağlantı için SharePoint Online Site Koleksiyonu Yöneticisi ayrıcalıklarına sahip bir kullanıcı hesabı oluşturun.

  5. Bağlantılayıcı, ACL'lere dayalı sonuçlar döndürüyorsa (sonuçlar herkese açık değildir) Office 365 hesabınızdaki kullanıcıları ve grupları okumak için kimlik bilgileri oluşturun. Azure Active Directory uygulaması oluşturma ile ilgili Microsoft'un talimatlarını uygulayın. Uygulamayı ayarlarken:

    1. Uygulamaya "gcs-o365-identity-connector" gibi açıklayıcı bir ad verin.
    2. İzin ekleyin. Uygulamanın "Group.Read.All" ve "User.Read.All" izinlerine ihtiyacı vardır.
    3. Bağlantı 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ğlantı deposunu GitHub'dan kopyalayın.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. Bağlayıcının istenen sürümüne göz atın:

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

    $ mvn package

    Bağlantı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ğlantılayıcı kurulumuyla aynı dizinde yeni bir dosya oluşturun ve dosyayı sharepoint-online-connector.config olarak adlandırın. Birçok bağlayıcı örneği çalıştırmayı planlıyorsanız ayırt etmek için isme daha fazla ayrıntı ekleyin.

  2. Aşağıdaki örnekte gösterildiği gibi, parametreleri dosya içeriğine anahtar/değer çiftleri olarak 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çıklamaları için yapılandırma parametreleri referansı başlıklı makaleyi inceleyin.

  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 Latin-1 kodlamalı logging.properties adlı bir 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ı ACL'lerin arama sonuçlarına uygulanması için gereklidir. Bağlantıyı herkese açık ACL'lerle kuruyorsanız bu adımı atlayabilirsiniz.

  1. SharePoint Online bağdaştırıcısı kurulumuyla aynı dizinde yeni bir dosya oluşturun ve dosyayı sharepoint-online-identity-connector.config olarak adlandırın.

  2. Aşağıdaki örnekte gösterildiği gibi, parametreleri dosya içeriğine anahtar/değer çiftleri olarak 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ıyla 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 kimlik bağlayıcısını yükleme

Bu adım, SharePoint Online kimliğe dayalı ACL'lerin arama sonuçlarına uygulanması için gereklidir. Bağlantıyı herkese açık ACL'lerle kuruyorsanız bu adımı atlayabilirsiniz.

  1. Bağlantı 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 istenen sürümüne göz atın:

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

    $ mvn package

    Bağlantı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 kimlik bağlayıcısını yapılandırma ve günlük kaydını ayarlama

  1. Kimlik bağlayıcısının yüklendiği dizinle aynı dizinde yeni bir dosya oluşturun ve dosyayı o365-identity-connector.config olarak adlandırın.

  2. Aşağıdaki örnekte gösterildiği gibi, parametreleri 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 parametrenin ayrıntılı açıklamaları için Office 365 Kimlik bağlayıcısı 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'teki hem de SharePoint site koleksiyonundaki kimlikleri Cloud Identity hizmetindeki kimliklerle eşlersiniz. Bu senkronizasyon, Office 365 kimlik bağlayıcısı ve SharePoint Online kimlik bağlayıcısı ile yapılır.

Office 365 bağlayıcısı kullanıcıları ve grupları senkronize ettikten sonra SharePoint site koleksiyonu gruplarını senkronize etmek için SharePoint Online kimlik bağlayıcısını çalıştırın. Ardından, SharePoint Online bağlayıcısını çalıştırarak sonuçları dizine ekleyip Cloud Search kullanıcılarınıza sunabilirsiniz.

  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 koleksiyonu için 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ğının 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ği 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 üst sıralarda yer alır.

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

Orta kaliteli alanlar olarak oluşturulan HTML'ye 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 dahil edilecek alanların virgülle ayrılmış listesi.

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

Bağlayıcı, eşlenmemiş sütunları nasıl işler? Değer APPEND (varsayılan) veya IGNORE olur.

  • APPEND: Bağlantılayıcı, kalite düzeyi (yüksek, orta veya düşük) ile ayarlanmamış olanlar da dahil olmak üzere tüm alanlarla HTML içeriği oluşturur.
  • IGNORE: Bağlayıcı, yalnızca eşlenen 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ğdaştırıcısı yapılandırmasında "api.referenceIdentitySource.defaultIdentitySource.id" değerine uymalıdır.

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 Active Directory uygulamanız)

Office 365 istemci gizli anahtarı o365.clientSecret=raHJN15vRLBKs

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