Microsoft SharePoint Online 커넥터 배포

Google Workspace 콘텐츠 외에도 조직의 SharePoint Online 콘텐츠에서 결과를 반환하도록 Google Cloud Search를 설정할 수 있습니다. Google Cloud Search SharePoint Online 커넥터를 사용하고 특정 SharePoint Online 데이터 소스에 액세스하도록 구성합니다.

중요 고려사항

적용되는 SharePoint 설정

Cloud Search SharePoint Online 커넥터는 항상 SharePoint의 검색 공개 상태 설정을 따르며 이 설정은 재정의할 수 없습니다. 임시 문서의 경우 커넥터가 SharePoint Online에 액세스하는 데 사용하는 사용자 계정의 권한에 따라 색인이 생성되고 반환되는 임시 문서가 결정됩니다. 계정에 '전체 읽기' 권한만 있는 경우 커넥터는 SharePoint의 '임시 항목 공개 상태' 설정을 따릅니다.

또한 사용자 계정 액세스를 기반으로 결과를 제한하도록 커넥터를 구성할 수 있습니다. SharePoint 콘텐츠에 보안 트리밍을 적용하려면 다음 외부 ID를 Google 디렉터리와 동기화합니다.

  • Office 365/Azure AD 사용자
  • Office 365/Azure AD 보안 그룹
  • SharePoint 그룹 (Office 365 사용자 및 그룹을 구성원으로 포함)

검색 최적화

더 관련성 높은 검색 결과를 반환하도록 커넥터를 구성하여 사용자 환경을 개선할 수 있습니다.

API를 사용하려면 SharePoint Online 커넥터 구성 파일에서 HTML 생성 매개변수의 값을 설정합니다. 이 매개변수를 사용하면 일치에 더 큰 영향을 미치는 필드와 더 작은 영향을 미치는 필드를 설정할 수 있습니다.

스키마를 설정하려면 스키마 만들기 및 등록하기의 안내를 따르세요. 스키마를 설정할 때 다음 사항에 유의하세요.

  • SharePoint 콘텐츠 유형의 이름을 해당 객체 정의에 매핑하기 위해 커넥터는 지원되지 않는 문자를 제외하여 콘텐츠 유형 이름을 정규화합니다. 객체 정의의 경우 Cloud Search API는 A~Z, a~z, 0~9만 유효한 문자로 지원합니다. 예를 들어 콘텐츠 유형 'Announcements'는 객체 정의 'Announcements'에 매핑됩니다. 콘텐츠 유형 'News Article'은 'NewsArticle' (공백 없음)에 매핑됩니다.

  • 커넥터가 객체 정의를 객체 정의와 일치시킬 수 없는 경우 대체 객체 유형 (itemMetadata.objectType)을 사용합니다. 메타데이터 구성 매개변수에 대해 자세히 알아보세요.

  • 커넥터는 SharePoint 속성 이름을 속성 정의에 매핑합니다.

  • 커넥터가 콘텐츠를 색인 생성할 때 Microsoft Outlook .msg 파일을 발견하면 파일의 콘텐츠 유형을 재정의하고 application/vnd.ms-outlook.로 색인을 생성합니다.

커넥터 제한사항

  • 각 커넥터 인스턴스는 단일 사이트 모음의 콘텐츠에 대해서만 색인을 생성할 수 있습니다. 여러 사이트 모음의 색인을 생성하려면 커넥터 인스턴스를 추가로 설정합니다.
  • 메모리 소비량은 각 사이트 모음의 ACL에 사용하는 고유한 사용자 및 그룹의 수에 따라 증가합니다.
  • 삭제 알림은 즉시 전송되지 않으며 커넥터가 사용자가 소스 저장소에서 콘텐츠를 삭제했음을 인식하는 데 4시간 넘게 걸릴 수 있습니다.

시스템 요구사항

시스템 요구사항
운영체제
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10(64비트)
인증
  • 실시간 인증
