Poświadczenia
Poświadczenia źródła danych można zapamiętywać i ponownie wykorzystywać w poleceniach. Domyślnie ta pamięć podręczna jest przechowywana w pliku lokalnym w %LOCALAPPDATA%/Microsoft/pqtest i zaszyfrowana przy użyciu bieżącego klucza użytkownika.
Można przechowywać poświadczenia w usłudze Azure Key Vaultjako alternatywę dla lokalnego magazynu plików. Tę opcję można włączyć przy użyciu opcji --keyVault / -kv, podając nazwę magazynu kluczy jako argument opcji i ustawiając zmienne środowiskowe określone w poniższej tabeli:
Notatka
W przypadku korzystania z usługi Azure Key Vault poświadczenia są przechowywane jako pojedynczy obiekt binarny, a nie poszczególne wpisy tajne.
Zmienna | Szczegóły | Próbka |
---|---|---|
PQTEST_AZURE_CLIENT_ID | Identyfikator (GUID) dla aplikacji Microsoft Entra ID autoryzowanej do uzyskiwania dostępu do magazynu kluczy. | a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 |
PQTEST_AZURE_CLIENT_SECRET | Tajny klucz klienta dla aplikacji Microsoft Entra ID. | <symbol zastępczy client-secret-placeholder> |
PQTEST_AZURE_TENANT_ID | Identyfikator (GUID) dla klienta posiadającego Azure Key Vault. | a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 |
PQTEST_AZURE_KEY_VAULT_URL | Adres URL skarbca kluczy. | https://<myvault>.vault.azure.net |
Przykład użycia opcji keyVault:
set PQTEST_AZURE_CLIENT_ID="a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
set PQTEST_AZURE_CLIENT_SECRET="<client-secret-placeholder>"
set PQTEST_AZURE_TENANT_ID="a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
set PQTEST_AZURE_KEY_VAULT_URL="https://myvault.vault.azure.net"
<Path to PQTest.exe>.\PQTest.exe list-credential --keyVault secretName
Szablon poświadczeń
Użyj tego polecenia, aby wygenerować szablon poświadczeń w formacie JSON, który można przekazać do polecenia set-credential. To polecenie wymaga podania rozszerzenia i informacji o źródle danych . Jeśli źródło danych obsługuje więcej niż jeden rodzaj uwierzytelniania, należy określić rodzaj uwierzytelniania do użycia z --authenticationKind / -ak.
Szablon danych wyjściowych zawiera wartości zastępcze identyfikowane nazwą klucza $$<>$$, które należy zastąpić przed przekazaniem ich do polecenia set-credential .
Na przykład MyConnector
obsługuje zarówno metody uwierzytelniania Anonimowe, jak i UsernamePassword.
Aby wygenerować poświadczenie Anonymous
, należy użyć następującego polecenia:
<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind Anonymous
Notatka
Wartość danych wyjściowych JSON nie zawiera żadnych wartości zastępczych, ponieważ rodzaj Anonymous
nie wymaga żadnych.
{
"AuthenticationKind": "Anonymous",
"AuthenticationProperties": {},
"PrivacySetting": "None",
"Permissions": []
}
Następujące polecenie służy do generowania poświadczeń UsernamePassword dla tego samego łącznika:
<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind UsernamePassword
Wynikowy szablon zawiera wartości zastępcze $$USERNAME$$
i $$PASSWORD$$
.
{
"AuthenticationKind": "UsernamePassword",
"AuthenticationProperties": {
"Username": "$$USERNAME$$",
"Password": "$$PASSWORD$$"
},
"PrivacySetting": "None",
"Permissions": []
}
Ustawianie poświadczeń
To polecenie służy do przechowywania poświadczeń używanych przez polecenia test-connection i run-test. To polecenie wymaga podania rozszerzenia
- Używanie poświadczeń w formacie JSON.
- Automatyczne poświadczenia dla rodzajów uwierzytelniania, które nie wymagają dodatkowych ustawień (
Anonymous
iWindows
). - Korzystanie z trybu interaktywnego.
Poświadczenia w formacie JSON
Każdy rodzaj poświadczeń można ustawić przy użyciu formatu poświadczeń JSON. Użyj polecenia credential-template, aby wygenerować JSON poświadczeń.
Podczas ustawiania poświadczeń przy użyciu szablonu JSON dane wejściowe muszą być przesyłane potokiem do polecenia lub dostarczane z stdin
za pośrednictwem pliku.
Oto przykład ustawienia poświadczeń Anonymous
przez potokowanie wyniku polecenia credential-template w set-credential:
<Path to PQTest.exe>.\PQTest.exe credential-template -e MyConnector.mez -q MyConnectorQuery.m -p -ak Anonymous | pqtest set-credential -e MyConnector.mez -q MyConnectorQuery.m -p
{
"Details": {
"Kind": "MyConnector",
"Path": "MyConnector",
"NormalizedPath": "MyConnector",
"IsDefaultForKind": false
},
"Message": "Successfully set credential",
"Status": "Success"
}
Oto przykład ustawiania poświadczeń z pliku przechowywanego na dysku (przy użyciu przekierowanych danych wejściowych):
<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p < mySavedCredential.json
{
"Details": {
"Kind": "MyConnector",
"Path": "MyConnector",
"NormalizedPath": "MyConnector",
"IsDefaultForKind": false
},
"Message": "Successfully set credential",
"Status": "Success"
}
Poświadczenia automatyczne
Można ustawić poświadczenia Anonymous
i Windows
bez podawania szablonu poświadczeń .
Notatka
Windows
Poświadczenia ustawione w ten sposób domyślnie używają tożsamości bieżącego użytkownika. Użyj polecenia credential-template, aby wygenerować poświadczenia JSON, które można zmodyfikować w celu użycia alternatywnych poświadczeń konta systemu Windows.
Aby wygenerować poświadczenie Windows
, należy użyć następującego polecenia:
<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind windows
Aby wygenerować poświadczenie Anonymous
, należy użyć następującego polecenia:
<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind anonymous
Tryb interaktywny
Poświadczenia można ustawić przy użyciu trybu interaktywnego przy użyciu opcji wiersza polecenia --interactive.
Tryb interaktywny może być używany dla OAuth
i Aad
rodzajów uwierzytelniania. Uruchomienie polecenia w tym trybie powoduje wyświetlenie okna dialogowego OAuth, które może służyć do testowania implementacji protokołu OAuth.
Interakcyjne przepływy OAuth używają składnika przeglądarki WebView2 (Microsoft Edge Chromium), który może wymagać oddzielnego zainstalowania. Więcej szczegółów można znaleźć w dokumentacji protokołu OAuth Power Query dla programu Power BI Desktop.
Opcja --useLegacyBrowser może służyć do wymuszenia okna przeglądarki osadzonej IE11.