OAuth 및 스트리밍을 사용하는 작업을 위한 로컬 작업 허브 설정

고객 호스팅 Looker 인스턴스가 Looker에서 호스팅하는 작업 허브와 통신할 수 없는 경우 Looker 관리자는 스트리밍 결과를 지원하거나 OAuth를 사용하는 작업을 사용 설정하지 못할 수 있습니다. 또한 Looker 사용자는 스트리밍된 결과를 지원하는 작업으로 데이터를 전송 또는 예약할 때 쿼리가 중단되어 OAuth 작업을 구성하지 못할 수도 있습니다.

Looker 통합을 사용하려면 Looker 작업 허브와 Looker 인스턴스가 서로 통신할 수 있어야 합니다. 인스턴스 아키텍처에 적합한 솔루션에 관심이 있는 고객 호스팅 인스턴스 관리자는 작업 허브를 통한 데이터 공유 문서 페이지의 고객 호스팅 인스턴스 고려사항 섹션에 설명된 권장사항을 참고하는 것이 좋습니다.

인스턴스가 이 루트 인증서 목록에 없는 인증 기관(CA)에서 발급한 SSL 인증서를 사용하는 경우 고객이 호스팅하는 Looker 인스턴스에서 OAuth 및 스트리밍 작업을 사용하지 못할 수도 있습니다.

스트리밍된 결과나 OAuth를 지원하도록 구성된 작업을 보려면 관리 설정 - 작업 문서 페이지의 Looker 통합 서비스 목록을 참조하세요.

이 페이지에서는 스트리밍된 결과를 지원하거나 Google OAuth를 사용하는 Looker 작업을 사용하기 위해 로컬 작업 허브 서버를 가동하는 방법을 설명합니다. Looker 작업 허브 저장소 코드의 클론된 사본을 호스팅하는 컨테이너 또는 가상 머신(VM)을 만들어 자체 로컬 작업 허브 서버를 설정한 후 다음 섹션에 더 자세히 설명된 단계에 따라 이 단계를 수행할 수 있습니다.

  1. 작업 허브 서버의 컨테이너 또는 가상 머신(VM) 설정 만들기
  2. Google OAuth 사용자 인증 정보 구성
  3. Google OAuth 동의 화면 구성
  4. 환경 변수 설정
  5. API 키 생성
  6. 새 작업 허브 시작
  7. Looker 인스턴스에 새 작업 허브 추가

작업 허브 서버의 컨테이너 또는 가상 머신(VM) 설정 만들기

VM 또는 컨테이너는 다음 할당과 네트워크 요구사항 및 종속 항목을 충족해야 합니다.

Looker는 이 컨테이너나 VM에 CPU/vCPU 스레드 2개와 최소 2GB 이상의 메모리 할당을 권장합니다. 작업 사용량이 높을 것으로 예상되면 메모리를 2GB 이상 늘리는 것이 좋습니다.

네트워크 요구사항

작업 허브에는 고정 IP 주소 또는 내부 DNS(도메인 이름 시스템)를 통해 확인할 수 있는 주소가 있어야 합니다.

네트워크에서 다음 통신 요구사항을 지원해야 합니다.

  • Looker 인스턴스에서 작업 허브와 통신할 수 있어야 합니다.
  • Google 인증에서 작업 허브와 통신할 수 있어야 합니다.
  • 내부에 연결된 브라우저가 작업 허브에 연결될 수 있어야 합니다.
  • 작업 허브가 Google Drive 서버에 연결될 수 있어야 합니다.

필수 종속 항목

Looker 작업 저장소를 새로 만든 VM 또는 컨테이너에 클론할 때 다음을 수행합니다.

  • Node 12.13이 설치되어 있는지 확인합니다.
  • yarn install을 실행하여 필요한 패키지를 설치합니다.

환경을 설정했으면 Google Cloud API 콘솔에서 작업 허브 서버의 Google OAuth 사용자 인증 정보를 만들어야 합니다.

Google OAuth 사용자 인증 정보 구성

