싱글 사인온 (SSO) 삽입

이 기능을 사용하려면 Looker 계정 관리자에게 문의하세요.

싱글 사인온 (SSO) 삽입은 사용자에게 별도의 Looker 로그인이 필요 없는 비공개 삽입된 Look, 시각화, 탐색, 대시보드 또는 LookML 대시보드를 제공하는 방법입니다. 대신 사용자가 자체 애플리케이션을 통해 인증됩니다.

SSO 삽입은 iframe에서 사용할 특수한 Looker URL을 만드는 방식으로 작동합니다. URL에는 공유하려는 정보, 시스템의 사용자 ID, 해당 사용자에게 부여하려는 권한이 포함됩니다. 그런 다음 Looker에서 제공하는 보안 비밀 키를 사용하여 URL에 서명합니다.

공개 삽입의 경우 Look의 공개 공유, 가져오기, 삽입 문서 페이지의 iframe 태그가 있는 공개 삽입 섹션을 참고하세요.

SSO 삽입을 위한 적절한 호스팅

일부 브라우저(예: Safari)나 광고나 추적 차단 확장 프로그램이 설치된 브라우저는 기본적으로 서드 파티 쿠키를 차단하는 쿠키 정책을 사용합니다. Looker는 사용자 인증을 위해 쿠키를 사용하므로 이러한 브라우저에서는 삽입된 쿠키 인증을 시도할 수 없습니다 (사용자가 브라우저의 쿠키 개인정보 보호 설정을 수정하지 않는 한). 예를 들어 https://mycompany.com에 정보를 삽입하려면 Looker가 동일한 도메인(예: https://analytics.mycompany.com)을 공유해야 합니다.

Looker가 인스턴스를 호스팅하는 경우 Looker 지원팀에 문의하여 커스텀 도메인 사용을 지원하는 데 필요한 DNS 구성을 설정합니다. 이를 통해 Looker가 삽입 애플리케이션과 동일한 도메인을 공유하고 기본적으로 모든 브라우저에서 허용되는 퍼스트 파티 쿠키를 활용할 수 있습니다. Looker의 고객센터에서 문의하기를 클릭하여 지원 요청을 엽니다.

고객이 호스팅하는 Looker 인스턴스가 있는 경우 SSO 삽입을 사용할 애플리케이션이 Looker 인스턴스와 동일한 도메인을 사용하는지 확인합니다.

닫힌 시스템으로 클라이언트 공개 상태 제어

SSO 삽입 구성에서는 Looker 사용자가 서로에 대해 알지 못한 다른 회사 또는 그룹의 클라이언트가 있는 고객에게 자신의 데이터를 표시하는 것이 일반적입니다. 이 시나리오에서는 고객의 개인 정보를 보호하기 위해 Looker를 멀티 테넌트 설치라고도 하는 닫힌 시스템으로 구성하는 것이 좋습니다. 비공개 시스템의 경우 여러 그룹의 사용자가 서로를 알지 못하도록 콘텐츠가 고립되어 있습니다. 따라서 외부 사용자에게 인스턴스에 대한 액세스 권한을 부여하기 전에 닫힌 시스템 옵션을 사용 설정하는 것이 좋습니다.

자세한 내용은 액세스 수준 시스템 설계 및 구성삽입된 분석을 위한 보안 권장사항 문서 페이지를 참고하세요.

Looker 비밀 키 생성 중

SSO 임베딩 요청이 합법적인지, 다른 사람이 위조하지 않았는지 확인하려면 먼저 '삽입 보안 비밀'을 생성해야 합니다. 방법은 다음과 같습니다.

  1. Looker의 관리 섹션에 있는 삽입 페이지로 이동합니다.
  2. SSO 인증 삽입 드롭다운에서 사용 설정됨을 선택하고 업데이트를 클릭합니다.
  3. 보안 비밀 재설정 버튼을 클릭하여 삽입 보안 비밀을 생성합니다. 보안 비밀은 재설정하지 않으면 Looker에서 다시 검색할 수 없으므로 안전한 위치에 복사해야 합니다. 키를 재설정하면 이전 키를 사용한 모든 삽입이 중단됩니다.

