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에 2개의 CPU/vCPU 스레드와 최소 2GB의 메모리를 할당하는 것이 좋습니다. 작업이 많이 사용될 것으로 예상되는 경우 메모리 크기를 2GB 이상으로 늘려보세요.

네트워크 요구사항

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

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

  • Looker 인스턴스는 작업 허브와 통신할 수 있어야 합니다.
  • Google 인증은 작업 허브와 통신할 수 있어야 합니다.
  • 내부적으로 연결된 브라우저가 작업 허브에 연결할 수 있어야 합니다.
  • 작업 허브는 Google 드라이브 서버에 연결할 수 있어야 합니다.

필수 종속 항목

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. 승인된 자바스크립트 원본 섹션에서 내부적으로 사용하는 루트 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에서 이를 게시하기 전에 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에서 몇 가지 확인 단계를 거쳐야 합니다.