Když zaregistrujete aplikaci Microsoft Entra, udělíte jí oprávnění pro přístup k různým rozhraním API. Vzhledem k tomu, že se vaše potřeby mění, můžete tato oprávnění upravit. V tomto článku se dozvíte, jak na to.
Poznámka:
Oprávnění aplikace Microsoft Entra platí jenom pro tyto scénáře:
-
Vložení pro vaši organizaci
-
Vložení pro zákazníky pomocí metody ověřování hlavního uživatele
Úprava nastavení oprávnění v aplikaci Microsoft Entra
Změny oprávnění je možné provádět prostřednictvím kódu programu nebo na webu Azure Portal.
Na webu Azure Portal můžete aplikaci zobrazit a změnit její oprávnění.
Přihlaste se k webu Azure Portal.
Vyberte svého tenanta Microsoft Entra tak, že v pravém horním rohu stránky vyberete svůj účet.
Vyberte Registrace aplikací. Pokud tuto možnost nevidíte, vyhledejte ji.
Na kartě Vlastněné aplikace vyberte svou aplikaci. Aplikace se otevře na kartě Přehled , kde můžete zkontrolovat ID aplikace.
Vyberte kartu Zobrazit oprávnění rozhraní API .
Vyberte Přidat oprávnění.
Pokud chcete přidat oprávnění, postupujte podle těchto kroků (všimněte si, že první krok se u aplikací GCC liší):
Na kartě Rozhraní API Microsoftu vyberte službu Power BI.
Poznámka:
V případě aplikací GCC vyberte API, která moje organizace používá a vyhledejte buď Microsoft Power BI Government Community Cloud nebo fc4979e5-0aa5-429f-b13a-5d1365be5566.
Vyberte Delegovaná oprávnění a přidejte nebo odeberte potřebná oprávnění.
Až budete hotovi, vyberte Přidat oprávnění k uložení změn.
Pokud chcete oprávnění odebrat, postupujte takto:
Vpravo od oprávnění vyberte tři tečky (...).
Vyberte Odebrat oprávnění.
V automaticky otevíraném okně Odebrat oprávnění vyberte Ano, odebrat.
Pokud chcete oprávnění aplikace Microsoft Entra změnit programově, budete muset získat stávající instanční objekty (uživatele) v rámci vašeho tenanta. Informace o tom, jak to udělat, najdete v tématu servicePrincipal.
Pokud chcete získat všechny instanční objekty ve vašem tenantovi, zavolejte Get servicePrincipal rozhraní API bez {ID}.
Vyhledejte instanční objekt s ID aplikace jako appId vlastností. (displayName je nepovinný.)
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}"
}
Udělte aplikaci oprávnění Power BI tím, že přiřadíte jednu z těchto hodnot:consentType
AllPrincipals – Správce Power BI může používat jenom k udělení oprávnění jménem všech uživatelů v tenantovi.
Principal – Slouží k udělení oprávnění jménem konkrétního uživatele. Pokud používáte tuto možnost, přidejte principalId={User_ObjectId} vlastnost do textu požadavku.
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"
}
Poznámka:
- Pokud používáte hlavního uživatele, abyste se vyhnuli zobrazení výzvy k vyjádření souhlasu s ID Microsoft Entra, musíte udělit oprávnění hlavnímu účtu.
- Je
resourceId závislý na tenantovi a není univerzální. Jeho hodnota je objectId aplikace služby Power BI v Microsoft Entra ID. Pokud chcete tuto hodnotu získat z webu Azure Portal, přejděte do podnikových aplikací > Všechny aplikace a vyhledejte službu Power BI.
Udělte aplikaci oprávnění k ID Microsoft Entra tím, že přiřadíte hodnotu .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"
}
Oprávnění aplikace Microsoft Entra můžete také změnit pomocí jazyka C#. Další informace najdete v rozhraní API oAuth2PermissionGrant . Tato metoda může být užitečná, pokud zvažujete automatizaci některých procesů.
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();
Související obsah