Saat mendaftarkan aplikasi Microsoft Entra, Anda memberinya izin untuk mengakses berbagai API. Saat kebutuhan Anda berubah, Anda mungkin ingin menyesuaikan izin ini. Artikel ini menunjukkan cara.
Catatan
Izin aplikasi Microsoft Entra hanya berlaku untuk skenario ini:
Menyematkan untuk organisasi Anda
Sematkan untuk pelanggan Anda dengan metode autentikasi pengguna master
Mengedit pengaturan izin di aplikasi Microsoft Entra Anda
Perubahan izin dapat dilakukan secara terprogram, atau dalam portal Azure.
Pilih penyewa Microsoft Entra Anda dengan memilih akun Anda di sudut kanan atas halaman.
Pilih Pendaftaran aplikasi. Jika Anda tidak dapat melihat opsi ini, cari opsi tersebut.
Dari tab Aplikasi yang dimiliki, pilih aplikasi Anda. Aplikasi terbuka di tab Gambaran Umum, tempat Anda dapat meninjau ID Aplikasi.
Pilih tab Lihat izin API.
Pilih Tambahkan izin.
Untuk menambahkan izin, ikuti langkah-langkah ini (perhatikan bahwa langkah pertama berbeda untuk aplikasi GCC):
Dari tab API Microsoft, pilih layanan Power BI.
Catatan
Untuk aplikasi GCC, Pilih tab API yang digunakan organisasi saya, dan cari Microsoft Power BI Government Community Cloud ATAU fc4979e5-0aa5-429f-b13a-5d1365be5566.
Pilih Izin yang Didelegasikan dan tambahkan atau hapus izin tertentu yang Anda butuhkan.
Setelah selesai, pilih Simpan untuk menyimpan perubahan Anda.
Untuk menghapus izin, ikuti langkah-langkah berikut:
Pilih elipsis (...) di sebelah kanan izin.
Pilih Hapus izin.
Di jendela pop-up Hapus izin, pilih Ya, hapus.
Untuk mengubah izin aplikasi Microsoft Entra secara terprogram, Anda harus mendapatkan perwakilan layanan (pengguna) yang ada dalam penyewa Anda. Untuk informasi tentang cara melakukannya, lihat servicePrincipal.
Untuk mendapatkan semua perwakilan layanan dalam penyewa Anda, panggil Get servicePrincipal API tanpa {ID}.
Periksa perwakilan layanan dengan ID aplikasi dari aplikasi Anda sebagai appId properti. (displayName bersifat opsional.)
Berikan izin Power BI ke aplikasi Anda, dengan menetapkan salah satu nilai ini ke consentType:
AllPrincipals- Hanya dapat digunakan oleh admin Power BI untuk memberikan izin atas nama semua pengguna di penyewa.
Principal - Gunakan untuk memberikan izin atas nama pengguna tertentu. Jika Anda menggunakan opsi ini, tambahkan principalId={User_ObjectId} properti ke isi permintaan.
Jika Anda menggunakan pengguna master, untuk menghindari dimintai persetujuan oleh ID Microsoft Entra, Anda perlu memberikan izin ke akun master.
resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e bergantung pada penyewa dan bukan universal. Nilai ini adalah objectId dari aplikasi Layanan Power BI di ID Microsoft Entra. Untuk mendapatkan nilai ini dari portal Azure, navigasikan ke Aplikasi > perusahaan Semua aplikasi, dan cari layanan Power BI.
Berikan izin aplikasi ke ID Microsoft Entra, dengan menetapkan nilai ke consentType.
Anda juga dapat mengubah izin aplikasi Microsoft Entra menggunakan C#. Untuk informasi selengkapnya, lihat oAuth2PermissionGrant API. Metode ini dapat berguna jika Anda mempertimbangkan untuk mengotomatiskan beberapa proses Anda.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();