Condividi tramite


Titolo

Le credenziali dell'origine dati possono essere memorizzate nella cache e riutilizzate tra i comandi. Per impostazione predefinita, questa cache viene archiviata in un file locale in %LOCALAPPDATA%/Microsoft/pqtest e crittografata con la chiave utente corrente.

In alternativa all'archiviazione file locale, è possibile archiviare le credenziali in un insieme di credenziali delle chiavi di Azure. È possibile abilitare questa opzione usando l'opzione --keyVault-kv / , specificando un nome dell'insieme di credenziali delle chiavi come argomento di opzione e impostando le variabili di ambiente specificate nella tabella seguente:

Nota

Quando si usa Azure Key Vault, le credenziali vengono archiviate come singolo oggetto binario, anziché come singoli segreti.

Variabile Dettagli Esempio
PQTEST_AZURE_CLIENT_ID ID (GUID) per l'applicazione Microsoft Entra ID autorizzato ad accedere all'insieme di credenziali delle chiavi. c265f4e8-a32f-4548-a21e-3542ec65134a
PQTEST_AZURE_CLIENT_edizione Standard CRET Segreto client per l'applicazione Microsoft Entra ID. <client-secret-placeholder>
PQTEST_AZURE_TENANT_ID ID (GUID) per il tenant proprietario dell'insieme di credenziali delle chiavi di Azure. c265f4e8-a32f-4548-a21e-3542ec65134a
PQTEST_AZURE_KEY_VAULT_URL URL dell'insieme di credenziali delle chiavi. https://<myvault>.vault.azure.net

Esempio di uso dell'opzione keyVault :

set PQTEST_AZURE_CLIENT_ID="c265f4e8-a32f-4548-a21e-3542ec65134a"
set PQTEST_AZURE_CLIENT_SECRET="<client-secret-placeholder>"
set PQTEST_AZURE_TENANT_ID="c265f4e8-a32f-4548-a21e-3542ec65134a"
set PQTEST_AZURE_KEY_VAULT_URL="https://myvault.vault.azure.net"

<Path to PQTest.exe>.\PQTest.exe list-credential --keyVault secretName

Modello credenziali

Usare questo comando per generare un modello di credenziale in formato JSON che può essere passato al comando set-credential . Il comando richiede di fornire un'estensione e informazioni sull'origine dati. Se l'origine dati supporta più tipi di autenticazione, è necessario specificare il tipo di autenticazione da usare con l'opzione --authenticationKind-ak / .

Il modello di output include valori segnaposto identificati con un $$<nome$$> di chiave che deve essere sostituito prima di passarli al comando set-credential.

Ad esempio, MyConnector supporta i tipi di autenticazione Anonymous e UsernamePassword.

Per generare una Anonymous credenziale, verrà usato il comando seguente:

<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind Anonymous

Nota

Il valore JSON di output non contiene valori segnaposto perché il Anonymous tipo non richiede alcun valore.

{
  "AuthenticationKind": "Anonymous",
  "AuthenticationProperties": {},
  "PrivacySetting": "None",
  "Permissions": []
}

Il comando seguente viene usato per generare una credenziale UsernamePassword per lo stesso connettore:

<Path to PQTest.exe>.\PQTest.exe credential-template --extension MyConnector.mez --queryFile MyConnectorQuery.m --prettyPrint --authenticationKind UsernamePassword

Il modello risultante contiene $$USERNAME$$ e $$PASSWORD$$ valori segnaposto.

{
  "AuthenticationKind": "UsernamePassword",
  "AuthenticationProperties": {
    "Username": "$$USERNAME$$",
    "Password": "$$PASSWORD$$"
  },
  "PrivacySetting": "None",
  "Permissions": []
}

Set-credential

Usare questo comando per archiviare le credenziali usate dai comandi test-connection e run-test . Il comando richiede di fornire un'estensione e informazioni sull'origine dati. Le credenziali possono essere impostate in uno dei tre modi seguenti:

  • Uso di credenziali in formato JSON.
  • Credenziali automatiche per i tipi di autenticazione che non richiedono impostazioni aggiuntive (Anonymous e Windows).
  • Uso della modalità interattiva.

Credenziali in formato JSON

Qualsiasi tipo di credenziale può essere impostato usando il formato delle credenziali JSON. Usare il comando credential-template per generare il codice JSON delle credenziali.

Quando si imposta una credenziale usando il modello JSON, l'input deve essere inviato tramite pipe al comando o fornito da stdin tramite un file.

Ecco un esempio di impostazione di una Anonymous credenziale tramite pipe del risultato del comando credential-template in 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"
}

Nota

Anonymous e Windows le credenziali possono essere impostate usando le credenziali automatiche.

Di seguito è riportato un esempio di impostazione di credenziali da un file archiviato su disco (usando l'input reindirizzato):

<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"
}

Credenziali automatiche

È possibile impostare Anonymous le credenziali e Windows senza fornire un modello di credenziale.

Nota

Windows le credenziali impostate in questo modo per impostazione predefinita usano l'identità dell'utente corrente. Usare il comando credential-template per generare credenziali JSON che possono essere modificate per usare credenziali dell'account di Windows alternative.

Per generare una Windows credenziale, verrà usato il comando seguente:

<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind windows

Per generare una Anonymous credenziale, verrà usato il comando seguente:

<Path to PQTest.exe>.\PQTest.exe set-credential -e MyConnector.mez -q MyConnectorQuery.m -p --authenticationKind anonymous

Modalità interattiva

Le credenziali possono essere impostate usando la modalità interattiva usando l'opzione della riga di comando --interactive .

La modalità interattiva può essere usata per i OAuth tipi di autenticazione e Aad . L'esecuzione del comando in questa modalità presenta una finestra di dialogo OAuth che può essere usata per testare l'implementazione di OAuth.

I flussi OAuth interattivi usano il componente del browser WebView2 (Microsoft Edge Chromium), che potrebbe essere necessario installare separatamente. Altri dettagli sono disponibili nella documentazione di Power Query OAuth per Power BI Desktop.

L'opzione --useLegacyBrowser può essere usata per forzare una finestra del browser incorporato di Internet Explorer 11.