Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:✅ Müşterileriniz için Power BI gömülü analizi (App-owns-data) ve kuruluşunuz için Power BI gömülü analizi (User-owns-data)
Power BI'da kimlik bilgilerini program aracılığıyla yapılandırmak için bu makaledeki adımları izleyin. Kimlik bilgilerini program aracılığıyla yapılandırmak, kimlik bilgilerini şifrelemenize de olanak tanır.
Bu makaledeki örnekler, C# dilinde .NET içindir. Java, Python ve PowerShell'deki örnekleri bulmak için ilgili depoya gidin. KeyPair kimlik bilgisi şifreleme örnekleri için bkz. Python ve PowerShell. KeyPair kimlik bilgisi şifreleme örnekleri için bkz. Python ve PowerShell.
Not
- Çağıran kullanıcı veya hizmet sorumlusu bir anlam modeli sahibi veya ağ geçidi yöneticisi olmalıdır.
- Bulut veri kaynakları ve buna karşılık gelen kimlik bilgileri kullanıcı düzeyinde yönetilir.
Veri kaynakları için kimlik bilgileri akışını güncelleştirme
Get Datasources'ı çağırarak anlamsal modelin veri kaynaklarını keşfedin. Her veri kaynağının yanıt gövdesi türü, bağlantı ayrıntıları, ağ geçidi ve veri kaynağı kimliğini içerir.
// Select a datasource var datasources = pbiClient.Datasets.GetDatasources(datasetId).Value; var datasource = datasources.First();Veri Kaynağını Güncelleştirme Örnekleri'ne göre kimlik bilgileri dizesini oluşturun. Kimlik bilgileri dizesinin içeriği kimlik bilgilerinin türüne bağlıdır.
var credentials = new BasicCredentials(username: "username", password :"*****");Not
Bulut veri kaynaklarını kullanıyorsanız bu bölümdeki sonraki adımları izlemeyin. 1. adımda elde ettiğiniz ağ geçidi kimliğini ve veri kaynağı kimliğini kullanarak kimlik bilgilerini ayarlamak için Update Datasource'u çağırın.
Get Gateway'i çağırarak ağ geçidi ortak anahtarını alın.
var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);Kimlik bilgilerini şifreleyin.
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);Kimlik bilgisi ayrıntılarını şifrelenmiş kimlik bilgileriyle oluşturun.
AsymetricKeyEncryptor sınıfını, 3. Adımda elde edilen açık anahtarla kullanın.
var credentialDetails = new CredentialDetails( credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);Güncelleştirme Veri Kaynağını çağırarak kimlik bilgilerini ayarlayın.
pbiClient.Gateways.UpdateDatasource(datasource.GatewayId.Value, datasource.DatasourceId.Value, new UpdateDatasourceRequest(credentialDetails));
Veri ağ geçidi için yeni bir veri kaynağı yapılandırma
Makinenize Şirket içi veri ağ geçidini yükleyin.
Get Gateways işlevini çağırarak ağ geçidi kimliğini ve açık anahtarı alın.
// Select a gateway var gateways = pbiClient.Gateways.GetGateways().Value; var gateway = gateways.First();2. adımda aldığınız ağ geçidi ortak anahtarını kullanarak veri kaynakları için kimlik bilgileri akışını güncelleştirme bölümünde açıklanan yordamı izleyerek kimlik bilgisi ayrıntılarını oluşturun.
İstek gövdesini oluşturun.
var request = new PublishDatasourceToGatewayRequest( dataSourceType: "SQL", connectionDetails: "{\"server\":\"myServer\",\"database\":\"myDatabase\"}", credentialDetails: credentialDetails, dataSourceName: "my sql datasource");Veri Kaynağı Oluşturma API'sini çağırın.
pbiClient.Gateways.CreateDatasource(gateway.Id, request);
Kimlik bilgileri türleri
Kurumsal şirket içi ağ geçidindeki Power BI REST API'sinden Veri Kaynağı Oluştur veya Veri Kaynağını Güncelleştir'i çağırdığınızda, ağ geçidi ortak anahtarını kullanarak kimlik bilgileri değerini şifreleyin.
Not
.NET SDK v3, aşağıdaki .NET SDK v2 örneklerini de çalıştırabilir.
Windows ve temel kimlik bilgileri
// 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);
Anahtar kimlik bilgileri
var credentials = new KeyCredentials("TestKey");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
OAuth2 kimlik bilgileri
var credentials = new OAuth2Credentials("TestToken");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
Anonim kimlik bilgileri
var credentials = new AnonymousCredentials();
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.NotEncrypted);
Sorun giderme
Get veri kaynakları çağrılırken ağ geçidi ve veri kaynağı kimliği bulunamadı
Bu sorun, anlamsal modelin bir ağ geçidine bağlı olmadığı anlamına gelir. Yeni bir anlam modeli oluşturduğunuzda, her bulut bağlantısı için kullanıcının bulut ağ geçidinde kimlik bilgileri olmayan bir veri kaynağı otomatik olarak oluşturulur. Bulut ağ geçidi, bulut bağlantılarının kimlik bilgilerini depolamak için kullanılır.
Semantik modeli oluşturduktan sonra, semantik model ile tüm bağlantılar için eşleşen veri kaynaklarını içeren uygun bir ağ geçidi arasında otomatik bağlama oluşturulur. Uygun bir veya daha fazla ağ geçidi yoksa otomatik bağlama başarısız olur.
Şirket içi anlam modelleri kullanıyorsanız eksik şirket içi veri kaynaklarını oluşturun ve Ağ Geçidine Bağlama'yı kullanarak anlam modelini el ile bir ağ geçidine bağlayın.
Bağlanabilen ağ geçitlerini bulmak için Ağ Geçitlerini Bulma'yı kullanın.