Tworzenie klientów OAuth i zarządzanie nimi
OAuth to standardowy 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 może uzyskać kod autoryzacyjny i wymienić go na token dostępu, którego można użyć do uzyskania dostępu do treści Qlik Cloud przez interfejsy API.
Klienty jawne i poufne
OAuth ma dwa typy klientów: publiczne i poufne, aby zabezpieczyć autoryzację między aplikacją (klientem) a serwerem autoryzacji (Qlik Cloud).
Klienty publiczne
Klienty publiczne to aplikacje, które nie używają klucza tajnego klienta, ponieważ nie mogą zachować poufności wymaganych poświadczeń. Klienty publiczne w Qlik Cloud to często aplikacje frontendowe, takie jak aplikacje jednostronicowe z wbudowanymi funkcjami analitycznymi lub niestandardowym rozszerzeniem wizualizacji w Qlik Sense, które wymagają informacji o użytkowniku końcowym w celu obsługi cyklu życia aplikacji.
Zobacz : RFC 6749 Section 2.1: OAuth 2.0 Client Types.
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 typów udzielania dostępu autoryzacji.
Klienty poufne
Klient poufny to aplikacja, która przechowuje identyfikator i klucz tajny klienta w bezpieczny sposób, nie narażając ich na dostęp niepowołanych osób. Klienty poufne mogą mieć dostęp do chronionych zasobów, ponieważ są w posiadaniu klucza tajnego klienta. Przykładem klienta poufnego jest aplikacja internetowa z bezpiecznym zapleczem wchodzącym w interakcję z interfejsami API Qlik Cloud w celu koordynowania zadań odświeżania danych lub zarządzania dostępem użytkowników do zawartości.
Typy nadawania autoryzacji
Qlik obsługuje dwa typy przyznawania autoryzacji, czyli przepływy: Authorization Code Flow oraz Authorization Code Flow with Proof Key for Code Exchange (PKCE). Te przepływy są bardzo podobne, ale są przeznaczone do różnych zastosowań.
Authorization Code Flow
Tradycyjne aplikacje internetowe to aplikacje po stronie serwera, których kod źródłowy nie jest publicznie udostępniany, dlatego mogą korzystać z metody Authorization Code Flow, która wymienia kod autoryzacyjny na token. Aplikacje internetowe korzystające z tej metody muszą działać po stronie serwera, ponieważ podczas wymiany tokena klucz tajny klienta aplikacji jest przekazywany do serwera autoryzacji.
Zobacz Authorization Code Flow, aby uzyskać więcej informacji.
Authorization Code Flow z Proof Key for Code Exchange (PKCE)
Aplikacje natywne i jednostronicowe nie mogą przechowywać klucza tajnego klienta, ponieważ ich kod źródłowy jest dostępny odpowiednio poprzez dekompilację aplikacji lub przeglądanie źródła aplikacji za pośrednictwem przeglądarki. PKCE dodaje kolejną warstwę ochrony na klientach publicznych, wymagając użycia weryfikatora kodu w celu uzyskania tokena dostępu.
Zobacz Authorization Code Flow with Proof Key for Code Exchange (PKCE), aby uzyskać więcej informacji.
Ograniczanie zakresów dostępnych dla klientów OAuth
Zakresy OAuth umożliwiają ograniczenie dostępu przyznawanego aplikacjom klienckim OAuth. Na przykład token dostępu wydany aplikacji klienckiej może uzyskać pełny dostęp do chronionych zasobów albo tylko dostęp do odczytu.
W Qlik Cloud zakresy umożliwiają kontrolowanie dostępu klientów do dostępnych funkcji i zasobów. Każdy zakres zapewnia inny poziom dostępu. Klienty bez zakresów nie będą mogły uzyskać dostępu do żadnych zasobów.
Tworzenie klienta 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.
Informacje o tym, jak utworzyć klienta OAuth do wdrożenia i instalacji dodatku Qlik do programu Microsoft Excel, zawiera temat Tworzenie klienta OAuth dla dodatku Qlik do programu Microsoft Excel.
Wykonaj następujące czynności:
-
W centrum aktywności Administrowanie wybierz pozycję OAuth.
-
Kliknij polecenie Utwórz nowe.
-
Wybierz typ klienta.
Użyj opcji Internet dla klientów poufnych lub Aplikacja jednostronicowa albo Natywny dla klientów publicznych.
-
W oknie dialogowym nadaj nazwę klientowi OAuth.
-
Opcjonalnie dodaj opis.
-
Wybierz dowolny z dostępnych zakresów, przewijając lub korzystając z pola wyszukiwania.
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.
Zob. także: Zarządzanie aplikacjami
admin.apps:export
Eksport wszystkich aplikacji w dzierżawie
Zob. także: Eksportowanie aplikacji
admin.apps:read
Odczyt wszystkich aplikacji w dzierżawie admin.automations Odczyt wszystkich automatyzacji w dzierżawie i zarządzanie nimi
Zob. także: Zarządzanie automatyzacjami
admin.automations:read
Odczyt wszystkich automatyzacji w dzierżawie admin.spaces Odczyt wszystkich przestrzeni w dzierżawie i zarządzanie nimi
Zob. także: Zarządzanie przestrzeniami
admin.spaces:read
Odczyt wszystkich przestrzeni w dzierżawie aplikacje Odczyt aplikacji i zarządzanie nimi
Zob. także: Zarządzanie aplikacjami
apps:export
Eksport aplikacji
Zob. także: Eksportowanie aplikacji
apps:read
Odczyt aplikacji Automatyzacje: Odczyt automatyzacji i zarządzanie nimi
Zob. także: Zarządzanie automatyzacjami
automations:read
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
Zob. także: Dostawcy tożsamości
identity.name:read
Odczyt imienia i nazwiska identity.picture:read Odczyt zdjęcia profilowego
Zob. także: Dostawcy tożsamości
identity.subject:read
Odczyt identyfikatora podmiotu użytkownika spaces.data Odczyt przestrzeni danych i zarządzanie nimi
Zob. także: Zarządzanie przestrzeniami
spaces.data:read
Odczyt przestrzeni danych spaces.managed Odczyt przestrzeni zarządzanych i zarządzanie nimi
Zob. także: Zarządzanie przestrzeniami
spaces.managed:read
Odczyt przestrzeni zarządzanych spaces.shared Odczyt przestrzeni udostępnionych i zarządzanie nimi
Zob. także: Zarządzanie przestrzeniami
spaces.shared:read
Odczyt przestrzeni udostępnionych offline_access Dostęp do zasobów w trybie offline
InformacjaNieobsługiwane w przypadku klientów typu aplikacja jednostronicowa.InformacjaMożesz użyć przycisków Wszystkie i Wybrane nad listą, aby wyświetlić wszystkie lub tylko wybrane zakresy.InformacjaPowyższa lista odzwierciedla zakresy obsługiwane w wydaniu początkowym. Pełną listę zakresów — łącznie ze wszystkimi zakresami dodanymi po wydaniu początkowym — można znaleźć w Portalu dla developerów Qlik. -
Wprowadź jeden lub więcej adresów URL przekierowania aplikacji klienckiej OAuth.
WskazówkaAdres 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://.
Kliknij przycisk Dodaj, aby dodać adres URL przekierowania do listy dozwolonych.
-
W przypadku klienta typu Web lub Aplikacja jednostronicowa określ jedno lub więcej dozwolonych źródeł. 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ć opcję Zezwól na dostęp Maszyna-maszyna (M2M) lub Zezwól na personifikację użytkowników w interakcjach M2M, aby uzyskać automatyczny dostęp do systemu bez interakcji użytkownika. Personifikacja użytkowników w interakcjach M2M umożliwia aplikacjom działanie w imieniu użytkowników podczas uwierzytelniania.
-
Kliknij polecenie Utwórz.
-
Kliknij Kopiuj do schowka, aby zapisać identyfikator klienta i klucz tajny klienta do późniejszego wykorzystania. Przechowuj tajny klucz klienta w bezpiecznej lokalizacji. Kliknij przycisk Gotowe.
InformacjaKlienty publiczne nie będą mieć żadnych kluczy tajnych klienta.
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 Tworzenie klienta 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 klienta 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.
- Wybierz klienta OAuth do edycji. Kliknij ..., a następnie wybierz Edytuj.
- W oknie dialogowym odpowiednio zmień opcje klienta OAuth.
- Kliknij przycisk Zapisz.
Publikowanie klienta OAuth
Utworzone klienty OAuth są automatycznie powiązane z dzierżawą, która je utworzyła. Klienta OAuth można skonfigurować tak, aby był udostępniany i dostępny dla wszystkich innych dzierżaw w regionie. Aplikacje innych producentów łączące się z Qlik Cloud mogą wtedy mieć ten sam identyfikator klienta dla wszystkich dzierżaw Qlik Cloud. Właściciel aplikacji może 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.
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.
- Wybierz klienta OAuth do publikacji. Kliknij ..., a następnie wybierz Opublikuj.
- Kliknij polecenie Opublikuj.
Gdy użytkownik przejdzie do zewnętrznej witryny internetowej korzystającej z Qlik OAuth, zostanie poproszony o podanie nazwy hosta dzierżawy, a następnie również o poświadczenia użytkownika, chyba że użytkownik ma już aktywną sesję SaaS. Pierwsze logowanie za pomocą zewnętrznego klienta OAuth wymaga zgody administratora dzierżawy. Po zatwierdzeniu nowy klient OAuth jest wyświetlany w centrum aktywności Administrowanie.
Sposób udzielenia zgody
Istnieją dwie opcje wyrażenia zgody: wymaganie i zaufanie. Jeśli zgoda będzie wymagana, autoryzacja przy użyciu klienta OAuth będzie prosić o nią za każdym razem, gdy użytkownik zażąda nowego zakresu. W przypadku opcji zaufania użytkownik nie jest monitowany. Opcji zaufania można używać tylko w przypadku nieopublikowanych klientów. W przypadku opublikowanych klientów metoda wyrażania zgody jest zawsze wymagana.
Przeglądanie i kopiowanie konfiguracji OAuth
W sekcji OAuth centrum aktywności Administrowanie wybierz opcję Wyświetl konfigurację OAuth, aby wyświetlić konfigurację jako fragment kodu i adres URL do skopiowania.
Usuwanie klienta 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 klienta Oauth do usunięcia, a następnie kliknij Usuń.
InformacjaMożna usunąć więcej niż jednego klienta OAuth jednocześnie. - Potwierdź, że chcesz usunąć tego klienta OAuth.
Zarządzanie kluczami tajnymi klienta
Dodanie lub usunięcie klucza tajnego klienta może okazać się potrzebne, jeśli na przykład jego bezpieczeństwo zostanie naruszone lub polityka bezpieczeństwa wymaga okresowego aktualizowania klucza tajnego klienta. Aby zapobiec przestojom w aplikacji, można również dodać wiele kluczy tajnych klienta. Na przykład możesz utworzyć drugi klucz tajny, wdrożyć nowy klucz tajny w aplikacji klienckiej, a następnie usunąć stary klucz tajny.
Wykonaj następujące czynności:
- W centrum aktywności Administrowanie wybierz pozycję OAuth.
- Wybierz klienta Oauth, którym chcesz zarządzać. Kliknij ..., a następnie wybierz Zarządzaj kluczami tajnymi.
- W oknie dialogowym wykonaj jedną z następujących czynności:
- Aby dodać nowy klucz tajny klienta, kliknij Utwórz nowy klucz tajny klienta.
- Aby usunąć klucz tajny klienta, kliknij obok niego.
- Kliknij polecenie Zamknij.
Tworzenie aplikacji klienckiej 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 we własnej aplikacji klienckiej OAuth. W sekcji OAuth Portalu dla deweloperów znajdują się samouczki tworzenia aplikacji klienckich przy użyciu wybranych najpopularniejszych języków kodowania.