보안 비밀 키에 액세스할 수 있는 사용자는 누구나 사용자 권한으로, Looker 인스턴스가 연결된 모든 모델에 액세스할 수 있는 URL을 만들 수 있습니다. 삽입된 Looker 인스턴스의 관리자 인증 정보를 사용할 때와 마찬가지로 SSO 삽입 비밀번호를 보호하고 사용하지 않는 경우에는 SSO 삽입을 사용 중지 상태로 유지합니다.

삽입 URL 빌드

적절한 URL을 빌드하려면 보안 비밀 키를 사용하여 URL을 적절히 인코딩하고 다른 보안 관련 항목을 생성할 수 있도록 코드를 작성해야 합니다. SSO 예시 GitHub 저장소에서 몇 가지 샘플 스크립트를 찾을 수 있습니다. 다음 섹션에서는 이러한 스크립트에 제공해야 하는 정보를 설명합니다.

필요한 Looker 정보 수집

URL을 작성하기 위한 시작점으로, 포함해야 할 모든 정보를 먼저 결정해야 합니다. 필요한 사항은 다음과 같습니다.

URL 삽입

삽입하려는 Look, Explore, 쿼리 시각화 또는 대시보드의 URL을 검색합니다. 그런 다음 도메인을 삭제하고 경로 앞에 /embed를 다음과 같이 배치합니다.

항목 일반 URL 패턴 URL 삽입
Look https://instance_name.looker.com/
looks/4
/embed/looks/4
탐색 https://instance_name.looker.com/
explore/my_model/my_explore
/embed/explore/my_model/my_explore
쿼리 시각화 https://instance_name.looker.com/
explore/my_model/my_explore?qid=1234567890abcdefghij12

탐색 URL에서 qid= 매개변수 다음에 오는 22자의 영숫자 문자는 Query.client_id으로 구성됩니다. Query.client_id 값은 쿼리와 시각화 설정을 나타내는 고유 문자열입니다.

쿼리 시각화를 삽입하려면 쿼리 시각화 Query.client_id 값을 가져와 Query.client_id를 삽입 URL에 복사합니다.

예를 들어 지원되는 시각화로 Looker 탐색 UI를 사용하여 Query.client_id 매개변수를 복사하거나 Get Query 메서드를 사용하여 Looker API로 Query.client_id를 검색할 수 있습니다.
/embed/query-visualization/Query.client_id
사용자 정의 대시보드 https://instance_name.looker.com/
dashboards/1
/embed/dashboards/1
사용자 정의 기존
대시보드
https://instance_name.looker.com/
dashboards-legacy/1
/embed/dashboards-legacy/1
LookML 대시보드 https://instance_name.looker.com/
dashboards/my_model::my_dashboard
/embed/dashboards/my_model::my_dashboard
기존 LookML
대시보드
https://instance_name.looker.com/
dashboards-legacy/my_model::my_dashboard
/embed/dashboards-legacy/my_model::my_dashboard

삽입된 콘텐츠는 항상 콘텐츠의 프로덕션 버전을 반영합니다. 개발 모드에서 콘텐츠에 영향을 미치고 프로덕션에 배포되지 않은 변경사항은 삽입에 표시되지 않습니다.

권한

권한 집합은 사용자 또는 그룹이 할 수 있는 작업을 정의합니다. 권한은 다음 두 가지 방법 중 하나로 적용될 수 있습니다.

  • 특정 모델: 이 유형의 권한은 동일한 역할의 일부인 모델 세트에만 적용됩니다.
  • 인스턴스 전체: 이 유형의 권한은 Looker 인스턴스 전체에 적용됩니다. 인스턴스 전체 권한이 있는 임베딩 사용자는 전체 Looker 인스턴스에서 특정 기능을 수행할 수 있지만 역할 역할에 포함되지 않은 모델을 기반으로 콘텐츠에 액세스할 수 없습니다.

사용자에게 부여할 권한을 결정합니다. 다음 목록은 SSO 삽입에 사용할 수 있는 모든 권한을 보여줍니다. 다음 목록에 없는 권한은 SSO 삽입에서 지원되지 않습니다.

