Tworzenie klientów OAuth i zarządzanie nimi
OAuth to protokół bezpieczeństwa służący do autoryzacji i delegowania. Pozwala aplikacjom innych firm na dostęp do zasobów API bez ujawniania poświadczeń użytkownika końcowego. Klient OAuth żąda kodu autoryzacji, wymienia go na token dostępu i używa tokenu do uzyskiwania dostępu do zawartości Qlik Cloud za pośrednictwem interfejsów 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 — klientów publicznych i klientów poufnych — w celu zabezpieczenia autoryzacji między aplikacją (klientem) a serwerem autoryzacji (Qlik Cloud).
Qlik Cloud obsługuje klientów poufnych dla tradycyjnych aplikacji internetowych (po stronie serwera) oraz klientów publicznych dla aplikacji natywnych i jednostronicowych (SPA) korzystających z określonych przepływów autoryzacji.
Oficjalną specyfikację OAuth 2.0 dotyczącą typów klientów można znaleźć w dokumencie RFC 6749 Section 2.1: OAuth 2.0 Client Types.
Klienci publiczni
Klienci publiczni 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 osadzoną analityką lub niestandardowe rozszerzenia wizualizacji w Qlik Sense wymagające uwierzytelnienia użytkownika.
Klienci poufni
Klienci poufni mogą bezpiecznie przechowywać identyfikator klienta i klucz tajny klienta oraz używać ich do uwierzytelniania na serwerze autoryzacji. Klienci ci mogą uzyskiwać dostęp do chronionych zasobów, ponieważ posiadają klucz tajny klienta.
Przykład: aplikacja internetowa z bezpiecznym zapleczem, która współdziała z interfejsami API Qlik Cloud w celu zarządzania dostępem użytkowników lub organizowania zadań odświeżania danych.
Przepływy autoryzacji OAuth
Qlik obsługuje dwa przepływy autoryzacji (typy przyznawania):
-
Przepływ kodu autoryzacji: dla klientów poufnych.
-
Przepływ kodu autoryzacji z kluczem dowodowym wymiany kodu (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. Obejmuje on wymianę kodu autoryzacji na token dostępu, przy czym klucz tajny klienta jest używany do uwierzytelniania. Aplikacje internetowe korzystające z tego przepływu muszą działać po stronie serwera, ponieważ klucz tajny klienta jest przekazywany do serwera autoryzacji podczas wymiany tokenu.
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
Aplikacje natywne i jednostronicowe 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 tokenu dostępu.
Więcej informacji na temat autoryzacji za pomocą 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 przyznany aplikacjom klienckim OAuth. Na przykład token dostępu może zezwalać na pełny dostęp do zasobów lub ograniczać go do dostępu tylko do odczytu. W Qlik Cloud zakresy kontrolują dostęp klienta do dostępnych funkcji i zasobów. Bez zakresów klienci nie mogą uzyskać dostępu do żadnych zasobów.
Poświadczenia API zapewniają bezpośredni dostęp programistyczny do Qlik Cloud i nie ograniczają się do przepływów pracy dostępnych w interfejsie użytkownika. Przypisuj role i zakresy OAuth zgodnie z zasadą najmniejszych uprawnień. Traktuj konta usług i poświadczenia API z taką samą ostrożnością jak poświadczenia administratora. Więcej informacji można znaleźć w temacie Kontrola dostępu do API i granice zaufania.
Dostępne zakresy OAuth
W tabeli wymieniono dostępne zakresy i powiązane z nimi uprawnienia:
Tworzenie klientów OAuth
Administratorzy dzierżawy zarządzają klientami OAuth w centrum aktywności Administrowanie na stronie OAuth. Za pomocą klienta OAuth można zintegrować aplikację kliencką z Qlik Cloud, aby bezpiecznie uzyskiwać dostęp do zasobów.
Limity dotyczące klientów OAuth
Obowiązują następujące limity:
-
Maksymalnie 5 adresów URL przekierowania na klienta.
-
Maksymalnie 5 dozwolonych źródeł 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 przejdź do OAuth.
-
Kliknij Utwórz nowy.
-
Wybierz typ klienta:
-
Sieć Web dla klientów poufnych.
-
Aplikacja jednostronicowa lub Natywna dla klientów publicznych.
-
Osadzanie anonimowe dla klientów publicznych.
-
-
W oknie dialogowym wprowadź nazwę klienta OAuth.
-
Opcjonalnie dodaj opis.
-
Wybierz dowolne z dostępnych zakresów, przewijając lub używając pola wyszukiwania.
WskazówkaUżyj przycisków Wszystkie i Wybrane , aby wyświetlić wszystkie zakresy lub tylko te wybrane. -
Wprowadź jeden lub więcej adresów URL przekierowania dla aplikacji klienckiej OAuth (maksymalnie 5). Następnie kliknij Dodaj, aby dodać adres URL przekierowania do listy dozwolonych.
-
Adres URL przekierowania to miejsce, do którego serwer autoryzacji wysyła przeglądarkę użytkownika po pomyślnym uwierzytelnieniu i udzieleniu uprawnień aplikacji klienckiej. Na przykład https://www.exampleapp.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 jej adres URL znajduje się na liście dozwolonych adresów URL przekierowania.
-
Adresy URL muszą zaczynać się od https://, chyba że domeną jest localhost, w którym to przypadku mogą zaczynać się od http://. Aplikacje natywne mogą również używać formatu łącza specyficznego dla aplikacji, na przykład exampleapp://.
-
-
W przypadku typów klientów Sieć Web lub Aplikacja jednostronicowa określ jedno lub więcej dozwolonych źródeł (maksymalnie 5).
-
Dostęp do aplikacji zostanie przyznany tylko wtedy, gdy adres URL zostanie dodany do listy dozwolonych źródeł.
-
-
W przypadku typu klienta Sieć Web można włączyć jedną z następujących opcji zautomatyzowanego dostępu do systemu bez interakcji użytkownika:
-
Zezwalaj na komunikację maszyna-maszyna (M2M): umożliwia komunikację między systemami bez udziału użytkownika.
-
Zezwalaj na podszywanie się pod użytkownika M2M: umożliwia aplikacji uwierzytelnianie w imieniu użytkowników, działając jako oni podczas procesu uwierzytelniania.
-
-
W przypadku typu klienta Sieć Web wybierz jedną lub obie opcje w sekcji Metoda uwierzytelniania:
-
Klucz tajny klienta (domyślnie)
-
Klucz prywatny JWT, bezpieczniejsza opcja, która uwierzytelnia klienta przy użyciu pary kluczy publiczny/prywatny zamiast wspólnego klucza tajnego.
-
Po wybraniu opcji Klucz prywatny JWT pojawi się pole Klucz publiczny. Wprowadź klucz publiczny aplikacji innej firmy w formacie JSON Web Key (JWK). Klucz prywatny pozostaje w aplikacji do podpisywania tokenów JWT. Więcej informacji na temat formatu klucza publicznego można znaleźć w sekcji Create a public/private key pair for signing JWTs w portalu Qlik Developer Portal.
InformacjaKlucz publiczny zależy od wymagań dostawcy tożsamości. Jeśli klucz publiczny aplikacji innej firmy ma inny format, użyj narzędzia innej firmy, aby przekonwertować go na format JWK.
-
-
-
Kliknij Utwórz.
-
Kliknij Kopiuj do schowka, aby zapisać identyfikator klienta i klucz tajny klienta do późniejszego wykorzystania. Przechowuj klucz tajny klienta w bezpiecznym miejscu.
InformacjaKlienci publiczni nie mają klucza tajnego klienta. -
Kliknij Gotowe.
Klienci OAuth dla określonych przypadków użycia
Informacje na temat przypadków użycia klienta OAuth można znaleźć w następujących zasobach:
-
OAuth Overview w portalu Qlik Developer Portal: przegląd przypadków użycia OAuth i różnych typów OAuth.
-
Tworzenie klientów OAuth dla dodatków Qlik dla pakietu Microsoft Office: skonfiguruj klienta OAuth do instalacji dodatku Qlik dla programu Microsoft Excel.
-
Tworzenie klienta OAuth dla anonimowych osadzeń zawartości aplikacji: utwórz klienta OAuth, aby umożliwić dostęp anonimowy do osadzonej zawartości aplikacji.
Tworzenie klientów OAuth dla dodatków Qlik dla pakietu Microsoft Office
Do zainstalowania dodatków Qlik do programu Microsoft Office wymagana jest konfiguracja klienta OAuth. Dodatki są używane przez twórców raportów do przygotowywania szablonów raportów do raportowania w aplikacji z Qlik Cloud.
Aby protokół OAuth działał w dodatkach, 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 Qlik Cloud dzierżawy, a następnie ten stały ciąg znaków: /office-add-ins/oAuthLoginSuccess.html
Rezultat powinien wyglądać następująco: https://<tenant or alias hostname>.<region>.qlikcloud.com/office-add-ins/oAuthLoginSuccess.html. Na przykład: http://example-company-123.us.qlikcloud.com/office-add-ins/oAuthLoginSuccess.html
-
Kliknij Dodaj.
-
W polu Dodaj dozwolone pochodzenia wpisz adres URL dzierżawy i kliknij przycisk Dodaj.
-
Kliknij 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 manifestu XML z centrum aktywności Administrowanie. Przejdź do strony Ustawienia i wybierz kartę E-mail i raporty. W sekcji Udostępnianie i raporty wybierz dodatki Qlik do programu Microsoft Office. Użyj podanego łącza, aby wdrożyć i zainstalować dodatek.
Więcej informacji na temat generowania pliku manifestu, a także wdrażania i instalowania dodatku można znaleźć w sekcjach:
-
Wdrażanie i instalowanie Qlik dodatków do programu Microsoft Office
-
Zarządzanie manifestami instalacji dodatków Qlik do Microsoft Office
Tworzenie klienta OAuth dla anonimowych osadzeń zawartości aplikacji
Aby osadzić zawartość aplikacji w celu uzyskania dostępu anonimowego za pomocą qlik-embed, należy utworzyć klienta OAuth o typie specjalnie zaprojektowanym dla tego przypadku użycia.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie przejdź do sekcji OAuth.
-
Kliknij Utwórz nowy.
-
W menu rozwijanym Typ klienta wybierz Osadzanie anonimowe.
-
Wprowadź Nazwę i opcjonalnie Opis klienta OAuth.
-
W sekcji Dozwolone źródła wprowadź każde źródło, które chcesz autoryzować. Są to domeny, które będą uzyskiwać dostęp do dzierżawy Qlik Cloud w celu pobrania informacji dla osadzonej analityki.
Kliknij Dodaj po wstawieniu każdego adresu URL.
-
Po zakończeniu kliknij Utwórz.
-
Kliknij Kopiuj do schowka, aby zapisać identyfikator klienta do późniejszego wykorzystania. Będzie on potrzebny, gdy zawartość aplikacji zostanie osadzona za pomocą qlik-embed.
-
Kliknij 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 przejdź do OAuth.
- Znajdź klienta OAuth, którego chcesz edytować.
- Kliknij
, a następnie wybierz Edytuj.
- Zmodyfikuj opcje klienta OAuth zgodnie z wymaganiami.
- Kliknij Zapisz.
Usuwanie klientów OAuth
Możesz usunąć klienta OAuth, gdy nie jest już potrzebny lub w celu cofnięcia dostępu.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie przejdź do OAuth.
-
Wybierz jednego lub więcej klientów OAuth, których chcesz usunąć, a następnie kliknij Usuń.
- Potwierdź usunięcie.
Publikowanie klientów OAuth
Klienci OAuth są początkowo powiązani z dzierżawą, która ich utworzyła. Można jednak skonfigurować klienta OAuth tak, aby był udostępniany wielu dzierżawom 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ą rotować klucze tajne i aktualizować konfigurację bez interakcji ze strony administratora 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 przejdź do OAuth.
- Znajdź klienta OAuth, którego chcesz opublikować.
- Kliknij
obok klienta i wybierz Opublikuj.
- Kliknij Opublikuj, aby potwierdzić.
Po opublikowaniu klienta OAuth staje się on dostępny do użytku zewnętrznego przez inne dzierżawy. Gdy użytkownik odwiedzi zewnętrzną witrynę internetową korzystającą z tego klienta OAuth, zostanie poproszony o wprowadzenie nazwy hosta dzierżawy i poświadczeń użytkownika, chyba że ma już aktywną sesję SaaS.
Początkowe logowanie będzie wymagało zgody administratora dzierżawy. Po zatwierdzeniu klient OAuth pojawi się w centrum aktywności Administrowanie dzierżawy.
Metody wyrażania zgody
Domyślnie Qlik Cloud prosi użytkowników o zgodę podczas uwierzytelniania. Aby usprawnić ten proces, zwłaszcza w przypadku zaufanych aplikacji, można ustawić metodę wyrażania zgody na „Zaufane”, co powoduje pominięcie monitu o zgodę.
Istnieją dwie opcje wyrażania zgody:
-
Wymagane: użytkownik jest proszony o zgodę za każdym razem, gdy klient OAuth żąda nowego zakresu. Ta metoda zapewnia wyraźną zgodę użytkownika na każdy poziom dostępu.
-
Zaufane: użytkownik nie jest proszony o zgodę. Ta opcja jest dostępna tylko dla nieopublikowanych klientów. W przypadku opublikowanych klientów metoda wyrażania zgody to zawsze Wymagane w celu utrzymania bezpieczeństwa w wielu dzierżawach.
Zmiana metody wyrażania zgody
Aby zmienić metodę wyrażania zgody dla klienta OAuth, wykonaj następujące czynności:
- W centrum aktywności Administrowanie przejdź do OAuth.
- Na kliencie OAuth kliknij
i wybierz Zmień metodę wyrażania zgody.
- Wybierz Wymagane lub Zaufane, a następnie kliknij Zmień metodę wyrażania zgody.
Wyświetlanie i kopiowanie konfiguracji OAuth
W sekcji OAuth centrum aktywności Administrowanie wybierz 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 adresu URL, który można skopiować do użytku w aplikacjach zewnętrznych.
Możesz użyć tej konfiguracji do zintegrowania Qlik Cloud z aplikacjami innych firm, zautomatyzowania dostępu do API lub skonfigurowania uwierzytelniania dla osadzonej analityki.
Zarządzanie kluczami tajnymi klienta
Jeśli klucz tajny klienta zostanie naruszony lub zasady bezpieczeństwa wymagają okresowych aktualizacji, można dodawać lub usuwać 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 przejdź do OAuth.
- Znajdź klienta OAuth.
- Kliknij
i wybierz Zarządzaj kluczami tajnymi.
- Kliknij Wygeneruj nowy klucz tajny klienta.
-
Skopiuj klucz tajny klienta i identyfikator klienta, a następnie przechowuj je w bezpiecznym miejscu.
InformacjaPóźniej nie będzie można uzyskać dostępu do klucza tajnego klienta. - Kliknij Zamknij.
Usuwanie klucza tajnego klienta
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie przejdź do OAuth.
- Znajdź klienta OAuth.
- Kliknij
i wybierz Zarządzaj kluczami tajnymi.
- Kliknij
obok klucza tajnego klienta.
- Kliknij Zamknij.
Więcej o klientach OAuth
Następne kroki: budowanie aplikacji klienckich OAuth
Po zarejestrowaniu klienta OAuth w Qlik Cloud można tworzyć aplikacje klienckie OAuth w celu uzyskiwania dostępu do zawartości Qlik Cloud. Użyj powiązanego identyfikatora klienta i klucza tajnego klienta w swojej aplikacji.
Wskazówki krok po kroku można znaleźć w samouczkach w sekcji OAuth Overview w portalu Qlik Developer Portal. Samouczki te opisują sposób tworzenia aplikacji klienckich przy użyciu popularnych języków programowania.
Klienci OAuth na poziomie organizacji
Oprócz klientów OAuth specyficznych dla dzierżawy można używać klientów OAuth na poziomie organizacji. Jako właściciel konta usługi (SAO) możesz tworzyć tych klientów i zarządzać nimi. Klienci OAuth na poziomie organizacji zapewniają dostęp do informacji o dzierżawie we wszystkich dzierżawach w Twoich subskrypcjach.
Więcej informacji można znaleźć w sekcji Zarządzanie klientami OAuth w My Qlik.