OAuth 클라이언트 만들기 및 관리
OAuth는 권한 부여 및 위임을 위한 표준 보안 프로토콜입니다. 이를 통해 타사 응용 프로그램이 최종 사용자 자격 증명을 공개하지 않고 API 리소스에 액세스할 수 있습니다. OAuth 클라이언트는 권한 부여 코드를 얻고 이를 API를 통해 Qlik Cloud 콘텐츠에 액세스하는 데 사용할 수 있는 액세스 토큰으로 교환할 수 있습니다.
공개 및 기밀 클라이언트
OAuth에는 응용 프로그램(클라이언트)과 권한 부여 서버(Qlik Cloud) 간의 권한 부여를 보호하기 위해 공개 클라이언트와 기밀 클라이언트의 두 가지 클라이언트 유형이 있습니다.
공개 클라이언트
공개 클라이언트는 필요한 자격 증명의 기밀성을 유지할 수 없기 때문에 클라이언트 비밀을 사용하지 않는 응용 프로그램입니다. Qlik Cloud의 공개 클라이언트는 응용 프로그램 수명 주기를 지원하기 위해 최종 사용자에 대한 정보가 필요한 Qlik Sense의 사용자 지정 시각화 확장 또는 분석 기능이 포함된 단일 페이지 응용 프로그램과 같은 프런트엔드 응용 프로그램인 경우가 많습니다.
: RFC 6749 섹션 2.1: OAuth 2.0 클라이언트 유형을 참조하십시오.
Qlik Cloud는 기존 웹(서버측) 응용 프로그램용 기밀 클라이언트와 특정 권한 부여 유형을 사용하는 기본 및 단일 페이지 응용 프로그램용 공용 클라이언트를 지원합니다.
기밀 고객
기밀 클라이언트는 클라이언트 ID와 클라이언트 비밀을 권한이 없는 당사자에게 노출하지 않고 안전한 방식으로 유지 관리하는 응용 프로그램입니다. 기밀 클라이언트는 클라이언트 비밀을 소유하고 있기 때문에 보호된 리소스에 액세스할 수 있습니다. 기밀 클라이언트의 예로는 데이터 새로 고침 작업을 조정하거나 콘텐츠에 대한 사용자 액세스를 관리하기 위해 Qlik Cloud API와 상호 작용하는 보안 백엔드가 있는 웹 응용 프로그램이 있습니다.
권한 부여 유형
Qlik은 두 가지 권한 부여 유형 또는 흐름, 즉 권한 부여 코드 흐름과 PKCE(코드 교환을 위한 증명 키)를 사용하는 권한 부여 코드 흐름을 지원합니다. 이러한 흐름은 매우 유사하지만 서로 다른 사용 사례를 지원합니다.
권한 부여 코드 흐름
기존 웹 응용 프로그램은 소스 코드가 공개적으로 노출되지 않는 서버 측 응용 프로그램이므로 권한 부여 코드를 토큰으로 교환하는 권한 부여 코드 흐름을 사용할 수 있습니다. 이 흐름을 사용하는 웹 응용 프로그램은 토큰 교환 중에 응용 프로그램의 클라이언트 시크릿이 권한 부여 서버로 전달되기 때문에 서버 측이어야 합니다.
자세한 내용은 권한 부여 코드 흐름을 참조하십시오.
PKCE(코드 교환을 위한 증명 키)를 사용하는 권한 부여 코드 흐름
네이티브 및 단일 페이지 응용 프로그램은 각각 앱을 디컴파일하거나 브라우저를 통해 앱 소스를 확인하여 소스 코드에 액세스할 수 있기 때문에 클라이언트 비밀을 저장할 수 없습니다. PKCE는 액세스 토큰을 얻기 위해 코드 검증기를 사용하도록 요구함으로써 공용 클라이언트에 추가적인 보호 계층을 추가합니다.
자세한 내용은 PKCE(코드 교환을 위한 증명 키)를 사용하는 권한 부여 코드 흐름을 참조하십시오.
OAuth 클라이언트에 사용할 수 있는 범위 제한
OAuth 범위는 OAuth 클라이언트 앱에 부여되는 액세스 양을 제한하는 방법을 제공합니다. 예를 들어, 클라이언트 앱에 발급된 액세스 토큰에는 보호된 리소스에 대한 전체 액세스 권한이 부여되거나 읽기 액세스만 부여될 수 있습니다.
Qlik Cloud에서 범위는 사용할 수 있는 기능 및 리소스에 대한 클라이언트 액세스를 제어하는 방법을 제공합니다. 각 범위는 서로 다른 수준의 액세스 권한을 부여합니다. 범위가 없는 클라이언트는 어떤 리소스에도 액세스할 수 없습니다.
OAuth 클라이언트 만들기
OAuth 클라이언트는 OAuth 페이지의 관리 활동 센터에서 테넌트 관리자가 관리합니다.
OAuth 클라이언트를 사용하면 클라이언트 응용 프로그램을 Qlik Cloud와 통합할 수 있습니다.
Microsoft Excel용 Qlik 추가 기능 배포 및 설치를 위해 OAuth 클라이언트를 만드는 방법을 알아보려면 Microsoft Excel용 Qlik 추가 기능에 대한 OAuth 클라이언트 만들기를 참조하십시오.
다음과 같이 하십시오.
-
관리 활동 센터에서 OAuth로 이동합니다.
-
새로 만들기를 클릭합니다.
-
클라이언트 유형을 선택합니다.
기밀 클라이언트에는 웹을 사용하고 공용 클라이언트에는 단일 페이지 앱 또는 기본을 사용합니다.
-
대화 상자에서 OAuth 클라이언트에 이름을 지정합니다.
-
설명을 추가합니다(선택 사항).
-
스크롤하거나 검색 필드를 사용하여 사용할 수 있는 범위를 선택합니다.
범위 권한 user_default 계정 및 콘텐츠에 대한 전체 액세스 권한 admin_classic 테넌트에 대한 전체 관리자 액세스 권한
관련 항목: 배포 및 관리Qlik Cloud
정보 메모단일 페이지 앱 및 기본 클라이언트 유형에서는 지원되지 않습니다.admin.apps 테넌트의 모든 앱 읽기 및 관리
관련 항목: 앱 관리
admin.apps:export
테넌트의 모든 앱 내보내기
관련 항목: 앱 내보내기
admin.apps:read
테넌트의 모든 앱 읽기 admin.automations 테넌트의 모든 자동화 읽기 및 관리
관련 항목: 자동화 관리
admin.automations:read
테넌트의 모든 자동화 읽기 admin.spaces 테넌트의 모든 공간 읽기 및 관리
관련 항목: 공간 관리
admin.spaces:read
테넌트의 모든 공간 읽기 앱 앱 읽기 및 관리
관련 항목: 앱 관리
apps:export
앱 내보내기
관련 항목: 앱 내보내기
apps:read
앱 읽기 자동화 자동화 읽기 및 관리
관련 항목: 자동화 관리
automations:read
자동화 읽기 automl-experiments ML 실험 읽기 및 관리 automl-deployments ML 배포 읽기 및 관리 ID.email:read 이메일 주소 읽기
관련 항목: Qlik Cloud의 ID 공급자
identity.name:read
전체 이름 읽기 identity.picture:read 프로필 사진 읽기
관련 항목: Qlik Cloud의 ID 공급자
identity.subject:read
사용자 주체 식별자 읽기 spaces.data 데이터 공간 읽기 및 관리
관련 항목: 공간 관리
spaces.data:read
데이터 공간 읽기 spaces.managed 관리 공간 읽기 및 관리
관련 항목: 공간 관리
spaces.managed:read
관리 공간 읽기 spaces.shared 공유 공간 읽기 및 관리
관련 항목: 공간 관리
spaces.shared:read
공유 공간 읽기 offline_access 오프라인 상태에서 리소스에 액세스
정보 메모단일 페이지 앱 클라이언트 유형에서는 지원되지 않습니다.정보 메모목록 위의 전체 및 선택 버튼을 사용하여 모든 범위를 표시하거나 선택한 범위만 표시할 수 있습니다.정보 메모위 목록은 초기 릴리스에서 지원되는 범위를 반영합니다. 초기 릴리스 이후에 추가된 범위를 포함하여 전체 범위 목록은 Qlik 개발자 포털에서 찾을 수 있습니다. -
OAuth 클라이언트 응용 프로그램에 대한 리디렉션 URL을 하나 이상 입력합니다.
팁 메모권한 부여 서버가 클라이언트 응용 프로그램을 성공적으로 인증하고 권한을 부여한 후 사용자의 브라우저에 보내는 리디렉션 URL입니다. 예를 들어, https://www.exampleapp.com/oauth/callback에서는 /oauth/callback이 OAuth 공급자의 인증 콜백을 처리합니다.Qlik Cloud는 해당 URL이 리디렉션 URL 허용 목록에 있는 경우에만 권한 부여가 성공한 후 사용자를 다시 응용 프로그램으로 리디렉션합니다. URL은 도메인이 localhost가 아닌 경우 https://로 시작해야 하며, localhost인 경우에는 http://로 시작할 수 있습니다. 네이티브 앱은 또한 응용 프로그램별 링크 서식(예: exampleapp://)을 사용할 수 있습니다.
추가를 클릭하여 허용 목록에 리디렉션 URL을 추가합니다.
-
클라이언트 유형 웹 또는 단일 페이지 앱의 경우 허용된 원본을 하나 이상 지정합니다. URL이 허용된 원본 목록에 추가된 경우에만 응용 프로그램에 대한 액세스가 허용됩니다.
-
클라이언트 유형 웹의 경우 사용자 상호 작용 없이 자동화된 컴퓨터 액세스를 위해 M2M(Machine-to-Machine) 허용 또는 M2M 사용자 가장 허용을 활성화할 수 있습니다. M2M 가장을 사용하면 응용 프로그램이 인증 중에 사용자를 대신하여 작동할 수 있습니다.
-
만들기를 클릭합니다.
-
클립보드에 복사를 클릭하여 나중에 사용할 수 있도록 클라이언트 ID 및 클라이언트 비밀을 저장합니다. 클라이언트 비밀을 안전한 위치에 저장합니다. 완료를 클릭합니다.
정보 메모공용 클라이언트에는 클라이언트 비밀이 없습니다.
Microsoft Excel용 Qlik 추가 기능에 대한 OAuth 클라이언트 만들기
Microsoft Excel용 Qlik 추가 기능을 설치하려면 OAuth 클라이언트 구성이 필요합니다. 추가 기능은 보고서 개발자가 Qlik Sense 앱에서 표 형식 보고서의 출력을 제어하는 보고서 템플릿을 준비하는 데 사용됩니다.
추가 기능에서 OAuth가 작동하려면 OAuth 클라이언트가 아래 표시된 정확한 구성으로 구성되어야 합니다.
다음과 같이 하십시오.
-
관리 활동 센터의 Qlik Cloud에서 OAuth로 이동합니다.
-
새로 만들기를 클릭합니다.
-
클라이언트 유형 드롭다운 메뉴에서 단일 페이지 앱을 선택합니다. 더 많은 필드가 나타납니다.
-
이름을 삽입합니다. 설명은 선택 사항입니다.
-
최소한 user_default 범위를 포함하려면 확인란을 선택합니다. 구성에 다른 범위를 포함할 수 있지만 user_default가 없으면 설치가 작동하지 않습니다.
사용할 수 있는 각 범위에 대한 자세한 설명은 OAuth 클라이언트 만들기를 참조하십시오.
-
리디렉션 URL 추가 필드에 테넌트의 URL과 고정 문자열을 차례로 삽입합니다. /office-add-ins/oAuthLoginSuccess.html
결과는 다음과 같아야 합니다. https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
추가를 클릭합니다.
-
허용된 원본 추가 필드에 테넌트 URL을 입력하고 추가를 클릭합니다.
-
만들기를 클릭합니다.
-
클라이언트 ID 복사 창이 나타납니다. 클라이언트 ID를 클립보드에 복사하도록 선택하거나 완료를 클릭하여 창을 닫을 수 있습니다.
OAuth 클라이언트를 만든 후 관리 활동 센터에서 업데이트된 매니페스트 XML 파일에 대한 링크를 가져옵니다. 설정 페이지로 이동한 후 관리활동 센터 내에서 공유 및 보고서 > Excel 추가 기능으로 이동합니다. 이 링크를 사용하여 추가 기능을 배포하고 설치합니다.
매니페스트 파일 생성, 추가 기능 배포 및 설치에 대한 자세한 내용은 다음을 참조하십시오.
앱 콘텐츠의 익명 포함을 위한 OAuth 클라이언트 만들기
qlik-embed를 사용하여 익명 액세스를 위한 앱 콘텐츠를 포함하려면 이 사용 사례에 맞게 특별히 설계된 유형의 OAuth 클라이언트를 만들어야 합니다.
다음과 같이 하십시오.
-
관리활동 센터에서 OAuth 섹션으로 이동합니다.
-
새로 만들기를 클릭합니다.
-
클라이언트 유형 드롭다운 메뉴에서 익명 포함을 선택합니다.
-
OAuth 클라이언트의 이름을 입력하고 선택적으로 설명을 입력합니다.
-
허용된 원본에서 권한을 부여해야 하는 각 원본을 입력합니다. 이는 포함된 분석에 대한 정보를 검색하기 위해 Qlik Cloud 테넌트에 액세스할 도메인입니다.
각 URL을 삽입한 후 추가를 클릭합니다.
-
완료되면 만들기를 클릭합니다.
-
나중에 사용할 수 있도록 클라이언트 ID를 저장하려면 클립보드에 복사를 클릭합니다. qlik-embed에 앱 콘텐츠가 포함된 경우 필요합니다.
-
완료를 클릭합니다.
OAuth 클라이언트 편집
OAuth 클라이언트의 이름을 바꾸거나 설명을 업데이트하거나 리디렉션 URL을 관리할 수 있습니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 OAuth로 이동합니다.
- 편집할 OAuth 클라이언트를 선택합니다. ...를 클릭한 다음 편집을 선택합니다.
- 대화 상자에서 필요에 따라 OAuth 클라이언트 옵션을 변경합니다.
- 저장을 클릭합니다.
OAuth 클라이언트 게시
만들어진 OAuth 클라이언트는 만든 테넌트에 자동으로 바인딩됩니다. 지역 내의 다른 모든 테넌트가 공유하고 사용할 수 있도록 OAuth 클라이언트를 구성할 수 있습니다. Qlik Cloud에 연결하는 타사 응용 프로그램은 모든 Qlik Cloud 테넌트에 대해 동일한 클라이언트 ID를 가질 수 있습니다. 응용 프로그램 소유자는 테넌트 관리자의 상호 작용 없이 비밀을 교체하고 구성을 업데이트할 수 있습니다. 테넌트 관리자는 자격 증명을 관리하거나 구성 세부 정보를 알 필요가 없습니다.
다른 테넌트가 OAuth 클라이언트에 연결할 수 있도록 하려면 게시해야 합니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 OAuth로 이동합니다.
- 게시하려는 OAuth 클라이언트를 선택합니다. ...를 클릭한 다음 게시를 선택합니다.
- 게시를 클릭합니다.
사용자가 Qlik OAuth를 사용하는 외부 웹 사이트로 이동하면 사용자에게 이미 활성 SaaS 세션이 없는 경우 테넌트 호스트 이름과 사용자 자격 증명을 입력하라는 메시지가 표시됩니다. 외부 OAuth 클라이언트로 처음 로그인하려면 테넌트 관리자의 동의가 필요합니다. 승인되면 새 OAuth 클라이언트가 관리 활동 센터에 표시됩니다.
동의 방법
동의에는 필수 및 신뢰할 수 있음의 두 가지 옵션이 있습니다. 필수를 사용하는 경우 OAuth 클라이언트를 사용한 권한 부여는 사용자에 대해 새 범위가 요청될 때마다 동의를 요청합니다. 신뢰할 수 있음을 사용하는 경우 사용자에게 메시지가 표시되지 않습니다. 게시되지 않은 클라이언트에 대해서만 신뢰할 수 있음을 사용할 수 있습니다. 게시된 클라이언트의 경우 동의 방법은 항상 필수입니다.
OAuth 구성 보기 및 복사
관리 활동 센터의 OAuth 섹션에서 OAuth 구성 보기를 선택하면 구성이 코드 스니펫과 복사할 URL로 표시됩니다.
OAuth 클라이언트 삭제
OAuth 클라이언트가 더 이상 필요하지 않거나 액세스 권한을 취소할 때 삭제할 수 있습니다.
다음과 같이 하십시오.
-
관리 활동 센터에서 OAuth로 이동합니다.
-
제거할 OAuth 클라이언트를 선택한 다음 삭제를 클릭합니다.
정보 메모한 번에 둘 이상의 OAuth 클라이언트를 제거할 수 있습니다. - OAuth 클라이언트를 삭제할 것인지 확인합니다.
클라이언트 비밀 관리
예를 들어 클라이언트 비밀이 손상되거나 보안 정책에 따라 클라이언트 비밀을 주기적으로 업데이트해야 하는 경우 클라이언트 비밀을 추가하거나 제거해야 할 수 있습니다. 응용 프로그램에서 다운타임을 방지하기 위해 여러 클라이언트 비밀을 추가할 수도 있습니다. 예를 들어 두 번째 비밀을 만들고 클라이언트 응용 프로그램에 새 비밀을 배포한 다음 이전 비밀을 삭제할 수 있습니다.
다음과 같이 하십시오.
- 관리 활동 센터에서 OAuth로 이동합니다.
- 관리할 OAuth 클라이언트를 선택합니다. ...를 클릭한 다음 비밀 관리를 선택합니다.
- 대화 상자에서 다음 중 하나를 수행합니다.
- 새 클라이언트 비밀을 추가하려면 새 클라이언트 비밀 생성을 클릭합니다.
- 클라이언트 비밀을 제거하려면 클라이언트 비밀 옆에 있는 을 클릭합니다.
- 닫기를 클릭합니다.
Qlik Cloud에 액세스할 OAuth 클라이언트 응용 프로그램 빌드
Qlik Cloud에 OAuth 클라이언트를 등록한 후 고유한 OAuth 클라이언트 응용 프로그램에서 연결된 클라이언트 ID 및 클라이언트 비밀을 사용할 수 있습니다. 가장 널리 사용되는 코딩 언어를 사용하여 클라이언트 응용 프로그램을 빌드하기 위한 자습서는 개발자 포털의 OAuth 섹션에서 사용할 수 있습니다.