Looker는 모든 사용자 또는 고객이 데이터에 액세스할 수 있도록 하는 데 탁월합니다. 말하자면 Looker는 '데이터 범용화'를 도와줍니다. 분석가가 수동으로 대시보드를 만들지 않고 사용자가 스스로 쿼리 결과를 볼 수 있도록 권한을 부여할 수 있습니다. Looker를 사용하면 사용자가 자체 분석을 수행할 수도 있습니다. Looker의 서명된 삽입 기능을 사용하는 것이 한 가지 방법입니다. 이 페이지에서는 서명된 삽입, 즉 Looker API 및 Looker의 삽입 소프트웨어 개발 키트(SDK)를 구현하는 두 가지 방법에 대해 설명합니다.
회사 자체 애플리케이션이나 내부 시스템에 쿼리 결과를 통합하고 모든 사용자에게 Looker 사용자 인증 정보를 제공하지 않으려는 경우를 가정해 보겠습니다. 이 작업은 Looker의 서명된 삽입 기능으로 수행할 수 있습니다. 이는 Looker 인스턴스에 통합할 수도 있는 LDAP 또는 SAML과 같은 SSO 워크플로에 대한 일반적인 참조와는 다릅니다.
서명된 삽입의 서명됨은 삽입 URL이 생성되고 브라우저에서 요청이 전송되면 사용자의 Looker 세션이 시작되고 로그인되었음을 나타냅니다. 이러한 URL은 서명되어 있으며 한 번만 사용할 수 있습니다. 이러한 URL은 개발자가 회사의 웹사이트 또는 애플리케이션에 Explore, Look, 대시보드와 같은 콘텐츠를 삽입할 수 있는 iframe을 만듭니다. URL을 사용할 때 사용자에게 기존 계정이 없는 경우 URL에 전달된 매개변수를 기반으로 계정이 생성됩니다.
개발자는 Looker API 또는 Looker API SDK를 활용하여 이러한 iframe을 동적으로 만들 수 있습니다. 회사 또는 특정 사용자 그룹의 요구사항에 맞게 테마를 적용하고 콘텐츠를 맞춤설정할 수 있습니다. Looker를 콘텐츠에 삽입할 수 있는 가능성에 대해 자세히 알아보려면 이러한 개념을 적용하는 방법에 대한 설명이 포함된 전체 데모를 참고하세요.
그럼 어떻게 시작하나요?
이제 사용자가 데모를 본 후 이러한 iframe을 애플리케이션에 추가하는 방법을 알아보고 싶다고 가정해 보겠습니다. 어디서부터 시작해야 하며 사용 사례에 적합한 방법은 무엇인가요?
Looker는 애플리케이션이나 웹사이트 내에 배치할 수 있는 이러한 콘텐츠를 생성하기 위한 몇 가지 기본 옵션을 제공합니다.
- Looker의 다양한 프로그래밍 언어(C#, Python, Node.js, Python, Ruby, PHP)로 작성된 스크립트 예시 저장소
- REST 요청 또는 SDK 중 하나를 통해 액세스할 수 있는 REST API에 포함된
Create Signed Embed Url
엔드포인트 - Looker의 Embed SDK
SDK 및 REST API 모두 개발자가 자주 업데이트하고 일반적으로 스크립트에 비해 짧은 URL을 생성하기 때문에 예시 스크립트와 달리 보통 고객에게 Embed SDK와 REST API 엔드포인트를 권장합니다. (짧은 URL은 관리가 더 용이합니다.) Embed SDK 및 REST API 엔드포인트가 제공하는 몇 가지 유용한 보안 기능도 있으며, 이 페이지의 뒷부분에서 설명합니다.
앱 사용자가 고객 애플리케이션의 데이터 페이지에서 Looker의 대시보드를 볼 수 있기를 원한다고 가정해 보겠습니다. 일반적인 삽입 워크플로는 다음과 같습니다.
- 사용자가 애플리케이션에 로그인합니다. SAML 서비스를 사용하거나 이메일과 비밀번호만 사용하여 앱에 로그인할 수도 있습니다.
- 애플리케이션에서 사용자 인증 정보가 올바른지 확인하고 사용자가 콘텐츠에 성공적으로 액세스할 수 있습니다.
- 로그인 워크플로의 응답에 따라 사용자 정보가 예제 스크립트 중 하나를 사용하여 서명된 삽입 URL을 생성할 수 있는 함수로 전달됩니다. 이러한 스크립트에는 사용자 권한, 그룹 ID, 삽입 보안 비밀, 호스트 URL, 이름과 같은 사용자 속성, 액세스 필터, 세션 길이, 사용자가 액세스하려는 URL이 필요합니다. 이 모든 정보가 Looker로 전송되고 서명된 URL이 생성됩니다.
- 사용자가 애플리케이션의 데이터 페이지로 이동하고 여기에서 서명된 URL은 iframe에 배치되며 다음으로 브라우저가 iframe URL에 대한 요청을 처리합니다. 대시보드는 맞춤설정된 환경으로 전파되며 사용자는 애플리케이션 내의 Looker에서 데이터에 액세스할 수 있습니다.
Create Signed Embed Url
엔드포인트
개발자는 Looker의 REST API나 SDK 중 하나를 사용하여 매개변수 집합을 기반으로 인코딩 및 서명된 URL을 생성할 수 있습니다. POST 요청입니다. API 요청이 발생한 서버가 관리자 권한으로 Looker에 인증할 수 있어야 합니다. 이 엔드포인트를 사용할 때의 주요 이점 중 하나는 이를 사용하기 위해 삽입 보안 비밀이 필요하지 않다는 것입니다. 엔드포인트가 현재 삽입 보안 비밀을 검색하도록 이미 구성되어 있습니다. 이 엔드포인트에 대한 호출도 API 비율 제한에 포함되지 않습니다. 일반적으로 API 사용자 인증 정보는 삽입 보안 비밀에 비해 순환이 더 용이합니다. 여러 API 3 사용자 인증 정보를 동시에 활성화할 수 있지만 하나의 인스턴스에서 삽입 보안 비밀은 한 번에 하나만 사용할 수 있습니다. 이렇게 하면 서비스가 중단되지 않고 사용자 인증 정보를 더 쉽게 교체할 수 있습니다. 또한 Create Signed Embed Url
엔드포인트는 서명된 삽입 URL 스크립트 예시 저장소의 예시 스크립트에 비해 더 짧고 간결한 URL을 생성합니다.
다음은 Create Signed Embed Url
엔드포인트를 사용하는 워크플로의 예시입니다.
- 사용자는 대부분의 경우 사용자 이름과 비밀번호 조합을 사용하거나 ID 공급업체(IdP)를 통해 애플리케이션에 로그인을 시도합니다.
- 애플리케이션에 성공적으로 로그인하면
Create Signed Embed Url
엔드포인트가 실행됩니다. 개발팀에서 만든 함수가 해당 사용자의 특정 사용자 인증 정보를 이 엔드포인트로 전달하고 서명된 URL이 Looker에서 서버로 반환됩니다. - 사용자가 애플리케이션에서 데이터 탭을 클릭할 수 있는 옵션을 가질 수 있습니다. 데이터 탭으로 이동하면 이 페이지는 서버에서 서명된 URL을 요청하고 이를 페이지의 iframe에 배치합니다.
- 사용자는 실시간 데이터가 포함된 애플리케이션에 원활하게 iframe된 Looker의 대시보드를 볼 수 있습니다.
Embed SDK
Looker의 Embed SDK는 개발자가 Looker 콘텐츠를 더 쉽게 삽입할 수 있도록 패키징된 JavaScript 함수 모음입니다. Embed SDK를 사용하면 특정 HTML 요소를 만들지 않고도 Looker 콘텐츠를 애플리케이션 또는 웹사이트의 페이지에 추가할 수 있습니다. 이 SDK를 사용하면 개발자가 HTML 페이지와 Looker 콘텐츠 간에 보안이 적용된 포인트 투 포인트 통신을 만들 수 있습니다. 이제 Embed SDK가 iframe을 캡슐화하므로 고객이 iframe을 만들거나 관리할 필요가 없습니다. Embed SDK는 브라우저 앱 전용이지만 서명된 URL을 생성하는 도우미 유틸리티 함수가 포함되어 있습니다. 둘 다 TypeScript 및 Python에서 사용할 수 있습니다. Embed SDK가 nmpjs 레지스트리에 표시되어 있지만 Node.js 웹 서버를 사용할 필요는 없습니다.
Embed SDK의 고유한 기능 중 하나는 Looker의 디자인 시스템을 구현하는 데 도움이 되도록 만들어진 재사용 가능한 코드 블록 모음인 Looker 구성요소를 활용할 수 있다는 점입니다.
Embed SDK의 또 다른 이점은 개발팀에서 많은 작업을 삭제하는 사전 빌드된 함수의 수입니다. 주요 예시 중 하나는 클릭 취소입니다. Embed SDK는 postMessage
대신 MessageChannel
API를 사용합니다. 즉, postMessage
API를 사용하여 동일한 페이지에서 실행되는 두 스크립트가 서로 통신할 수 있습니다. 이렇게 하면 다른 함수가 iframe과 통신하거나 다른 함수가 iframe과 통신하게 할 수 있습니다.
Embed SDK의 워크플로 예시는 다음과 같습니다.
- 사용자가 애플리케이션에 로그인하려고 시도합니다.
- 로그인에 성공하면 해당 정보는 애플리케이션이 실행되는 서버의
Node.js
도우미 유틸리티로 전송됩니다. 이렇게 하면 필요한 정보가 Looker 인스턴스에 전달되고 서명된 URL이 반환됩니다. - 사용자가 iframe을 배치하기 위해 Embed SDK가 사용되는 애플리케이션의 데이터 페이지로 이동합니다. Embed SDK는 자바스크립트로 작성되므로
LookerEmbedSDK.createDashboardWithId
를 사용하여 페이지에서 특정 DOM 요소(일반적으로 스팬 또는 div)를 대상으로 iframe(서명된 URL)을 추가할 수 있습니다. - 페이지가 로드되고 서명된 URL이 Looker 인스턴스에서 대시보드를 로드합니다.
그렇다면 어떤 방법이 가장 좋을까요?
개발팀에서 사용하는 방법은 특정 사용 사례에 따라 다릅니다.
이전 다이어그램에 표시된 것처럼 앞서 설명한 Create Signed Embed Url
엔드포인트 메서드와 Embed SDK 메서드를 사용하면 개발팀이 Looker가 앱과 통합하는 방식이 아닌 제품에 집중할 수 있습니다. 두 방법 모두 네이티브 애플리케이션에서 풍부한 데이터 환경을 허용합니다.
Create Signed Embed Url
엔드포인트 메서드는 Embed SDK 메서드와 다음과 같은 점에서 다릅니다.
- 삽입 보안 비밀은 필요하지 않습니다.
- 이 프로세스는 다른 REST API를 사용하는 것과 유사합니다.
- 엔드포인트는 서버 측에서 호출해야 합니다.
Embed SDK 메서드에는 다음과 같은 기능이 있습니다.
- JavaScript 기반이며 특정 DOM 요소를 타겟팅할 수 있습니다.
- Looker 구성요소와 상호작용하여 UI 스타일을 지정하는 데 도움을 줍니다.
- 도우미 유틸리티 함수와 통합되며 클라이언트 측에서 개발할 수 있습니다.
개발 또는 아키텍처 요구사항에 대한 구체적인 질문이 있는 경우 Looker의 전문 서비스팀 또는 개발 파트너 중 하나에 문의할 수 있습니다.
또한 Google 지원팀이 높은 수준의 문제나 예기치 못한 동작을 해결하는 데 도움을 줄 수 있습니다. Looker의 고객센터에서 문의하기를 클릭하여 지원 요청을 열 수 있습니다.
추가 리소스에 대한 서명된 삽입 도구 및 문제 해결 리소스 커뮤니티 게시물을 확인하세요.