소프트웨어
  • SharePoint Online 환경
  • Google Cloud Search SharePoint Online 커넥터를 실행할 컴퓨터에 설치된 Java JRE 1.8

커넥터 배포

기본 요건

  1. 서비스 계정 ID가 포함된 Google Workspace 비공개 키를 만듭니다. 비공개 키를 가져오는 방법을 알아보려면 Google Cloud Search API에 대한 액세스 구성으로 이동하세요.

  2. Google Workspace 관리자가 검색할 데이터 소스를 추가해야 합니다. 데이터 소스 ID를 기록합니다.

  3. 커넥터가 ACL을 기반으로 결과를 반환하는 경우 (결과가 공개되지 않음) Google Workspace 관리자가 두 개의 ID 소스를 만들고 ID를 제공해야 합니다.

    • Office 365 사용자 및 그룹용 1개
    • SharePoint 그룹용 1개

    또한 관리자가 조직의 Google Workspace 고객 ID를 가져와 사용자에게 제공해야 합니다.

    Cloud Search에서 사용자 ID 매핑에서 이러한 값을 가져오는 방법을 알아보세요.

  4. SharePoint Online 사이트 모음 관리자 권한이 있는 커넥터의 사용자 계정을 설정합니다.

  5. 커넥터가 ACL을 기반으로 결과를 반환하는 경우 (결과가 공개되지 않음) Office 365 계정에서 사용자와 그룹을 읽을 수 있는 사용자 인증 정보를 만듭니다. Microsoft의 안내에 따라 Azure Active Directory 애플리케이션을 만듭니다. 앱을 설정하면서 다음 안내를 따르세요.

    1. 'gcs-o365-identity-connector'와 같이 앱을 설명하는 이름을 지정합니다.
    2. 권한을 추가합니다. 앱에 'Group.Read.All' 및 'User.Read.All'이 필요합니다.
    3. 커넥터 구성에 사용할 다음 정보를 기록합니다.
      • 애플리케이션 ID
      • 테넌트
      • 클라이언트 보안 비밀번호

1단계: SharePoint Online 커넥터 소프트웨어 설치

  1. GitHub의 커넥터 저장소를 클론합니다.

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. 원하는 버전의 커넥터를 체크아웃합니다.

    $ git checkout tags/v1-0.0.3
  3. 커넥터를 빌드합니다.

    $ mvn package

    커넥터를 빌드할 때 테스트를 건너뛰려면 mvn package 대신 mvn package -DskipTests를 실행합니다.

  4. 커넥터 zip 파일을 로컬 설치 디렉터리에 복사합니다.

    $ 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단계: SharePoint Online 커넥터 구성 파일 만들기

  1. 커넥터 설치와 동일한 디렉터리에서 새 파일을 만들고 이름을 sharepoint-online-connector.config로 지정합니다. 커넥터 인스턴스를 여러 개 실행할 계획이라면 이름에 더 많은 세부정보를 추가하여 구분합니다.

  2. 다음 예와 같이 파일 콘텐츠에 매개변수를 키-값 쌍으로 추가합니다.

    ### 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
    

    각 매개변수에 대한 자세한 설명은 구성 매개변수 참조를 참고하세요.

  3. (선택사항) 필요에 따라 추가 커넥터 매개변수를 구성합니다. 자세한 내용은 Google 제공 커넥터 매개변수를 참고하세요.

3단계: SharePoint Online 커넥터의 로깅 설정

  1. 커넥터 바이너리가 있는 디렉터리와 같은 디렉터리에 logs라는 폴더를 만듭니다.

  2. 같은 디렉터리에 라틴어 1로 인코딩된 logging.properties라는 파일을 만들고 다음 콘텐츠를 추가합니다.

    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단계: SharePoint Online ID 커넥터 구성

