Tworzenie klientów OAuth i zarządzanie nimi
OAuth to protokół zabezpieczeń na potrzeby autoryzacji i delegowania. Umożliwia aplikacjom innych firm dostęp do zasobów interfejsu API bez ujawniania poświadczeń użytkownika końcowego. Klient OAuth żąda kodu autoryzacyjnego, wymienia go na token dostępu i używa go do uzyskania dostępu do zawartości Qlik Cloud przez interfejsy API.
Typy klientów OAuth
Klient OAuth to aplikacja internetowa lub oprogramowanie, które żąda dostępu do zasobów w Qlik Cloud w imieniu użytkownika. OAuth definiuje dwa typy klientów: publiczne i poufne, aby zabezpieczyć autoryzację między aplikacją (klientem) a serwerem autoryzacji (Qlik Cloud).
Qlik Cloud obsługuje poufne klienty na potrzeby tradycyjnych aplikacji internetowych (po stronie serwera) oraz klienty publiczne na potrzeby aplikacji natywnych i jednostronicowych przy użyciu określonych przepływów autoryzacji.
Oficjalna specyfikacja OAuth 2.0 dotycząca typów klientów znajduje się w RFC 6749 sekcja 2.1: Typy klientów OAuth 2.0.
Klienty publiczne
Klienty publiczne to aplikacje, które nie używają klucza tajnego klienta, ponieważ nie mogą zachować poufności wymaganych poświadczeń. W Qlik Cloud obejmują one aplikacje frontendowe, takie jak aplikacje jednostronicowe (SPA) z wbudowaną analityką lub niestandardowe rozszerzenia wizualizacji w Qlik Sense wymagające uwierzytelnienia użytkownika.
Klienty poufne
Klienty poufne mogą bezpiecznie przechowywać identyfikator klienta oraz klucz tajny klienta i używać ich do uwierzytelniania na serwerze autoryzacji. Te klienty mogą mieć dostęp do chronionych zasobów, ponieważ są w posiadaniu klucza tajnego klienta.
Przykład: aplikacja internetowa z bezpiecznym zapleczem wchodzącym w interakcję z interfejsami API Qlik Cloud w celu zarządzania dostępem użytkownika lub koordynacji zadań odświeżania danych.
Przepływy autoryzacji OAuth
Qlik obsługuje dwa typy, czyli przepływy nadawania autoryzacji:
-
Przepływ kodu autoryzacji: dla klientów poufnych.
-
Przepływ kodu autoryzacji z Proof Key for Code Exchange (PKCE): dla klientów publicznych.
Przepływ kodu autoryzacji
Ten przepływ jest używany przez aplikacje po stronie serwera, w których kod źródłowy nie jest publicznie ujawniany. Polega ona na wymianie kodu autoryzacyjnego na token dostępu, przy czym do uwierzytelnienia wykorzystywany jest klucz tajny klienta. Aplikacje internetowe korzystające z tej metody muszą działać po stronie serwera, ponieważ podczas wymiany tokena klucz tajny klienta jest przekazywany do serwera autoryzacji.
Więcej informacji na temat przepływu kodu autoryzacji można znaleźć w oficjalnej dokumentacji OAuth 2.0: Authorization Code Flow.
Przepływ kodu autoryzacji z PKCE
Natywne i jednostronicowe aplikacje nie mogą bezpiecznie przechowywać klucza tajnego klienta, ponieważ ich kod źródłowy może zostać zdekompilowany lub sprawdzony w przeglądarce. PKCE zwiększa bezpieczeństwo, wymagając użycia weryfikatora kodu w celu uzyskania tokena dostępu.
Więcej informacji na temat autoryzacji przy użyciu PKCE można znaleźć w oficjalnej dokumentacji OAuth 2.0: Authorization Code Flow with Proof Key for Code Exchange (PKCE).
Zakresy i uprawnienia OAuth
Zakresy OAuth definiują poziom dostępu przyznawany aplikacjom klienckim OAuth. Na przykład token dostępu może zezwalać na pełny dostęp do zasobów lub ograniczać go tylko do odczytu. W Qlik Cloud zakresy kontrolują dostęp klientów do dostępnych funkcji i zasobów. Bez zakresów klienty nie mogą uzyskać dostępu do żadnych zasobów.
Dostępne zakresy OAuth
Tabela zawiera listę dostępnych zakresów i powiązanych z nimi uprawnień:
Zasięg | Uprawnienie |
---|---|
user_default | Pełny dostęp do konta i jego zawartości |
admin_classic |
Pełny dostęp administracyjny do dzierżawy Zob. także: Wdrażanie rozwiązania Qlik Cloud i administrowanie nim InformacjaNieobsługiwane w przypadku klientów typu aplikacja jednostronicowa i natywnych.
|
admin.apps |
Odczyt wszystkich aplikacji w dzierżawie i zarządzanie nimi. Zobacz także: Zarządzanie aplikacjami |
|
Eksport wszystkich aplikacji w dzierżawie Zobacz także: Eksportowanie aplikacji |
|
Odczyt wszystkich aplikacji w dzierżawie |
admin.automations |
Odczyt wszystkich automatyzacji w dzierżawie i zarządzanie nimi Zobacz także: Zarządzanie automatyzacjami |
|
Odczyt wszystkich automatyzacji w dzierżawie |
admin.spaces |
Odczyt wszystkich przestrzeni w dzierżawie i zarządzanie nimi Zobacz także: Zarządzanie przestrzeniami |
|
Odczyt wszystkich przestrzeni w dzierżawie |
aplikacje |
Odczyt aplikacji i zarządzanie nimi Zobacz także: Zarządzanie aplikacjami |
|
Eksport aplikacji Zobacz także: Eksportowanie aplikacji |
|
Odczyt aplikacji |
Automatyzacje: |
Odczyt automatyzacji i zarządzanie nimi Zobacz także: Zarządzanie automatyzacjami |
|
Odczyt automatyzacji |
automl-experiments | Odczyt eksperymentów uczenia maszynowego i zarządzanie nimi |
automl-deployments | Odczyt wdrożeń uczenia maszynowego i zarządzanie nimi |
identity.email:read |
Odczyt adresu e-mail Zobacz także: Dostawcy tożsamości w Qlik Cloud |
identity.name:read |
Odczyt imienia i nazwiska |
identity.picture:read |
Odczyt zdjęcia profilowego Zobacz także: Dostawcy tożsamości w Qlik Cloud |
identity.subject:read |
Odczyt identyfikatora podmiotu użytkownika |
spaces.data |
Odczyt przestrzeni danych i zarządzanie nimi Zobacz także: Zarządzanie przestrzeniami |
|
Odczyt przestrzeni danych |
spaces.managed |
Odczyt przestrzeni zarządzanych i zarządzanie nimi Zobacz także: Zarządzanie przestrzeniami |
|
Odczyt przestrzeni zarządzanych |
spaces.shared |
Odczyt przestrzeni udostępnionych i zarządzanie nimi Zobacz także: Zarządzanie przestrzeniami |
|
Odczyt przestrzeni udostępnionych |
offline_access |
Dostęp do zasobów w trybie offline InformacjaNieobsługiwane w przypadku klientów typu aplikacja jednostronicowa.
|
Tworzenie klientów OAuth
Klientami OAuth zarządzają administratorzy dzierżawy z centrum aktywności Administrowanie na stronie OAuth. Klient OAuth umożliwia integrację aplikacji klienckiej z Qlik Cloud w celu bezpiecznego uzyskiwania dostępu do zasobów.
Ograniczenia dotyczące klientów OAuth
Obowiązują następujące ograniczenia:
-
Maksymalnie 5 przekierowanych adresów URL na klienta.
-
Maksymalnie 5 dozwolonych początków na klienta.
-
Maksymalnie 5 kluczy tajnych klienta na klienta.
-
Maksymalnie 200 klientów OAuth na dzierżawę.
Kroki tworzenia klienta OAuth
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie wybierz pozycję OAuth.
-
Kliknij polecenie Utwórz nowe.
-
Wybierz typ klienta:
-
Web dla klientów poufnych.
-
Aplikacja jednostronicowa lub natywna dla klientów publicznych.
-
-
W oknie dialogowym wprowadź nazwę klienta OAuth.
-
Opcjonalnie dodaj opis.
-
Wybierz dowolny z dostępnych zakresów, przewijając lub korzystając z pola wyszukiwania.
WskazówkaUżyj przycisków Wszystkie lub Wybrane nad listą, aby wyświetlić wszystkie lub tylko wybrane zakresy. -
Wprowadź jeden lub więcej adresów URL przekierowania aplikacji klienckiej OAuth (maksymalnie 5). Następnie kliknij przycisk Dodaj, aby dodać adres URL przekierowania do listy dozwolonych.
-
Adres URL przekierowania to adres URL, pod który serwer autoryzacji kieruje przeglądarkę użytkownika po pomyślnym uwierzytelnieniu i przyznaniu uprawnień aplikacji klienckiej. Na przykład https://www.przykladowaaplikacja.com/oauth/callback, gdzie /oauth/callback obsługuje wywołania zwrotne uwierzytelniania od dostawcy OAuth.
-
Qlik Cloud przekieruje użytkownika z powrotem do aplikacji po pomyślnej autoryzacji tylko wtedy, gdy adres URL będzie znajdować się na liście dozwolonych adresów URL przekierowania.
-
Adresy URL muszą zaczynać się od https://, chyba że domeną jest localhost — w takim przypadku może zaczynać się od http://. Aplikacje natywne mogą również używać formatu łącza specyficznego dla aplikacji, na przykład przykladowaaplikacja://.
-
-
W przypadku klienta typu Web lub Aplikacja jednostronicowa określ jedno lub więcej dozwolonych pochodzeń (maksymalnie 5).
-
Dostęp do aplikacji zostanie przyznany tylko wtedy, gdy adres URL zostanie dodany do listy dozwolonych źródeł.
-
-
W przypadku klienta typu Web można włączyć jedną z poniższych opcji automatycznego dostępu do systemu bez interakcji z użytkownikiem:
-
Zezwól na dostęp maszyna-maszyna (M2M): umożliwia komunikację między systemami bez udziału użytkownika.
-
Zezwól na personifikację użytkowników w interakcjach M2M: umożliwia aplikacji uwierzytelnianie w imieniu użytkowników, aby działała jako oni podczas procesu uwierzytelniania.
-
-
Kliknij polecenie Utwórz.
-
Kliknij Kopiuj do schowka, aby zapisać identyfikator klienta i klucz tajny klienta do późniejszego wykorzystania. Przechowuj klucz tajny klienta w bezpiecznej lokalizacji.
InformacjaKlienty publiczne nie mają żadnych kluczy tajnych klienta. -
Kliknij przycisk Gotowe.
Klienty OAuth do konkretnych zastosowań
Zastosowania klientów OAuth można znaleźć w następujących zasobach:
-
Przegląd OAuth w Portalu deweloperów Qlik: Przegląd zastosowań OAuth i różnych typów OAuth.
-
Tworzenie klienta OAuth dla dodatku Qlik do programu Microsoft Excel: skonfiguruj klienta OAuth do instalacji dodatku Qlik do programu Microsoft Excel.
-
Tworzenie klienta OAuth do anonimowego osadzania zawartości aplikacji.: utwórz klienta OAuth, aby umożliwić anonimowy dostęp do osadzonej zawartości aplikacji.
Tworzenie klienta OAuth dla dodatku Qlik do programu Microsoft Excel
Do zainstalowania dodatku Qlik do programu Microsoft Excel wymagana jest konfiguracja klienta OAuth. Dodatek jest używany przez twórców raportów do przygotowywania szablonów raportów, które kontrolują wyniki raportów tabelarycznych z aplikacji Qlik Sense.
Aby protokół OAuth działał w dodatku, klient OAuth musi być skonfigurowany dokładnie tak, jak pokazano poniżej.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie, w Qlik Cloud, przejdź do OAuth.
-
Kliknij polecenie Utwórz nowe.
-
Z menu rozwijanego Typ klienta wybierz opcję Aplikacja jednostronicowa. Pojawi się więcej pól.
-
Wstaw Nazwę. Opis jest opcjonalny.
-
Zaznacz co najmniej pole wyboru, aby uwzględnić zakres user_default. Można też uwzględnić inne zakresy w konfiguracji, ale bez user_default instalacja nie będzie działać.
Pełny opis każdego dostępnego zakresu zawiera temat Dostępne zakresy OAuth.
-
W polu Dodaj adresy URL przekierowania wstaw adres URL swojej dzierżawy, a następnie stały ciąg znaków: /office-add-ins/oAuthLoginSuccess.html
Rezultat powinien wyglądać następująco: https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Kliknij Dodaj.
-
W polu Dodaj dozwolone pochodzenia wpisz adres URL dzierżawy i kliknij przycisk Dodaj.
-
Kliknij polecenie Utwórz.
-
Pojawi się okno Skopiuj identyfikator klienta. Możesz skopiować identyfikator klienta do schowka lub kliknąć Gotowe, aby zamknąć okno.
Po utworzeniu klienta OAuth uzyskaj łącze do zaktualizowanego pliku manifestu XML z centrum aktywności Administrowanie. Przejdź do strony Ustawienia, a następnie wybierz Udostępnianie i raporty > Dodatek Excel w centrum aktywności Administrowanie. Użyj tego łącza, aby wdrożyć i zainstalować dodatek.
Więcej informacji na temat generowania pliku manifestu, a także wdrażania i instalowania dodatku, zawiera temat:
-
Wdrażanie i instalowanie dodatku Qlik do programu Microsoft Excel
-
Zarządzanie manifestami instalacji dodatku Qlik do Microsoft Excel
Tworzenie klienta OAuth do anonimowego osadzania zawartości aplikacji.
Aby osadzić zawartość aplikacji do dostępu anonimowego za pomocą qlik-embed, należy utworzyć klienta OAuth z typem specjalnie przeznaczonym do tego zastosowania.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie przejdź do sekcji OAuth.
-
Kliknij polecenie Utwórz nowe.
-
Z menu rozwijanego Typ klienta wybierz opcję Osadzenie anonimowe.
-
Wprowadź Nazwę oraz opcjonalny Opis klienta OAuth.
-
W sekcji Dozwolone pochodzenia wprowadź każde pochodzenie, które potrzebujesz autoryzować. Są to domeny, które będą uzyskiwać dostęp do dzierżawy Qlik Cloud w celu pobrania informacji do analizy wbudowanej.
Kliknij Dodaj po wstawieniu każdego adresu URL.
-
Na zakończenie kliknij Utwórz.
-
Kliknij Kopiuj do schowka, aby zapisać identyfikator klienta do późniejszego wykorzystania. Będzie on potrzebny, gdy zawartość aplikacji zostanie osadzona przy użyciu qlik-embed.
-
Kliknij przycisk Gotowe.
Edytowanie klientów OAuth
Możesz zmienić nazwę klienta OAuth, zaktualizować opis lub zarządzać adresami URL przekierowania.
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- Zlokalizuj klienta OAuth do edycji.
- Kliknij
, a następnie wybierz Edytuj.
- Odpowiednio zmień opcje klienta OAuth.
- Kliknij przycisk Zapisz.
Usuwanie klientów OAuth
Możesz usunąć klienta OAuth, gdy nie jest już potrzebny lub aby odebrać dostęp.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie wybierz pozycję OAuth.
-
Wybierz jednego lub więcej klientów Oauth do usunięcia, a następnie kliknij Usuń.
- Potwierdź usunięcie.
Publikowanie klientów OAuth
Klienty OAuth są początkowo powiązane z dzierżawą, która je utworzyła. Można jednak skonfigurować klienta OAuth tak, aby był współdzielony przez wiele dzierżaw w tym samym regionie. Umożliwia to aplikacjom innych firm korzystanie z tego samego identyfikatora klienta w różnych dzierżawach Qlik Cloud.
Właściciele aplikacji mogą używać kluczy tajnych rotacyjnie i aktualizować konfigurację bez interakcji z administratorem dzierżawy. Administratorzy dzierżawy nie muszą zarządzać poświadczeniami ani znać żadnych szczegółów konfiguracji opublikowanego klienta.
Aby umożliwić innym dzierżawom łączenie się z klientem OAuth, należy go opublikować.
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- Zlokalizuj klienta OAuth do publikacji.
- Kliknij
obok klienta, a następnie wybierz Opublikuj.
- Kliknij OK, aby to potwierdzić.
Po opublikowaniu klienta OAuth staje się on dostępny do użytku zewnętrznego przez inne dzierżawy. Gdy użytkownik przejdzie do zewnętrznej witryny internetowej korzystającej z Qlik OAuth, zostanie poproszony o podanie nazwy hosta swojej dzierżawy i swoje poświadczenia użytkownika, chyba że ma już aktywną sesję SaaS.
Pierwsze logowanie będzie wymagało zgody administratora dzierżawy. Po zatwierdzeniu klient OAuth pojawi się w centrum aktywności Administrowanie dzierżawy.
Metody udzielania zgody
Qlik Cloud domyślnie prosi użytkowników o wyrażenie zgody podczas uwierzytelniania. Aby usprawnić ten proces, zwłaszcza w przypadku zaufanych aplikacji, można ustawić metodę wyrażania zgody na „Zaufana”, co spowoduje pominięcie monitu o zgodę.
Istnieją dwie opcje wyrażenia zgody:
-
Wymagana: użytkownik jest o nią proszony za każdym razem, gdy klient OAuth zażąda nowego zakresu. Ta metoda zapewnia wyraźne zatwierdzenie użytkownika na każdym poziomie dostępu.
-
Zaufana: użytkownik nie jest proszony o udzielenie zgody. Ta opcja jest dostępna tylko w przypadku nieopublikowanych klientów. W przypadku opublikowanych klientów metoda wyrażania zgody jest zawsze Wymagana, aby zachować bezpieczeństwo w różnych dzierżawach.
Zmiana metody udzielania zgody
Aby zmienić metodę udzielania zgody dla klienta OAuth, wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- W kliencie OAuth kliknij
i wybierz Zmień metodę udzielenia zgody.
- Wybierz opcję Wymagana lub Zaufana, a następnie kliknij przycisk Zmień metodę udzielania zgody.
Przeglądanie i kopiowanie konfiguracji OAuth
W sekcji OAuth centrum aktywności Administrowanie wybierz opcję Wyświetl konfigurację OAuth, aby wyświetlić szczegóły uwierzytelniania dla dzierżawy Qlik Cloud. Spowoduje to wyświetlenie fragmentu kodu z punktami końcowymi i ustawieniami OAuth, a także adresem URL, który można skopiować do użytku w aplikacjach zewnętrznych.
Można użyć tej konfiguracji do integracji Qlik Cloud z aplikacjami innych firm, automatyzacji dostępu do API lub skonfigurowania uwierzytelniania dla wbudowanej analityki.
Zarządzanie kluczami tajnymi klienta
Jeśli klucz tajny klienta zostanie naruszony lub jeśli polityka bezpieczeństwa wymaga okresowych aktualizacji, możesz dodać lub usunąć klucze tajne. Aby uniknąć przestojów, można dodać wiele kluczy tajnych klienta (maksymalnie 5), zaktualizować aplikację kliencką, a następnie usunąć stary klucz tajny.
Dodawanie klucza tajnego klienta
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- Lokalizacja klienta OAuth.
- Kliknij
, a następnie wybierz Zarządzaj kluczami tajnymi.
- Kliknij Utwórz nowy klucz tajny klienta.
-
Skopiuj klucz tajny klienta i identyfikator klienta i przechowuj je w bezpieczny sposób.
InformacjaKlucz tajny klienta nie będzie już później dostępny. - Kliknij polecenie Zamknij.
Usuwanie klucza tajnego klienta
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- Lokalizacja klienta OAuth.
- Kliknij
, a następnie wybierz Zarządzaj kluczami tajnymi.
- Kliknij
obok klucza tajnego klienta.
- Kliknij polecenie Zamknij.
Tworzenie aplikacji klienckich Oauth w celu uzyskiwania dostępu do Qlik Cloud
Po zarejestrowaniu klienta OAuth w Qlik Cloud możesz używać powiązanego identyfikatora klienta i klucza tajnego klienta w swojej aplikacji klienckiej OAuth.
Aby uzyskać wskazówki krok po kroku, zapoznaj się z samouczkami w sekcji Przegląd OAuth w Portalu dla deweloperów Qlik. Te samouczki obejmują tworzenie aplikacji klienckich przy użyciu popularnych języków programowania.