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
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();
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.
Kérje le az átjáró nyilvános kulcsát a Get Gateway meghívásával.
var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);
Titkosítsa a hitelesítő adatokat.
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);
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);
Á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
Telepítse a helyszíni adatátjárót a gépére.
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();
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.
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");
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.