Udostępnij za pośrednictwem


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 i informacji o źródle danych. Poświadczenia można ustawić na jeden z trzech sposobów:

  • Używanie poświadczeń w formacie JSON.
  • Automatyczne poświadczenia dla rodzajów uwierzytelniania, które nie wymagają dodatkowych ustawień (Anonymous i Windows).
  • 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"
}

Notatka

Anonymous i Windows można skonfigurować za pomocą automatycznych poświadczeń .

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.