작업에 Google OAuth 사용자 인증 정보를 구성하려면 다음을 수행해야 합니다.

Google OAuth 사용자 인증 정보 만들기

Google OAuth 클라이언트 ID 및 클라이언트 보안 비밀번호를 만들려면 다음 안내를 따르세요.

  1. Google Cloud 리소스 관리 페이지로 이동하여 프로젝트 만들기를 클릭해 새 프로젝트를 만듭니다.

    프로젝트 만들기에 대한 자세한 내용은 프로젝트 만들기 및 관리 가이드를 참조하세요.

  2. 새 프로젝트가 생성되면 새 프로젝트를 선택합니다.
  3. 콘솔 왼쪽 사이드바에서 API 및 서비스 > 사용자 인증 정보 페이지로 이동합니다.
  4. 사용자 인증 정보 만들기를 클릭합니다.
  5. 드롭다운에서 OAuth 클라이언트 ID를 클릭합니다.
  6. OAuth 동의 화면을 구성해야 할 수도 있습니다. 이 경우 이 페이지 후반부의 OAuth 동의 화면 구성 섹션의 안내를 따른 후 7단계를 진행합니다.
  7. 애플리케이션 유형으로 웹 애플리케이션을 선택합니다.
  8. 이름 필드에 애플리케이션 이름을 입력합니다.
  9. 승인된 JavaScript 원본 섹션에 내부적으로 사용하는 루트 Looker 애플리케이션 주소를 추가합니다.
  10. ACTION_HUB_BASE_URL이 작업 허브의 주소인 Google Drive 및 Google Sheets 콘솔에 승인된 리디렉션 URI를 설정합니다.
                https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect
                https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
            
  11. 만들기 버튼을 클릭하여 OAuth 클라이언트 ID와 OAuth 클라이언트 보안 비밀번호를 생성합니다. 나중에 둘 다 필요합니다.

Google API 콘솔의 이 페이지에서 프로젝트의 모든 애플리케이션에 대한 동의 화면을 구성할 수 있습니다. 이를 통해 사용자는 데이터에 대한 액세스 권한을 부여하고 법률 문서나 개인 정보 보호 문서에 대한 링크를 제공할 수 있습니다. 이 단계를 이미 완료했거나 동의 화면을 구성할 필요가 없으면 이 페이지의 뒷부분에서 환경 변수 설정에 설명된 대로 터미널 창으로 돌아가 환경 변수를 설정하세요.

동의 화면을 구성하려면 다음 안내를 따르세요.

  1. 동의 화면 구성을 클릭합니다.
  2. 내부 또는 외부 애플리케이션인지 선택하고 만들기를 클릭합니다.
  3. 앱 이름 필드에 애플리케이션 이름을 입력합니다.
  4. 사용자 지원 이메일에 사용자 지원을 위해 OAuth 동의 화면에 표시할 이메일 주소를 입력합니다.
  5. 원하는 경우 앱 로고OAuth 동의 화면에서 사용할 이미지 파일을 업로드합니다.
  6. 원하는 경우 작업 허브와 동일한 루트 도메인에서 호스팅되어야 하는 애플리케이션 홈페이지 링크를 입력합니다.
  7. 원하는 경우 애플리케이션 개인정보처리방침 링크 필드에 애플리케이션 개인정보처리방침 링크를 입력합니다. 링크는 작업 허브와 동일한 루트 도메인에서 호스팅되어야 합니다.
  8. 원하는 경우 애플리케이션 서비스 약관 링크 필드에 애플리케이션 서비스 약관 링크를 입력합니다. 링크는 작업 허브와 동일한 루트 도메인에서 호스팅되어야 합니다.
  9. 승인된 도메인 섹션에서 도메인 추가를 클릭하고 작업 허브에서 사용하고 있는 루트 도메인을 입력합니다.
  10. 개발자 연락처 정보 필드에 Google에서 연락할 수 있는 이메일을 입력합니다.
  11. 저장 후 계속을 클릭합니다.
  12. 범위 섹션에서 애플리케이션에서 액세스해야 하는 사용자 데이터 유형을 추가합니다. 여기에는 이메일, 프로필, OpenID, https://mail.google.com이 포함됩니다. 이 목록에는 민감한 사용자 정보가 포함되어 있으므로 Google에서 OAuth 동의 화면을 확인한 후에 이 목록을 게시할 수 있습니다.
  13. 저장 후 계속을 클릭합니다.
  14. 원하는 경우 테스트 사용자 섹션에서 확인 전에 작업 허브에 액세스하려는 사용자를 추가합니다.
  15. 저장 후 계속을 클릭합니다.
  16. 대시보드로 돌아가기를 클릭합니다.
  17. 왼쪽 사이드바에서 사용자 인증 정보를 클릭하여 OAuth 사용자 인증 정보 구성으로 돌아갑니다.

