När du registrerar din Microsoft Entra-app ger du den behörighet att komma åt olika API:er. När dina behov ändras kanske du vill justera dessa behörigheter. Den här artikeln visar hur.
Kommentar
Microsoft Entra-appbehörigheter gäller endast för följande scenarier:
-
Bädda in för din organisation
-
Bädda in för dina kunder med autentiseringsmetoden för huvudanvändare
Redigera behörighetsinställningarna i din Microsoft Entra-app
Behörighetsändringar kan göras programmatiskt eller i Azure Portal.
I Azure Portal kan du visa din app och göra ändringar i dess behörigheter.
Logga in på Azure-portalen.
Välj din Microsoft Entra-klient genom att välja ditt konto i det övre högra hörnet på sidan.
Välj Appregistreringar. Om du inte kan se det här alternativet söker du efter det.
Välj din app på fliken Ägda program . Programmet öppnas på fliken Översikt , där du kan granska program-ID :t.
Välj fliken Visa API-behörigheter .
Välj Lägg till behörighet.
Följ dessa steg för att lägga till behörigheter (observera att det första steget skiljer sig för GCC-appar):
På fliken Microsoft API:er väljer du Power BI-tjänst.
Kommentar
För GCC-appar väljer du fliken API:er som min organisation använder och söker efter antingen Microsoft Power BI Government Community Cloud ELLER fc4979e5-0aa5-429f-b13a-5d1365be5566.
Välj Delegerade behörigheter och lägg till eller ta bort de specifika behörigheter som du behöver.
När du är klar väljer du Lägg till behörigheter för att spara ändringarna.
Följ dessa steg för att ta bort en behörighet:
Välj ellipsen (...) till höger om behörigheten.
Välj Ta bort behörighet.
I popup-fönstret Ta bort behörighet väljer du Ja, ta bort.
Om du vill ändra dina Microsoft Entra-appbehörigheter programmatiskt måste du hämta de befintliga tjänstens huvudnamn (användare) i din klientorganisation. Information om hur du gör det finns i servicePrincipal.
Om du vill hämta alla tjänstens huvudnamn i klientorganisationen anropar du API:et Get servicePrincipal utan {ID}.
Sök efter ett huvudnamn för tjänsten med appens program-ID som appId egenskap. (displayName är valfritt.)
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}"
}
Bevilja Power BI-behörigheter till din app genom att tilldela något av dessa värden till consentType:
AllPrincipals – Kan endast användas av en Power BI-administratör för att bevilja behörigheter för alla användare i klientorganisationen.
Principal – Använd för att bevilja behörigheter för en viss användares räkning. Om du använder det här alternativet lägger du till principalId={User_ObjectId} egenskapen i begärandetexten.
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"
}
Kommentar
- Om du använder en huvudanvändare måste du bevilja behörigheter till huvudkontot för att undvika att bli ombedd att godkänna Microsoft Entra-ID.
-
resourceId är klientberoende och inte universellt. Dess värde är objectId för Power BI-tjänstprogrammet i Microsoft Entra-ID. Om du vill hämta det här värdet från Azure Portal går du till Företagsprogram > Alla program och söker efter Power BI-tjänsten.
Bevilja appbehörigheter till Microsoft Entra-ID genom att tilldela ett värde till 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"
}
Du kan också ändra dina Microsoft Entra-appbehörigheter med hjälp av C#. Mer information finns i api:et oAuth2PermissionGrant . Den här metoden kan vara användbar om du överväger att automatisera några av dina processer.
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();
Relaterat innehåll