Podczas rejestrowania aplikacji Microsoft Entra udzielasz jej uprawnień dostępu do różnych interfejsów API. W miarę zmian potrzeb możesz dostosować te uprawnienia. W tym artykule pokazano, jak to zrobić.
Uwaga
Uprawnienia aplikacji Microsoft Entra mają zastosowanie tylko w następujących scenariuszach:
Osadzanie dla organizacji
Osadzanie dla klientów przy użyciu metody uwierzytelniania użytkownika głównego
Edytowanie ustawień uprawnień w aplikacji Microsoft Entra
Zmiany uprawnień można wprowadzać programowo lub w witrynie Azure Portal.
Aby dodać uprawnienia, wykonaj następujące kroki (należy pamiętać, że pierwszy krok różni się w przypadku aplikacji GCC):
Na karcie Interfejsy API firmy Microsoft wybierz pozycję usługa Power BI.
Uwaga
W przypadku aplikacji GCC wybierz kartę Interfejsy API używane przez moją organizację i wyszukaj ciąg Microsoft Power BI Government Community Cloud OR fc4979e5-0aa5-429f-b13a-5d1365be5566.
Wybierz pozycję Delegowane uprawnienia i dodaj lub usuń potrzebne uprawnienia.
Po zakończeniu wybierz pozycję Dodaj uprawnienia , aby zapisać zmiany.
Aby usunąć uprawnienie, wykonaj następujące kroki:
Wybierz wielokropek (...) po prawej stronie uprawnienia.
Wybierz pozycję Usuń uprawnienie.
W oknie podręcznym Usuń uprawnienia wybierz pozycję Tak, usuń.
Aby programowo zmienić uprawnienia aplikacji Microsoft Entra, musisz uzyskać istniejące jednostki usługi (użytkowników) w dzierżawie. Aby uzyskać informacje na temat tego, jak to zrobić, zobacz servicePrincipal.
Aby pobrać wszystkie jednostki usługi w dzierżawie, wywołaj Get servicePrincipal interfejs API bez {ID}polecenia .
Sprawdź jednostkę usługi z identyfikatorem aplikacji aplikacji jako właściwościąappId. (displayName jest opcjonalny).
Przyznaj aplikacji uprawnienia usługi Power BI, przypisując jedną z następujących wartości do :consentType
AllPrincipals — Może służyć tylko administrator usługi Power BI do udzielania uprawnień w imieniu wszystkich użytkowników w dzierżawie.
Principal — Służy do udzielania uprawnień w imieniu określonego użytkownika. Jeśli używasz tej opcji, dodaj principalId={User_ObjectId} właściwość do treści żądania.
Jeśli używasz użytkownika głównego, aby uniknąć monitowania o zgodę przez identyfikator Entra firmy Microsoft, musisz udzielić uprawnień do konta głównego.
C78a3685-1ce7-52cd-95f7-dc5aea8ec98e resourceId jest zależna od dzierżawy, a nie uniwersalna. Ta wartość to objectIdaplikacji usługi Power BI w identyfikatorze Entra firmy Microsoft. Aby uzyskać tę wartość z witryny Azure Portal, przejdź do pozycji Aplikacje dla przedsiębiorstw Wszystkie aplikacje >i wyszukaj pozycję Usługa Power BI.
Udziel uprawnień aplikacji do identyfikatora Entra firmy Microsoft, przypisując wartość do consentTypeelementu .
Możesz również zmienić uprawnienia aplikacji Microsoft Entra przy użyciu języka C#. Aby uzyskać więcej informacji, zobacz interfejs API oAuth2PermissionGrant . Ta metoda może być przydatna, jeśli rozważasz automatyzację niektórych procesów.
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();