Microsoft Entra uygulamanızı kaydettiğinizde, uygulamaya çeşitli API'lere erişme izni verirsiniz. Gereksinimleriniz değiştikçe bu izinleri ayarlamak isteyebilirsiniz. Bu makalede nasıl yapıldığını görebilirsiniz.
Not
Microsoft Entra uygulama izinleri yalnızca bu senaryolar için geçerlidir:
-
Kuruluşunuz için ekleme
-
Ana kullanıcı kimlik doğrulama yöntemiyle müşterileriniz için ekleme
Microsoft Entra uygulamanızda izin ayarlarını düzenleme
İzin değişiklikleri program aracılığıyla veya Azure portalında yapılabilir.
Azure portalında uygulamanızı görüntüleyebilir ve izinlerinde değişiklik yapabilirsiniz.
Azure portal oturum açın.
Sayfanın sağ üst köşesinde hesabınızı seçerek Microsoft Entra kiracınızı seçin.
Uygulama kayıtları’nı seçin. Bu seçeneği göremiyorsanız bu seçeneği arayın.
Sahip olunan uygulamalar sekmesinde uygulamanızı seçin. Uygulama, Uygulama Kimliğini gözden geçirebileceğiniz Genel Bakış sekmesinde açılır.
API izinlerini görüntüle sekmesini seçin.
İzin ekle'yi seçin.
İzin eklemek için şu adımları izleyin (GCC uygulamaları için ilk adımın farklı olduğunu unutmayın):
Microsoft API'leri sekmesinden Power BI hizmeti'i seçin.
Not
GCC uygulamaları için Kuruluşumun kullandığı API'leri seçin ve Microsoft Power BI Kamu Topluluğu Bulutu VEYA fc4979e5-0aa5-429f-b13a-5d1365be5566 için arama yapın.
Temsilci İzinleri'ni seçin ve ihtiyacınız olan belirli izinleri ekleyin veya kaldırın.
İşiniz bittiğinde, değişikliklerinizi kaydetmek için İzin ekle'yi seçin.
bir izni kaldırmak için şu adımları izleyin:
İznin sağ tarafındaki üç noktayı (...) seçin.
İzin kaldır'ı seçin.
İzin kaldır açılır penceresinde Evet, kaldır'ı seçin.
Microsoft Entra uygulama izinlerinizi program aracılığıyla değiştirmek için kiracınızdaki mevcut hizmet sorumlularını (kullanıcıları) almanız gerekir. Bunun nasıl yapılacağını öğrenmek için bkz . servicePrincipal.
Kiracınızdaki tüm hizmet sorumlularını almak için API'yi olmadan Get servicePrincipalçağırın{ID}.
Özellik olarak uygulamanızın uygulama kimliğine sahip bir hizmet sorumlusu olup appId olmadığını denetleyin. (displayName isteğe bağlıdır.)
Post https://graph.microsoft.com/v1.0/servicePrincipals HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"accountEnabled" : true,
"appId" : "{App_Client_ID}",
"displayName" : "{App_DisplayName}"
}
Uygulamasına şu değerlerden birini atayarak uygulamanıza Power BI izinleri verin consentType:
AllPrincipals - Power BI yöneticisi tarafından yalnızca kiracıdaki tüm kullanıcılar adına izin vermek için kullanılabilir.
Principal - Belirli bir kullanıcı adına izin vermek için kullanın. Bu seçeneği kullanıyorsanız, özelliğini istek gövdesine ekleyin principalId={User_ObjectId} .
Post https://graph.microsoft.com/v1.0/OAuth2PermissionGrants HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"clientId":"{Service_Plan_ID}",
"consentType":"AllPrincipals",
"resourceId":"a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
"expiryTime":"2018-03-29T14:35:32.4943409+03:00",
"startTime":"2017-03-29T14:35:32.4933413+03:00"
}
Not
- Ana kullanıcı kullanıyorsanız, Microsoft Entra Id tarafından onay istenmesini önlemek için ana hesaba izin vermeniz gerekir.
-
resourceId kiracıya bağımlıdır ve evrensel değildir. Değeri, Microsoft Entra Id içindeki Power BI Hizmeti uygulamasının objectId değeridir. Bu değeri Azure portalından almak için Kurumsal uygulamalar Tüm uygulamalar'a >gidin ve Power BI Hizmeti'ni arayın.
uygulamasına bir değer atayarak Microsoft Entra Id'ye uygulama izinleri verin consentType.
Post https://graph.microsoft.com/v1.0/OAuth2PermissionGrants HTTP/1.1
Authorization: Bearer ey..qw
Content-Type: application/json
{
"clientId":"{Service_Plan_ID}",
"consentType":"AllPrincipals",
"resourceId":"a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"scope":"User.Read Directory.AccessAsUser.All",
"expiryTime":"2018-03-29T14:35:32.4943409+03:00",
"startTime":"2017-03-29T14:35:32.4933413+03:00"
}
C# kullanarak Microsoft Entra uygulama izinlerinizi de değiştirebilirsiniz. Daha fazla bilgi için oAuth2PermissionGrant API'sine bakın. Bazı işlemlerinizi otomatikleştirmeyi düşünüyorsanız bu yöntem yararlı olabilir.
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();
İlgili içerik