이 단계는 검색 결과에 SharePoint Online ID 기반 ACL을 적용하는 데 필요합니다. 공개 ACL로 커넥터를 설정한 경우 이 단계를 건너뛰어도 됩니다.

  1. SharePoint Online 커넥터 설치와 동일한 디렉터리에 새 파일을 만들고 이름을 sharepoint-online-identity-connector.config로 지정합니다.

  2. 다음 예와 같이 파일 콘텐츠에 매개변수를 키-값 쌍으로 추가합니다.

    ### 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
    

    값은 SharePoint Online 커넥터와 거의 동일하지만 api.sourceId 대신 매개변수가 api.customerId입니다. api.customerId의 값은 Google Workspace 관리자로부터 받은 고객 ID입니다.

5단계: Office 365 ID 커넥터 설치

이 단계는 검색 결과에 SharePoint Online ID 기반 ACL을 적용하는 데 필요합니다. 공개 ACL로 커넥터를 설정한 경우 이 단계를 건너뛰어도 됩니다.

  1. GitHub의 커넥터 저장소를 클론합니다.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
  2. 원하는 버전의 커넥터를 체크아웃합니다.

    $ git checkout tags/v1-0.0.3
  3. 커넥터를 빌드합니다.

    $ mvn package

    커넥터를 빌드할 때 테스트를 건너뛰려면 mvn package 대신 mvn package -DskipTests를 실행합니다.

  4. 커넥터 zip 파일을 로컬 설치 디렉터리에 복사합니다.

    $ 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단계: Office 365 ID 커넥터 구성 및 로깅 설정

  1. ID 커넥터 설치와 동일한 디렉터리에서 새 파일을 만들고 이름을 o365-identity-connector.config로 지정합니다.

  2. 다음 예와 같이 파일 콘텐츠에 매개변수를 키-값 쌍으로 추가합니다. 참고: 모든 매개변수는 필수입니다.

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

    각 매개변수에 대한 자세한 설명은 Office 365 ID 커넥터 구성 참조를 참고하세요.

  3. 커넥터 바이너리가 있는 디렉터리와 같은 디렉터리에 logs라는 폴더를 만듭니다.

  4. 같은 디렉터리에 logging.properties라는 ASCII 또는 UTF-8 파일을 만들고 다음 콘텐츠를 추가합니다.

    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단계: SharePoint Online 커넥터 실행

다음 단계에서는 Office 365와 SharePoint 사이트 모음의 주 구성원을 모두 Cloud Identity 서비스의 ID에 매핑합니다. 이 동기화는 Office 365 ID 커넥터와 SharePoint Online ID 커넥터를 통해 이루어집니다.

Office 365 커넥터가 사용자와 그룹을 동기화한 후 SharePoint Online ID 커넥터를 실행하여 SharePoint 사이트 모음 그룹을 동기화합니다. 그런 다음 SharePoint Online 커넥터를 실행하여 색인을 생성하고 Cloud Search 사용자에게 결과를 제공합니다.

  1. Office 365 ID 커넥터를 실행합니다.

    $ 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 ID 커넥터를 실행합니다.

    $ 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 커넥터를 실행합니다.

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

구성 매개변수 참조 정보

데이터 소스 액세스

설정 매개변수
데이터 소스 ID api.sourceId=1234567890abcdef

필수 항목입니다. Google Workspace 관리자가 설정한 Google Cloud Search 데이터 소스 ID입니다.

서비스 계정 비공개 키 파일의 경로 api.serviceAccountPrivateKeyFile=PrivateKey.json

필수 항목입니다. Google Cloud Search 서비스 계정 키 파일의 경로입니다.

SharePoint Online 액세스

설정 매개변수
SharePoint 사이트 모음의 정규화된 도메인 이름 sharepoint.server=http://yoursharepoint.example.com/

필수 항목입니다. 도메인 이름이 정규화되지 않은 경우 커넥터 호스트에서 DNS 재정의를 설정합니다.

사이트 모음 전용 모드 sharepoint.siteCollectionOnly=true

