Microsoft SharePoint Online 커넥터 배포

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

중요 고려사항

SharePoint Online 커넥터를 배포하기 전에 다음 고려사항을 확인하세요.

SharePoint 설정 준수

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

또한 사용자 계정 액세스에 따라 결과를 제한하도록 커넥터를 구성합니다. 보안 트리밍을 적용하려면 다음 외부 ID를 Google Cloud 디렉터리와 동기화하세요.

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

검색 최적화

커넥터를 구성하여 관련 결과를 반환하도록 하여 검색 환경을 개선합니다. 구성 파일의 HTML 생성 매개변수를 사용하여 필드 영향 수준을 설정합니다.

스키마를 설정하려면 스키마 생성 및 등록하기를 참고하세요. 스키마를 설정할 때는 다음 사항을 고려하세요.

  • 커넥터는 SharePoint 콘텐츠 유형을 유효한 객체 정의 이름 (A~Z, a~z, 0~9)으로 정규화합니다. 예를 들어 '뉴스 기사'는 '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 환경, Java JRE 1.8

커넥터 배포

다음 단계에 따라 SharePoint Online 커넥터를 배포하세요.

기본 요건

  1. Google Workspace 비공개 키를 만듭니다. Cloud Search API에 대한 액세스 구성을 참고하세요.
  2. 검색할 데이터 소스를 추가하고 ID를 기록합니다. 검색할 데이터 소스 추가하기를 참고하세요.
  3. ACL 기반 결과를 사용하려면 관리자가 ID 소스 2개(Office 365용 1개, SharePoint 그룹용 1개)를 만들고 Google Workspace 고객 ID를 제공해야 합니다. 사용자 ID 매핑을 참고하세요.
  4. SharePoint Online 사이트 모음 관리자 권한이 있는 커넥터의 사용자 계정을 설정합니다.
  5. Group.Read.AllUser.Read.All 권한으로 Azure Active Directory 애플리케이션 사용자 인증 정보를 만듭니다. 애플리케이션 ID, 테넌트, 클라이언트 보안 비밀번호를 기록해 둡니다.

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

  1. 저장소를 복제합니다.
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. 선택한 버전을 확인합니다 (예: v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. 커넥터를 빌드합니다.
    $ mvn package
    테스트를 건너뛰려면 mvn package -DskipTests를 사용하세요.
  4. ZIP 파일을 설치 디렉터리에 압축 해제합니다.

2단계: 구성 파일 만들기

설치 디렉터리에 sharepoint-online-connector.config을 만듭니다. 다음 예와 같이 매개변수를 키-값 쌍으로 추가합니다.

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

자세한 내용은 참조 또는 Google 제공 매개변수를 참고하세요.

3단계: 로깅 설정

다음 콘텐츠로 logs 폴더와 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 ID 커넥터 구성

ID 기반 ACL을 적용하려면 다음 예와 같이 api.customerId 및 기타 연결 매개변수를 사용하여 sharepoint-online-identity-connector.config를 만드세요.

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

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

SharePoint Online ID 기반 ACL을 사용하는 경우 이 단계를 실행합니다. 공개 ACL을 사용하는 경우 이 단계를 건너뛰세요.

  1. Office 365 저장소를 클론합니다.

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. mvn package를 사용하여 커넥터를 체크아웃하고 빌드합니다.

  3. ZIP 파일을 설치 디렉터리에 압축 해제합니다.

6단계: Office 365 ID 커넥터 구성

  1. ID 커넥터 설치와 동일한 디렉터리에서 o365-identity-connector.config라는 파일을 만들고 매개변수를 키-값 쌍으로 추가합니다.

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

    매개변수 설명은 Office 365 ID 커넥터를 참고하세요.

  2. 동일한 디렉터리에 logs라는 폴더를 만듭니다.

  3. 동일한 디렉터리에서 다음 내용으로 logging.properties이라는 파일을 만듭니다.

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

커넥터를 구성한 후 실행하여 동기화 및 색인 생성을 시작합니다. 각 명령어를 자체 터미널 창에서 실행합니다.

  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 -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -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
    

구성 매개변수 참조 정보

다음 섹션에는 SharePoint Online 커넥터를 구성하는 데 사용되는 구성 매개변수가 나와 있습니다.

데이터 소스 액세스

설정 매개변수
데이터 소스 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 Activity Directory 앱)

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

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