권한 종속됨 유형 정의
access_data 없음 모델별 사용자가 데이터에 액세스하도록 허용합니다 (보기, 대시보드 또는 탐색 분석에 필요).
see_lookml_dashboards access_data 모델별 사용자에게 LookML 대시보드 표시하기
see_looks access_data 모델별 사용자가 Look을 보도록 허용
see_user_dashboards see_looks 모델별 사용자 정의 대시보드를 보고 삽입에서 폴더를 찾아볼 수 있습니다.
explore see_looks 모델별 사용자가 탐색 페이지를 보도록 허용
create_table_calculations explore 인스턴스 전체 탐색 분석에서 표 계산을 만드는 데 필요
create_custom_fields explore 인스턴스 전체 ADDED 22.4 탐색에서 맞춤 필드를 만드는 데 필요합니다.
can_create_forecast explore 인스턴스 전체 ADDED 22.12 사용자가 시각화에서 예측을 만들거나 수정할 수 있습니다.
save_content see_looks 인스턴스 전체 사용자가 디자인과 대시보드를 변경하고 저장할 수 있도록 합니다.
send_outgoing_webhook see_looks 모델별 사용자가 대시보드를 예약하도록 허용하고 임의의 웹훅을 살펴봅니다.
send_to_s3 see_looks 모델별 사용자가 대시보드를 예약하고 Amazon S3 버킷을 조회할 수 있도록 합니다.
send_to_sftp see_looks 모델별 사용자가 대시보드를 예약하고 SFTP 서버를 조회할 수 있습니다.
schedule_look_emails see_looks 모델별 사용자의 대시보드(Looks)와 Looks를 자체 이메일(사용자 속성("email" 으로 설정)) 또는 이메일 도메인 허용 목록에서 설정한 제한사항 내에 있는 이메일 주소로 전송하도록 허용합니다. create_alerts 권한이 있는 사용자가 이메일 도메인 허용 목록에서 설정한 제한사항 내에 있는 이메일 주소로 알림을 보낼 수 있습니다.
schedule_external_look_emails schedule_look_
emails
모델별 사용자가 대시보드와 일정을 예약할 수 있도록 허용하고 모든 이메일로 전송합니다. create_alerts 권한이 있는 사용자가 모든 이메일 도메인에 알림을 보내도록 허용합니다.
send_to_
integration
see_looks 모델별 사용자가 Looker Action Hub를 통해 Looker와 통합된 타사 서비스Looker 콘텐츠를 제공하도록 허용합니다. 이 권한은 데이터 작업과 관련이 없습니다.
create_alerts see_looks 인스턴스 전체 지정된 조건을 충족하거나 초과하면 사용자가 알림을 받을 수 있도록 대시보드 타일에 알림을 만들 수 있습니다. 사용자는 자신의 알림 및 다른 사용자의 공개 알림을 수정, 복제, 삭제할 수 있습니다. 사용자의 Slack 작업공간이 Looker 인스턴스에 연결되어 있지 않은 경우 사용자는 Slack에 알림을 전송하는 알림을 만들 수 없습니다.
download_with_limit see_looks 인스턴스 전체 한도가 적용된 쿼리 결과를 다운로드할 수 있습니다.
download_without_limit see_looks 인스턴스 전체 사용자가 제한이 없는 쿼리 결과를 다운로드할 수 있습니다.
see_sql see_looks 모델별 사용자가 쿼리의 SQL 및 쿼리 실행으로 인한 모든 SQL 오류를 확인할 수 있습니다.
clear_cache_refresh access_data 모델별 21.14 추가됨 사용자는 캐시를 삭제하고 삽입된 대시보드, 기존 대시보드, 대시보드 타일, 스타일, 탐색을 새로고침할 수 있습니다.
see_drill_overlay access_data 모델별 사용자가 전체 탐색 페이지로 이동하지 않고도 드릴다운할 수 있습니다.
embed_browse_spaces 없음 인스턴스 전체 사용자가 삽입에서 폴더를 탐색할 수 있도록 콘텐츠 브라우저를 사용 설정합니다. embed_browse_spaces 권한을 부여받은 삽입 사용자는 개인 삽입 폴더와 조직의 공유 폴더(있는 경우)에 액세스할 수 있습니다.