필수 항목입니다. SharePoint Online의 경우 값을 true로 설정합니다.

SharePoint 사용자 이름 sharepoint.username=username

필수 항목입니다. SharePoint Online에 액세스하는 데 사용되는 계정의 사용자 이름입니다.

SharePoint 비밀번호 sharepoint.password=user_password

필수 항목입니다. SharePoint Online에 액세스하는 데 사용되는 계정의 비밀번호입니다.

인증 모드 sharepoint.formsAuthenticationMode=LIVE

필수 항목입니다. SharePoint Online의 경우 값은 항상 `LIVE`입니다.

배포 유형 sharepoint.deploymentType=ONLINE

필수 항목입니다. SharePoint Online의 경우 값은 항상 `ONLINE`입니다.

SharePoint ID 매핑

설정 매개변수
ID 소스 ID api.identitySourceId=1234567890abcdef

필수 항목입니다. SharePoint 그룹 ID 소스의 Cloud Search ID 소스 ID입니다.

참조 ID 소스 api.referenceIdentitySources=defaultIdentitySource

필수 항목입니다. SharePoint Online의 경우 값은 항상 `defaultIdentitySource`입니다.

참조 ID 소스 ID api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

필수 항목입니다. Office 365 사용자 및 그룹 ID 소스의 Cloud Search ID 소스 ID입니다.

HTML 콘텐츠 생성

설정 매개변수
HTML 템플릿 제목 필드 contentTemplate.sharePointItem.title=Title

생성된 HTML의 HTML 템플릿 제목으로 사용할 SharePoint 필드입니다.

HTML 콘텐츠 높은 검색 품질 필드 contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]

생성된 HTML에 고품질 필드로 포함할 필드의 쉼표로 구분된 목록입니다. 검색어와 이 필드가 일치하면 검색 결과의 순위가 높아집니다.

HTML 콘텐츠 중간 검색 품질 필드 contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]

생성된 HTML에 중간 품질 필드로 포함할 필드의 쉼표로 구분된 목록입니다.

HTML 콘텐츠 낮은 검색 품질 필드 contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]

생성된 HTML에 낮은 품질 필드로 포함할 필드를 쉼표로 구분한 목록입니다.

HTML 콘텐츠 매핑되지 않은 열 contentTemplate.sharepointItem.unmappedColumnsMode=APPEND

커넥터가 매핑되지 않은 열을 처리하는 방법입니다. 값은 APPEND (기본값) 또는 IGNORE입니다.

  • APPEND: 커넥터는 품질 수준 (높음, 중간, 낮음)으로 설정되지 않은 필드를 포함한 모든 필드가 포함된 HTML 콘텐츠를 생성합니다.
  • IGNORE: 커넥터가 매핑된 필드만 사용하여 HTML 콘텐츠를 생성합니다.

Office 365 ID 커넥터 구성

설정 매개변수
ID 소스 ID api.identitySourceId=1234567890abcdef

필수 항목입니다. Office 365 ID 소스 ID입니다. 이 값은 SharePoint Online 커넥터 구성의 `api.referenceIdentitySource.defaultIdentitySource.id` 값과 일치해야 합니다.

Google 고객 ID api.customerId=c1b1d1e1

필수 항목입니다. 조직의 Google Workspace 고객 ID입니다.

Office 365 애플리케이션 ID o365.clientId=a63c6eb3-29e7-486

필수 항목입니다. Office 365 애플리케이션 설정의 애플리케이션 ID입니다.

Office 365 테넌트 o365.tenant=185ef9ed-29e7-486

필수 항목입니다. Office 365 계정의 테넌트 (Azure 활동 디렉터리 앱)

Office 365 클라이언트 보안 비밀번호 o365.clientSecret=raHJN15vRLBKs

필수 항목입니다. Office 365 애플리케이션 설정에서 제공되는 사용자 인증 정보 보안 비밀입니다.