Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:✅ Power BI analitik yang disematkan untuk pelanggan Anda (Data milik aplikasi) dan analitik tersemat Power BI untuk organisasi Anda (Data milik pengguna)
Untuk mengonfigurasi kredensial secara terprogram untuk Power BI, ikuti langkah-langkah dalam artikel ini. Mengonfigurasi kredensial secara terprogram juga memungkinkan Anda mengenkripsi kredensial.
Contoh dalam artikel ini ada di .NET di C#. Untuk menemukan contoh di Java, Python, dan PowerShell, buka repositori masing-masing. Untuk contoh enkripsi kredensial KeyPair, lihat Python dan PowerShell. Untuk contoh enkripsi kredensial KeyPair, lihat Python dan PowerShell.
Catatan
- Pengguna panggilan atau perwakilan layanan harus merupakan pemilik model semantik atau admin gateway.
- Sumber data cloud dan infromasi masuk terkaitnya dikelola di tingkat pengguna.
Memperbarui alur kredensial untuk sumber data
Temukan sumber data model semantik dengan memanggil Get Datasources. Isi respons untuk setiap sumber data berisi jenis, detail koneksi, gateway, dan ID sumber data.
// Select a datasource var datasources = pbiClient.Datasets.GetDatasources(datasetId).Value; var datasource = datasources.First();Buat string kredensial sesuai dengan Contoh Pembaruan Sumber Data. Konten string kredensial bergantung pada jenis kredensial.
var credentials = new BasicCredentials(username: "username", password :"*****");Catatan
Jika Anda menggunakan sumber data cloud, jangan ikuti langkah-langkah berikutnya di bagian ini. Panggil Update Datasource untuk mengatur kredensial menggunakan ID gateway dan ID sumber data yang Anda peroleh di langkah 1.
Ambil kunci publik gateway dengan memanggil Get Gateway.
var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);Enkripsi informasi masuk.
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);Buat detail kredensial dengan kredensial terenkripsi.
Gunakan kelas AsymetricKeyEncryptor dengan kunci publik yang diambil di Langkah 3.
var credentialDetails = new CredentialDetails( credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);Atur kredensial dengan memanggil Perbarui Sumber Data.
pbiClient.Gateways.UpdateDatasource(datasource.GatewayId.Value, datasource.DatasourceId.Value, new UpdateDatasourceRequest(credentialDetails));
Mengonfigurasi sumber data baru untuk gateway data
Pasang Gateway data lokal di komputer Anda.
Ambil ID gateway dan kunci publik dengan memanggil Dapatkan Gateway.
// Select a gateway var gateways = pbiClient.Gateways.GetGateways().Value; var gateway = gateways.First();Buat detail kredensial dengan mengikuti prosedur yang dijelaskan di bagian perbarui kredensial untuk sumber data dengan menggunakan kunci publik gateway yang Anda ambil di langkah 2.
Buat bodi permintaan.
var request = new PublishDatasourceToGatewayRequest( dataSourceType: "SQL", connectionDetails: "{\"server\":\"myServer\",\"database\":\"myDatabase\"}", credentialDetails: credentialDetails, dataSourceName: "my sql datasource");Panggil Buat Sumber Data API.
pbiClient.Gateways.CreateDatasource(gateway.Id, request);
Jenis kredensial
Saat Anda memanggil Buat Sumber Data atau Perbarui Sumber Data dari Power BI REST API di gateway lokal perusahaan, enkripsi nilai kredensial dengan menggunakan kunci publik gateway.
Catatan
.NET SDK v3 juga dapat menjalankan contoh .NET SDK v2 berikut.
Windows dan kredensial dasar
// 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);
Kredensial utama
var credentials = new KeyCredentials("TestKey");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
Informasi masuk OAuth2
var credentials = new OAuth2Credentials("TestToken");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
Kredensial anonim
var credentials = new AnonymousCredentials();
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.NotEncrypted);
Pemecahan Masalah
Tidak ditemukan gateway maupun ID sumber data saat memanggil Get Data Sources
Masalah ini berarti bahwa model semantik tidak terikat ke gateway. Saat Anda membuat model semantik baru, sumber data tanpa kredensial dibuat secara otomatis di gateway cloud pengguna untuk setiap koneksi cloud. Gateway cloud digunakan untuk menyimpan kredensial untuk koneksi cloud.
Setelah Anda membuat model semantik, pengikatan otomatis dibuat antara model semantik dan gateway yang sesuai, yang berisi sumber data yang cocok untuk semua koneksi. Pengaitan otomatis gagal jika tidak ada gateway yang sesuai.
Jika Anda menggunakan model semantik lokal, buat sumber data lokal yang hilang, dan ikat model semantik ke gateway secara manual dengan menggunakan Ikat Ke Gateway.
Untuk menemukan gateway yang dapat diikat, gunakan Temukan Gateway.