사용자가 콘텐츠를 저장할 위치를 선택할 때 폴더를 탐색할 수 있도록 save_content 권한이 있는 사용자에게 embed_browse_spaces 권한을 사용하는 것이 좋습니다.

폴더에 있는 콘텐츠를 보려면 사용자에게 see_looks, see_user_dashboards, see_lookml_dashboards 권한도 있어야 합니다.
embed_save../_shared_space 없음 인스턴스 전체 추가된 21.4 save_content 권한도 있는 사용자가 저장 대화상자 내에서 조직의 공유 폴더가 있으면 이동할 수 있습니다. save_content 권한은 있지만 embed_save_shared_space 권한은 없는 사용자는 콘텐츠를 개인 삽입 폴더에 저장하는 옵션만 사용할 수 있습니다.

embed_save_shared_space 권한이 콘텐츠 액세스 권한을 재정의하지는 않습니다. 예를 들어 사용자가 공유 폴더에 저장할 수 있으려면 여전히 공유 폴더에 대한 액세스 관리, 수정 액세스 권한이 필요합니다. 또한 embed_save_shared_space 권한이 없어도 save_content 권한과 액세스 관리, 수정 액세스 권한이 있는 사용자는 삽입된 대시보드에서 여기에서 탐색 옵션을 사용하는 등 공유 폴더로 이동하는 다른 방법이 있는 경우 콘텐츠를 저장할 수 없습니다.

모델 액세스

사용자가 액세스해야 하는 LookML 모델을 결정합니다. 모델 이름 목록일 뿐입니다.

사용자 속성

사용자에게 필요한 사용자 속성(있는 경우)을 결정합니다. Looker의 사용자 속성 이름과 해당 속성에 대해 사용자가 가져야 하는 값이 필요합니다.

그룹

사용자가 속한 그룹을 결정합니다(있는 경우). 그룹 이름이 아닌 그룹 ID가 필요합니다. SSO 삽입 사용자를 Looker 그룹에 추가하면 해당 사용자의 Looker 폴더에 대한 액세스 권한을 관리할 수 있습니다. SSO 삽입 사용자는 Looker 그룹의 구성원과 공유한 폴더에 액세스할 수 있습니다.

external_group_id 매개변수를 사용하여 일반 Looker 그룹 외부에 있는 그룹을 만들 수도 있습니다. 이 경우 동일한 external_group_id을 사용하는 SSO 삽입 사용자는 외부 그룹마다 고유한 'Group'이라는 공유 폴더에 액세스할 수 있습니다.

삽입된 역할

permissionsmodels 매개변수는 삽입된 사용자의 역할을 만듭니다. 이 역할은 Looker 관리 섹션의 사용자 페이지에 '삽입된 역할'로 표시됩니다. permissions, models, group_ids 매개변수가 모두 삽입 URL에 지정된 경우 삽입된 역할은 group_ids 매개변수에 나열된 그룹에 이미 할당된 역할에 추가됩니다. 이는 Looker의 모든 역할이 합산된다는 점에서 표준 역할과 동일합니다.

예를 들어 Looker에 그룹 ID가 1인 기존 그룹이 있고, 이 그룹에 model_one이라는 모델의 explore 권한이 이미 있고 다음과 같은 매개변수로 삽입 URL을 만든다고 가정해 보겠습니다.

  • group_ids = [1]
  • permissions = ["access_data","see_looks"]
  • models = ["model_two"]

이 경우 삽입 사용자는 model_one에서 데이터를 보고 탐색할 수 있는 기능을 상속받으며 이전 매개변수로 만든 삽입 역할도 model_two에서 데이터를 볼 수 있는 권한을 부여합니다.

삽입 URL 만들기

SSO 삽입 URL의 형식은 다음과 같습니다.

https://HOST/login/embed/임베드 URL?PARAMETERS&signature=SIGNATURE

호스트

