A Microsoft Entra-alkalmazás regisztrálásakor engedélyt ad a különböző API-k elérésére. Az igények változásával érdemes lehet módosítani ezeket az engedélyeket. Ez a cikk bemutatja, hogyan.
Megjegyzés:
A Microsoft Entra alkalmazásengedélyei csak az alábbi esetekben alkalmazhatók:
Beágyazás a szervezet számára
Beágyazás az ügyfelek számára a fő felhasználói hitelesítési módszerrel
A Microsoft Entra-alkalmazás engedélybeállításainak szerkesztése
Az engedélymódosítások programozott módon vagy az Azure Portalon is végezhetők.
Válassza ki a Microsoft Entra-bérlőt a lap jobb felső sarkában található fiók kiválasztásával.
Select App registrations. Ha nem látja ezt a lehetőséget, keressen rá.
A Saját alkalmazások lapon válassza ki az alkalmazást. Az alkalmazás megnyílik az Áttekintés lapon, ahol áttekintheti az alkalmazásazonosítót.
Válassza a View API Permissions (API-engedélyek megtekintése) lapot.
Válassza az Engedély hozzáadása lehetőséget.
Engedélyek hozzáadásához kövesse az alábbi lépéseket (vegye figyelembe, hogy az első lépés a GCC-alkalmazások esetében eltérő):
A Microsoft API-k lapon válassza a Power BI szolgáltatás.
Megjegyzés:
GCC-alkalmazások esetén válassza ki a szervezetem által használt API-kat, és keressen rá a Microsoft Power BI Government közösségi felhőre VAGY fc4979e5-0aaa5-429f-b13a-5d1365be5566.
Válassza a Delegált engedélyek lehetőséget, és adja hozzá vagy távolítsa el a szükséges engedélyeket.
Ha végzett, válassza az Engedélyek hozzáadása lehetőséget a módosítások mentéséhez.
Engedély eltávolításához kövesse az alábbi lépéseket:
Válassza ki az engedély jobb oldalán található három pontot (...).
Válassza az Eltávolítás engedély lehetőséget.
Az Engedély eltávolítása előugró ablakban válassza az Igen, eltávolítás lehetőséget.
A Microsoft Entra-alkalmazás engedélyeinek programozott módosításához be kell szereznie a bérlőn belül a meglévő szolgáltatásneveket (felhasználókat). Ennek módjáról a servicePrincipal című témakörben olvashat.
Az összes szolgáltatásnév bérlőn belüli lekéréséhez hívja meg az Get servicePrincipal API-t anélkül {ID}.
Ellenőrizze, hogy van-e szolgáltatásnév az alkalmazás alkalmazásazonosítójával a appId tulajdonságként. (displayName nem kötelező.)
Adjon Power BI-engedélyeket az alkalmazásnak az alábbi értékek consentTypeegyikének hozzárendelésével:
AllPrincipals – A Power BI-rendszergazda csak a bérlő összes felhasználója nevében adhat engedélyeket.
Principal – Engedélyek adott felhasználó nevében történő megadására használható. Ha ezt a lehetőséget használja, adja hozzá a principalId={User_ObjectId} tulajdonságot a kérelem törzséhez.
Ha főfelhasználót használ, annak érdekében, hogy a Microsoft Entra ID ne kérje a hozzájárulást, engedélyeket kell adnia a fő fióknak.
A resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e bérlőfüggő és nem univerzális. Ez az érték a Power BI Szolgáltatásalkalmazás objectId azonosítója a Microsoft Entra-azonosítóban. Ha ezt az értéket az Azure Portalról szeretné lekérni, keresse meg a Vállalati alkalmazások > minden alkalmazást, és keresse meg a Power BI Szolgáltatást.
Adjon alkalmazásengedélyeket a Microsoft Entra-azonosítónak consentTypeegy érték hozzárendelésével.
A Microsoft Entra alkalmazásengedélyeit a C# használatával is módosíthatja. További információ: oAuth2PermissionGrant API. Ez a módszer akkor lehet hasznos, ha néhány folyamat automatizálását fontolgatja.
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();