OAuth 동의 화면을 구성한 후 Google OAuth 사용자 인증 정보를 구성하는 중이었으면 해당 절차의 7단계로 돌아가 사용자 인증 정보 구성을 완료합니다. 그렇지 않으면 터미널 창으로 돌아가서 환경 변수를 설정하면 됩니다.

환경 변수 설정

VM 또는 컨테이너 환경에서 다음 환경 변수를 설정합니다.

    ACTION_HUB_LABEL=<your action hub label name>
        ACTION_HUB_SECRET=<some secret>
        ACTION_HUB_BASE_URL=<your action hub base address>
            # For example https://actions.company.com
            # DO NOT INCLUDE A TRAILING SLASH
        GOOGLE_SHEET_CLIENT_ID=<OAuth client ID>
        GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret>
        GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID>
        GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>

Google Drive와 Google Sheets 모두에 같은 OAuth client IDOAuth client secret을 사용할 수 있어야 합니다. 하지만 두 가지 Google API 토큰 세트를 모두 설정하는 것이 가장 좋습니다.

암호화 키도 설정합니다.

    CIPHER_MASTER="<hex aes-256 key>"

이 키는 장기 암호화에 사용되지 않습니다. OAuth 흐름 중에 state를 암호화하는 데만 사용됩니다. 다음은 16진수 aes-256 키의 예시입니다.

    C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9

API 키 생성

API 키를 가져오려면 다음 명령어를 실행합니다.

y arn generate-api-key

나중에 설정에서 사용할 수 있도록 생성된 키를 보관합니다. 이 키는 ACTION_HUB_SECRET을 기반으로 생성됩니다.

로컬 작업 허브 서버 시작

작업 허브를 시작하려면 다음 명령어를 실행합니다.

yarn start

Looker 인스턴스에 작업 허브 추가

Looker 인스턴스에 작업 허브를 추가하려면 다음 안내를 따르세요.

  1. Looker에서 관리 패널의 플랫폼에서 작업 페이지로 이동합니다.
  2. 페이지 맨 아래로 스크롤하여 작업 허브 추가 버튼을 클릭합니다.
  3. ACTION_HUB_BASE_URL을 입력하고 작업 허브 추가를 클릭합니다. 작업 허브가 이름과 ACTION_HUB_BASE_URL이 포함된 새 제목 아래에 표시됩니다. Google Drive 및 Google Sheets 작업이 이 제목 아래에 표시됩니다.
  4. 연결이 실패하면 이전에 생성한 api-key승인 토큰 필드에 입력하고 작업 허브 제목 상단에 있는 새로고침 링크를 클릭합니다.
  5. Google Drive 및 Google Sheets 작업을 사용 설정하고 작업 허브에서 올바르게 구성되었는지 확인합니다.

다음 단계

다음 단계는 Google API 콘솔에서 만든 애플리케이션을 게시하는 것입니다. 게시하려면 OAuth 동의 화면 페이지로 이동하여 제출하여 확인받기 버튼을 클릭합니다. 애플리케이션 게시 절차에 다소 시간이 걸릴 수 있으며 Google에서 몇 가지 확인 단계를 진행해야 합니다.