호스트는 Looker 인스턴스가 호스팅되는 위치입니다. 예를 들면 analytics.mycompany.com입니다. 포트 전달을 사용 설정하지 않은 경우(예: analytics.mycompany.com:9999) 포트 번호를 포함해야 합니다.

URL 삽입

삽입 URL은 이전에 확인되었습니다. 형식은 다음과 같습니다.

  • /embed/looks/4
  • /embed/explore/my_model/my_explore
  • /embed/query-visualization/Query.client_id
  • /embed/dashboards/1 또는 /embed/dashboards-legacy/1
  • /embed/dashboards/my_model::my_dashboard 또는 /embed/dashboards-legacy/my_model::my_dashboard

이는 /embed//embed/ 패턴이 최종 URL에 표시된다는 의미입니다.

삽입된 자바스크립트 이벤트를 사용하는 경우 다음과 같이 embed_domain(iframe을 사용하는 도메인)를 삽입 URL의 끝에 추가해야 합니다.

/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com

embed_domain는 삽입 URL 뒤와 매개변수 앞에 추가됩니다. 따라서 nonce=626와 같은 기존 매개변수가 있는 경우 embed_domain를 추가하면 다음과 같습니다.

/embed/looks/4?nonce=626
/embed/looks/4?embed_domain=https://mywebsite.com?nonce=626

Embed SDK를 사용하는 경우 embed_domain를 추가하고 다음과 같이 sdk=2의 삽입 URL 끝에도 포함해야 합니다.

/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2

sdk=2 매개변수를 사용하면 Looker에서 SDK가 있음을 식별하고 SDK에서 제공하는 추가 기능을 활용할 수 있습니다. 이 매개변수는 서명된 SSO URL의 일부이므로 매개변수 자체를 추가할 수 없습니다.

매개변수

다음 URL 매개변수는 SSO 삽입에 필요한 정보를 지정하는 데 사용됩니다.

매개변수 값이 필요한가요? 설명 데이터 유형
nonce 원하는 임의의 문자열이지만 1시간 이내에 반복할 수 없으며 255자(영문 기준) 미만이어야 합니다.

이렇게 하면 공격자가 합법적인 정보를 다시 제출하지 못하게 할 수 있습니다.
JSON 문자열 "22b1ee700ef3dc2f500fb7"
time UNIX 타임스탬프로 표시되는 현재 시간입니다. 정수 1407876784
session_length 사용자가 Looker에 로그인한 상태를 0~2,592,000초(30일)로 유지한 시간(초)입니다. 정수 86400
external_user_id Looker를 삽입하는 애플리케이션의 각 사용자 식별자 Looker에서 external_user_id을(를) 사용하여 SSO 삽입 사용자를 구분하므로 각 사용자는 할당된 고유 ID를 가져야 합니다.

사용자의 고유한 문자열만 있으면 원하는 문자열을 사용하여 사용자의 external_user_id을 만들 수 있습니다. 각 ID는 권한, 사용자 속성, 모델과 연결됩니다. 단일 브라우저는 한 번에 하나의 external_user_id 또는 사용자 세션만 지원할 수 있습니다. 세션 중에 사용자의 권한 또는 사용자 속성을 변경할 수 없습니다.

보안을 위해 여러 대화형 사용자별로 서로 다른 삽입 세션에서 동일한 external_user_id를 사용하지 않도록 하고, 단일 권한(사용자 속성 값 또는 모델 액세스)이 있는 단일 사용자에게 동일한 external_user_id를 사용하지 않도록 합니다.

동일한 사용자 또는 여러 사용자가 같은 권한을 사용하면 사용자 속성이나 데이터에 액세스 권한이 부여될 수 있습니다.
JSON 문자열 "user-4"
permissions 사용자에게 부여되어야 하는 권한 목록입니다.

허용된 권한 목록은 이 페이지의 권한 섹션을 참고하세요.
문자열 배열 [
  "access_data",
  "see_looks"
]
models 사용자가 액세스할 수 있는 모델 이름 목록 문자열 배열 [
  "model_one",
  "model_two"
]
group_ids 아니요 사용자가 속한 Looker 그룹 목록입니다(있는 경우). 그룹 이름 대신 그룹 ID를 사용합니다. 정수 배열 [4, 3]
external_group_id 아니요 원하는 경우 Looker를 삽입하는 애플리케이션에서 사용자가 속한 그룹의 고유 식별자입니다.

