Megosztás a következőn keresztül:


Hitelesítő adatok programozott konfigurálása a Power BI-hoz

A KÖVETKEZŐKRE VONATKOZIK: Az alkalmazás az adatok tulajdonosa, a felhasználóé az adat

Ha programozott módon szeretné konfigurálni a hitelesítő adatokat a Power BI-hoz, kövesse az ebben a cikkben ismertetett lépéseket. A hitelesítő adatok programozott konfigurálása lehetővé teszi a hitelesítő adatok titkosítását is.

Feljegyzés

  • A hívó felhasználónak szemantikai modelltulajdonosnak vagy átjáró-rendszergazdának kell lennie. Szolgáltatásnevet is használhat. A szolgáltatásnév lehet például a szemantikai modell tulajdonosa.
  • A felhőbeli adatforrások és a hozzájuk tartozó hitelesítő adatok felhasználói szinten vannak kezelve.

Adatforrások hitelesítőadat-folyamatának frissítése

  1. Az adatforrások lekérésével felfedezheti a szemantikai modell adatforrásait. Az egyes adatforrások választörzse tartalmazza a típust, a kapcsolat részleteit, az átjárót és az adatforrás-azonosítót.

    // Select a datasource
    var datasources = pbiClient.Datasets.GetDatasources(datasetId).Value;
    var datasource = datasources.First();
    
  2. Hozza létre a hitelesítőadat-sztringet az Update Datasource-példáknak megfelelően. A hitelesítő adatok sztringjének tartalma a hitelesítő adatok típusától függ.

    var credentials =  new BasicCredentials(username: "username", password :"*****");
    

    Feljegyzés

    Ha felhőalapú adatforrásokat használ, ne kövesse az ebben a szakaszban szereplő következő lépéseket. Hívja meg az Update Datasource-t a hitelesítő adatok beállításához az 1. lépésben beszerzett átjáróazonosító és adatforrás-azonosító használatával.

  3. Kérje le az átjáró nyilvános kulcsát a Get Gateway meghívásával.

    var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);
    
  4. Titkosítsa a hitelesítő adatokat.

    var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);
    
  5. A hitelesítő adatok létrehozása titkosított hitelesítő adatokkal.

    Használja az AsymetricKeyEncryptor osztályt a 3. lépésben lekért nyilvános kulccsal.

    var credentialDetails = new CredentialDetails(
            credentials,
            PrivacyLevel.Private,
            EncryptedConnection.Encrypted,
            credentialsEncryptor);
    
  6. Állítsa be a hitelesítő adatokat az Update Datasource meghívásával.

    pbiClient.Gateways.UpdateDatasource(datasource.GatewayId.Value, datasource.DatasourceId.Value, new UpdateDatasourceRequest(credentialDetails));
    

Új adatforrás konfigurálása adatátjáróhoz

  1. Telepítse a helyszíni adatátjárót a gépére.

  2. Az átjáróazonosító és a nyilvános kulcs lekérése az átjárók lekérésével.

    // Select a gateway
    var gateways = pbiClient.Gateways.GetGateways().Value;
    var gateway = gateways.First();
    
  3. A hitelesítő adatok adatait a 2. lépésben lekért nyilvános átjárókulcs használatával az adatforrások frissítési hitelesítő adatainak folyamatában leírt eljárással hozhatja létre.

  4. Hozza létre a kérelem törzsét.

    var request = new PublishDatasourceToGatewayRequest(
            dataSourceType: "SQL",
            connectionDetails: "{\"server\":\"myServer\",\"database\":\"myDatabase\"}",
            credentialDetails: credentialDetails,
            dataSourceName: "my sql datasource");
    
  5. Hívja meg az Adatforrás létrehozása API-t.

    pbiClient.Gateways.CreateDatasource(gateway.Id, request);
    

Hitelesítő adatok típusai

Amikor egy vállalati helyszíni átjárón a Power BI REST API-ból meghívja az Adatforrás létrehozása vagy az Adatforrás frissítése parancsot, titkosítsa a hitelesítő adatok értékét az átjáró nyilvános kulcsával.

Feljegyzés

A .NET SDK v3 a következő .NET SDK v2-példákat is futtathatja.

Windows és alapszintű hitelesítő adatok

// Windows credentials
var credentials = new WindowsCredentials(username: "john", password: "*****");

// Or

// Basic credentials
var credentials = new BasicCredentials(username: "john", password: "*****");

var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);

Kulcs hitelesítő adatai

var credentials = new KeyCredentials("TestKey");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);

OAuth2 hitelesítő adatok

var credentials = new OAuth2Credentials("TestToken");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);

Névtelen hitelesítő adatok

var credentials = new AnonymousCredentials();
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.NotEncrypted);

Hibaelhárítás

Az adatforrások lekérésekor nem található átjáró és adatforrás-azonosító

Ez a probléma azt jelenti, hogy a szemantikai modell nincs átjáróhoz kötve. Új szemantikai modell létrehozásakor a rendszer automatikusan létrehoz egy hitelesítő adatokat nem tartalmazó adatforrást a felhasználó felhőátjáróján minden felhőkapcsolathoz. A felhőátjáró a felhőkapcsolatok hitelesítő adatainak tárolására szolgál.

A szemantikai modell létrehozása után automatikus kötés jön létre a szemantikai modell és egy megfelelő átjáró között, amely minden kapcsolathoz megfelelő adatforrásokat tartalmaz. Az automatikus kötés meghiúsul, ha nincs megfelelő átjáró vagy átjáró.

Ha helyszíni szemantikai modelleket használ, hozza létre a hiányzó helyszíni adatforrásokat, és manuálisan kösse a szemantikai modellt egy átjáróhoz a Kötés átjáróhoz használatával.

A köthető átjárók felderítéséhez használja az Átjárók felderítése lehetőséget.