Looker 삽입 분석을 사용하면 사용자와 고객이 모든 HTML 형식의 웹페이지, 포털, 애플리케이션에서 iframe에 삽입된 데이터를 탐색할 수 있습니다. iframe이 전체 Looker 애플리케이션을 실행하여 쿼리를 표시하는 데 필요한 데이터만 요청합니다. 기본적으로 iframe은 외부 웹사이트 또는 애플리케이션에서 데이터를 읽거나 쓸 수 없습니다.
데이터를 삽입하면 개인 정보 보호 또는 보안 문제가 발생할 수 있습니다. 이러한 문제를 완화하려면 Looker 관리자가 다음 권장사항을 따르는 것이 좋습니다.
- 고객에게 Looker 콘텐츠를 삽입하는 경우 내부 분석에 사용하는 인스턴스와 별도의 Looker 인스턴스에서 고객 콘텐츠를 설정하세요.
- 공개 사용자일 수 있는 삽입된 사용자가 액세스할 수 있어야 하는 Looker 삽입 인스턴스에만 데이터를 연결하세요.
- 공개 삽입 URL 내에서 임의의 토큰이 사용자 인증 정보인 것처럼 보호하고, 사용하지 않을 경우 공개 URL을 사용 중지합니다.
- 할당된
external_user_id
값은 해당 권한, 사용자 속성, 모델 세트마다 고유해야 합니다. 대화형 사용자마다 다른 삽입 세션에서 동일한external_user_id
를 사용하지 않아야 하며 권한, 사용자 속성 값, 모델 액세스 권한이 다른 단일 사용자에게 동일한external_user_id
를 사용하고 있지 않아야 합니다. - 닫힌 시스템을 사용 설정합니다.
- SSO 삽입 보안 비밀이 삽입된 Looker 인스턴스의 관리자 인증 정보인 것처럼 보호하며, SSO 삽입을 사용하지 않는 경우 사용 중지 상태로 유지합니다.
- Looker 삽입 인스턴스 (SSO, SAML, Google OAuth, 2FA)에 강력한 인증을 사용합니다.
Looker는 액세스, 비공개, 싱글 사인온 등 데이터에 액세스하는 사용자에게 필요한 인증 수준에 따라 다양한 유형의 삽입 방법을 제공합니다. 이러한 방법 중 하나를 사용하여 자바스크립트를 사용하여 iframe과 상호작용할 수 있습니다.
공개 삽입
Look의 공개 액세스 옵션을 사용 설정하면 HTML iframe 태그를 사용하여 외부 웹사이트에 시각화 또는 데이터 테이블을 삽입할 수 있습니다. 또한 Look URL을 공개적으로 공유하거나 Google 또는 Excel 스프레드시트 애플리케이션으로 데이터를 가져올 수 있습니다.
iframe
태그 내의 URL과 삽입 URL은 임의의 토큰을 포함하고 추측할 수 없습니다. 그러나 삽입 URL이 있는 사용자는 누구나 데이터에 액세스할 수 있으며 추가 필터링이나 제한사항이 적용되지 않습니다. 공개 URL을 사용 설정하기 전에 특정 Look의 공개 URL을 만들고 공유할 때 보안에 미치는 영향을 고려하는 것이 좋습니다.
공개 URL 및 공개 URL은 만료되지 않으며 취소할 수 없습니다. 공개 URL을 공유하면 실제 데이터가 아닌 쿼리가 공유됩니다.
비공개 임베딩
Look에 대한 공개 액세스를 허용하지 않으려면 iframe에 비공개로 Look을 삽입하거나 탐색 또는 대시보드를 삽입하여 콘텐츠를 보려면 Looker 로그인이 필요합니다.
인증된 사용자는 할당된 Looker 권한에 명시된 콘텐츠에만 액세스할 수 있습니다. Looker에서 권한을 변경하는 경우 삽입 URL은 변경되지 않지만 사용자가 URL에 액세스할 때 사용자에게 표시되는 항목은 변경될 수 있습니다.
사용자가 인증되지 않은 경우 오류 또는 로그인 화면을 iframe에 표시할 수 있습니다. 하지만 iframe에서 로그인 화면을 사용 설정하는 것은 Looker의 동일 출처 보호 기능과 호환되지 않습니다.
비공개 삽입 URL은 만료되지 않으며 취소할 수 없습니다. 그러나 Looker 인스턴스 및 데이터에 액세스할 수 있는 사용자에게만 링크가 작동하므로 링크를 전송해도 보안 문제가 발생하지 않습니다.
싱글 사인온(SSO) 임베딩
이 기능에 대한 라이선스를 업데이트하려면 계정 관리자에게 문의하세요.
싱글 사인온(SSO) 임베딩은 비공개 임베딩을 한 단계 더 발전시킵니다. SSO 삽입에는 사용자가 Looker 사용자 계정을 통해 인증할 필요가 없습니다. 대신 iframe의 URL을 통해 자체 애플리케이션을 통해 인증할 수 있습니다. 인증은 새로운 브라우저 세션을 생성하고 브라우저에 쿠키를 발급합니다.
사용자 권한, 식별자, 속성은 모두 보안 비밀 키로 서명된 URL 내의 매개변수로 전달됩니다. 보안 비밀 키에 대한 액세스 권한이 있는 모든 사용자가 사용자 유형 및 권한에 관계없이 Looker 인스턴스가 연결된 모든 모델에 액세스할 수 있는 URL을 만들 수 있습니다. URL 예시를 참조하여 서명된 URL을 생성하는 방법을 알아보세요.
클릭재킹은 삽입된 코드 또는 스크립트가 사용자의 인지나 동의 없이 함수(예: 다른 작업을 수행하는 것처럼 보이는 버튼)를 실행할 때 발생할 수 있는 브라우저 보안 문제입니다. 클릭재킹에는 일반적으로 정적 URL이 필요합니다. SSO 삽입을 위해 생성된 URL은 보안 비밀이므로 삽입을 보는 사용자에게만 보안 비밀이 있어야 합니다. SSO 삽입을 사용해도 외부 웹사이트에 대한 클릭재킹 위험이 증가하지 않습니다.
SSO 삽입 매개변수
iframe URL에 포함된 매개변수는 사용자에게 삽입된 상태로 표시되지만 수정할 수 없습니다. 그 사실 관계에는 다음이 포함될 수 있습니다.
user_attributes
: 데이터를 추가로 필터링하는 데 사용됩니다.user_attributes
는 강력하므로 Looker 인스턴스에 어떻게 적용할 수 있을지 고려하세요.session_length
: 필요한 최소 시간으로 유지합니다.
user_attributes
와 같은 일부 매개변수는 UI에서 숨길 수 있지만 여전히 삽입 URL에서 인코딩됩니다. 예를 들어 비밀번호가 사용자의 user_attribute
내에 있는 값인 경우 바람직하지 않을 수 있습니다. 이 문제를 해결하는 방법 중 하나는 임시 그룹을 구성하고 비밀번호를 그룹 수준 속성으로 설정한 후 삽입 URL에 그룹 ID를 전달하는 것입니다. 중단된 세션 수를 초과하지 않도록 삽입 세션 후 그룹을 삭제할 수 있습니다.
URL의 서명된 부분에는 타임스탬프가 포함되어 있습니다. URL이 로그인에 사용되면 그 시간은 현재 시간으로부터 +/- 5분이어야 합니다. session_length
에서 URL이 로그인에 사용될 때 퍼갈 수 있는 세션 시간을 지정할 수 있습니다.
SSO 삽입 액세스 관리
삽입된 콘텐츠의 URL을 작성하는 경우:
- 필요한 가장 낮은 수준의 권한을 사용하세요.
- 사용자가 액세스할 수 있어야 하는 특정 모델에만 액세스 권한을 할당합니다.
group_ids
를 사용하여 사용자를 그룹에 할당하고 삽입 사용자가 Looker 폴더에 대한 액세스를 제어하도록 허용합니다.
Looker API
Looker API를 사용하면 프록시 애플리케이션 또는 역방향 프록시 서버를 통해 삽입된 콘텐츠에 액세스할 수 있습니다. 이 시나리오에서는 인증이 API3 키를 통해 수행됩니다. API 키는 특정 사용자와 연결되며 키를 생성하는 사용자와 같은 권한을 갖습니다. API3 키는 클라이언트 ID와 클라이언트 보안 키로 구성됩니다.
API를 통한 삽입 액세스 관리
Looker API를 사용하여 삽입된 콘텐츠에 액세스할 수 있도록 설정할 때는 다음을 권장합니다.
- 필요한 최소 권한 집합으로 프로그래매틱 API 액세스를 위한 전용 서비스 계정을 만듭니다.
- SDK로 인증한 경우 API3 키를 구성하는 클라이언트 ID 및 클라이언트 보안 비밀번호 보호
API를 통해 삽입 사용자에 설정되었지만 SSO URL에 지정되지 않은 모든 사용자 속성은 다음에 SSO URL에 액세스할 때 기본값으로 재설정됩니다.
삽입된 자바스크립트 이벤트
삽입 iframe을 공개, 비공개, SSO를 통해 또는 API를 통해 설정한 후에는 자바스크립트를 통해 iframe과 상호작용할 수 있습니다. 작업 중인 정보가 실제로 Looker의 iframe에서 가져온 것인지 확인하려면 자바스크립트 이벤트를 수신 대기하세요.
허용 목록에 도메인을 추가할 때 특정 하위 도메인만 자바스크립트 이벤트에 액세스하도록 와일드 카드를 사용합니다.
자바스크립트 eval
함수를 사용하는 경우 eval
인수의 문자열 값이 Looker 서버 또는 CDN과 같이 신뢰할 수 있는 소스에서 제공되며 HTTPS 전송 아래에 있어야 합니다.
Looker CDN을 거치는 고객 데이터는 없습니다. 자바스크립트 코드, HTML 페이지, CSS 스타일과 같은 Looker 웹 애플리케이션 정적 애셋만 CDN에서 제공됩니다.
고객 호스팅 배포
자체 Looker 인스턴스를 호스팅하는 것은 데이터, 특히 삽입된 콘텐츠에 대한 액세스를 잠그는 안전한 방법처럼 보일 수 있습니다. 하지만 사용자가 인터넷을 통해 삽입 URL에 액세스해야 한다면 Looker를 직접 호스팅할 때의 특별한 이점은 없습니다.
다음과 같은 경우 고객이 호스팅하는 배포가 가장 적합할 수 있습니다.
- 사용자가 인터넷을 통해 Looker에 액세스할 필요는 없습니다.
- 프런트엔드 Looker이며 API를 통해 삽입된 콘텐츠에 액세스합니다.