콘텐츠를 저장하고 외부 그룹 ID를 공유할 권한이 있는 사용자는 "Group."라는 공유된 Looker 폴더에서 콘텐츠를 저장하고 수정할 수 있습니다.
JSON 문자열 "Accounting"
user_attributes 아니요 사용자가 보유해야 하는 사용자 속성 목록(있는 경우) 사용자 속성 이름 다음에 사용자 속성 값이 나옵니다.

LookML 모델이 현지화된 경우 삽입 URL에서 locale 사용자 속성을 사용하여 삽입할 언어를 지정할 수 있습니다. 예를 들어 user_attributes { "locale" : "fr_FR" } 매개변수를 포함하면 삽입에서 프랑스어를 해당 언어로 로드합니다.
문자열 해시 {
  "vendor_id" : "17",
  "company" : "xactness"
}
access_filters 이 매개변수는 Looker 3.10에서 삭제되었지만 URL에서는 여전히 필수입니다. access_filters를 빈 자리표시자와 함께 사용합니다(예: access_filters={}). 비어 있는 자리표시자 {}
first_name 아니요 사용자의 이름입니다. 비워 두면 first_name는 마지막 요청의 값을 유지하거나 이름을 한 번도 설정하지 않은 경우 '삽입'이 됩니다. JSON 문자열 "Alice"
last_name 아니요 사용자의 성입니다. 비워 두면 last_name는 마지막 요청의 값을 유지하거나 성을 설정하지 않은 경우 '삽입'이 됩니다. JSON 문자열 "Jones"
user_timezone 아니요 사용자별 시간대를 사용 설정한 경우 삽입된 보기 또는 대시보드의 시간대 드롭다운에서 뷰어 시간대 옵션의 값을 설정합니다. 이 매개변수는 콘텐츠가 표시되는 시간대를 직접 변경하지 않으며 사용자는 드롭다운에서 원하는 시간대를 선택해야 합니다.

SSO 삽입 시간대 참조 문서 페이지에서 유효한 값을 확인하세요.

채팅팀 도움말: 삽입된 콘텐츠가 기본적으로 시청자의 시간대로 표시되도록 하려면 다음 방법 중 하나를 사용하세요.

  • ?query_timezone=user_timezone 매개변수를 삽입 URL에 추가합니다. 예:

    /embed/dashboards/1?query_timezone=user_timezone
  • 삽입된 대시보드나 Look의 기본 시간대뷰어 시간대로 설정하면 삽입된 사용자 및 삽입하지 않은 사용자 모두에 대해 사용자의 시간대가 기본적으로 사용됩니다.
  • JSON 문자열 또는 null "US/Pacific"

    또는 -

    null
    force_logout_login 일반 Looker 사용자가 이미 Looker에 로그인되어 있으며 SSO 삽입 항목을 보고 있는 경우 다음 중 하나를 선택할 수 있습니다.

    1) 현재 사용자 인증 정보로 항목을 확인해야 합니다.

    또는

    2) 이 사용자 계정에서 로그아웃한 후 SSO 사용자 인증 정보로 다시 로그인해야 합니다.
    부울 (true 또는 false) true

    앞에 나온 매개변수는 모두 필요하지만 'Value 필수' 열에 'No'가 있는 모든 매개변수는 빈 값으로 사용할 수 있습니다. 예를 들어 group_ids [] 또는 user_attributes {}를 사용할 수 있습니다.

    서명

    서명을 생성하려면 다음 단계를 따라야 합니다.

    1. 다음 매개변수 값을 이 순서로 수집합니다.
      • 호스트 다음에 login/embed/(예: analytics.mycompany.com/login/embed/)
      • URL 삽입
      • nonce
      • 현재 시간
      • 세션 길이
      • 외부 사용자 ID
      • 권한
      • 모델
      • 그룹 ID
      • 외부 그룹 ID
      • 사용자 속성
      • 액세스 필터 (빈 자리표시자 필요)
    2. 호스트 및 삽입 URL을 제외한 모든 값의 형식을 JSON으로 지정합니다.
    3. 값을 줄바꿈 (\n)으로 연결합니다.
    4. HMAC는 Looker 삽입 보안 비밀로 연결된 문자열에 서명합니다.

    인코딩

    마지막 단계는 URL을 URL 인코딩하는 것입니다.

    URL을 인코딩하기 전에 가능한 모든 매개변수를 사용하는 올바른 형식의 삽입 URL은 다음과 같습니다.

    https://analytics.mycompany.com/login/embed//embed/dashboards/1?
    nonce="22b1ee700ef3dc2f500fb7"&
    time=1407876784&
    session_length=86400&
    external_user_id="user-4"&
    permissions=["access_data","see_user_dashboards","see_looks"]&
    models=["model_one","model_two"]&
    group_ids=[4,3]&
    external_group_id="Allegra K"&
    user_attributes={"vendor_id":"17","company":"xactness"}&
    access_filters={}&
    first_name="Alice"&
    last_name="Jones"&
    user_timezone="US/Pacific"&
    force_logout_login=true&
    signature=123456789ABCDEFGHIJKL
    

    앞에서도 언급했듯이 URL이 /embed//embed/로 표시되는 것이 올바릅니다.

    URL을 인코딩하면 다음과 같이 표시됩니다.

    https://analytics.mycompany.com/login/embed/%2embed%2Fdashboards%2F1?
    nonce=%2222b1ee700ef3dc2f500fb7&%22&
    time=1407876784&
    session_length=86400&
    external_user_id=%22user-4%22&
    permissions=%5B%22access_data%22%2C%22see_user_dashboards%22%2C%22see_looks%22%5D&
    models=%5B%22model_one%22%2C%22model_two%22%5D&
    group_ids=%5B4%2C3%5D&
    external_group_id=%22Allegra%20K%22&
    user_attributes=%7B%22vendor_id%22%3A%2217%22%2C%22company%22%3A%22xactness%22%7D&
    access_filters%7B%7D%26%0A
    first_name=%22Alice%22&
    last_name=%22Jones%22&
    user_timezone=%22US%2FPacific%22&
    force_logout_login=true&
    signature=123456789ABCDEFGHIJKL
    

    create_sso_embed_url API 엔드포인트 사용

    Looker API에는 create_sso_embed_url 엔드포인트가 포함되어 있습니다. 이 엔드포인트는 삽입하려는 콘텐츠의 URL을 포함하는 SSO 삽입 매개변수 집합을 취하며 인코딩되고 암호화된 암호화 URL의 전체 URL을 반환합니다.

    웹 서버에서 이 API 엔드포인트를 사용하려면 웹 서버가 관리자 권한으로 Looker API에 인증할 수 있어야 합니다. 웹 서버 도메인도 삽입 도메인 허용 목록에 포함되어 있어야 합니다.

    API 탐색기를 사용하여 이 엔드포인트를 사용하는 SSO URL을 생성할 수도 있습니다. Looker Marketplace에서 Looker 인스턴스에 API 탐색기를 설치하거나 Looker 개발자 포털에서 공개 버전을 확인할 수 있습니다. 생성된 SSO URL은 정확하게 복사되어야 하며 한 번만 사용할 수는 있습니다. 그렇지 않으면 실패합니다. API 탐색기는 SSO URL을 생성하고 수동으로 생성한 SSO URL과 비교하여 문제를 해결할 때도 유용합니다.

    Looker API에 대한 자세한 내용은 Looker API 시작하기 문서 페이지를 참조하세요.

    삽입 URL 테스트

    최종 URL을 테스트하려면 Looker의 관리 섹션에 있는 삽입 페이지의 삽입 URI 검사기에 붙여넣습니다. 이 옵션을 통해 예상한 데이터와 권한이 올바르게 설정되었는지는 확인할 수 없지만 인증이 제대로 작동하는지 확인할 수는 있습니다.