Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een Bicep-bestand wilt implementeren, hebt u de bevoegdheden nodig om de resources te implementeren die zijn gedeclareerd in het Bicep-bestand en toegang tot alle bewerkingen op het resourcetype Microsoft.Resources/deployments
. De mechanismen voor het verkrijgen van de bevoegdheden voor het implementeren van Microsoft Azure-resources en Microsoft Graph-resources zijn verschillend. Het begrijpen van dit verschil is van groot belang voor het succesvol implementeren van Bicep-bestanden met resources uit Azure en Microsoft Graph. In dit artikel worden deze verschillen beschreven.
Belangrijk
Microsoft Graph Bicep is momenteel in de previewfase. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Toegangsscenario's
Zowel de Azure- als de Microsoft Graph API's ondersteunen twee toegangsscenario's, gedelegeerde toegang en toegang voor alleen apps. In gedelegeerde toegang, ook wel interactieve toegang genoemd, roept de app een API aan namens een aangemelde gebruiker. In alleen-app-toegang, ook wel niet-interactieve toegang genoemd, roept de app een API aan met een eigen identiteit, zonder een aangemelde gebruiker. Beide toegangsscenario's worden ondersteund voor het implementeren van een Bicep-bestand.
Machtigingstypen
Microsoft Graph-API's gebruiken twee typen machtigingen, gedelegeerde machtigingen en toepassingsmachtigingenom gedelegeerde en alleen-app-toegangsscenario's te ondersteunen. Azure-API's bieden slechts één gedelegeerde machtiging en geen toepassingsmachtigingen.
Meer informatie over de Microsoft Graph-machtigingstypen met voorbeelden en vergelijkingen van de twee typen.
Machtigingen voor gedelegeerde of interactieve implementaties
In interactieve implementaties worden de bevoegdheden die een app namens een gebruiker moet uitvoeren, bepaald door de gedelegeerde machtigingen of OAuth 2.0-bereiken, dat de app wordt verleend en de eigen machtigingen van de gebruiker. De verleende OAuth 2.0-machtigingsbereiken zijn aanwezig als de scp claim in het toegangstoken dat API-services ontvangen voor het autoriseren van de aanvraag van de client-app.
Azure Resource Manager-API's bieden slechts één gedelegeerde machtiging, user_impersonationgenoemd. De eigen machtigingen van de aangemelde gebruiker worden bepaald door de ingebouwde rollen van Azure waar ze aan zijn toegewezen. De bevoegdheden die een app moet uitvoeren namens een gebruiker, worden bepaald door de ingebouwde Azure-rollen die zijn toegewezen aan de aangemelde gebruiker.
Microsoft Graph API's bieden veel gedetailleerde gedelegeerde machtigingen voornamelijk op een resourcetypebereik. De eigen machtigingen van de aangemelde gebruiker worden bepaald door de rollen die ze toegewezen hebben in de services die Microsoft Graph omvatten, zoals Microsoft Entra, Teams, Exchange en SharePoint. De bevoegdheden die een app namens een gebruiker moet uitvoeren, zijn beperkt tot een subset van de machtigingen van de gebruiker op basis van de verleende gedelegeerde machtigingen.
Alleen Azure PowerShell en Azure CLI worden ondersteund voor interactieve implementaties. Aan deze apps zijn de benodigde gedelegeerde machtigingen van Azure Resource Manager verleend en aan Microsoft Graph gedelegeerde machtigingen voor Microsoft Entra-id. Bicep-bestanden implementeren met behulp van Azure PowerShell of Azure CLI met behulp van interactieve implementaties:
- De aangemelde gebruiker moet de nodige ingebouwde Azure-rollen zijn toegewezen om de Azure-resourcetypen te beheren die in het Bicep-bestand zijn gedeclareerd.
- De aangemelde gebruiker moet de benodigde Microsoft Graph-servicerollen, zoals ingebouwde rollen van Microsoft Entra, toewijzen om de Microsoft Graph-resourcetypen te beheren die zijn gedeclareerd in het Bicep-bestand.
- Aan de aangemelde gebruiker moet de vereiste ingebouwde Azure-rol worden toegewezen die implementaties van sjabloonbestanden toestaat (toegang tot alle bewerkingen op het
Microsoft.Resources/deployments
resourcetype).
Machtigingen voor implementaties met alleen apps of zero touch
Voor alleen-app-toegang roept de app de API aan met een eigen identiteit, zonder een aangemelde gebruiker. Alleen toegang via app wordt meestal gebruikt voor geautomatiseerde implementaties zonder handmatige tussenkomst, die vaak worden aangestuurd door build-pipelines of GitHub-acties.
Toepassingsmachtigingen worden verleend aan een app door een beheerder en zijn aanwezig als de claim rol in het toegangstoken. U kunt ook toepassingsmachtigingen toewijzen aan de ingebouwde of aangepaste rollen van een service door een beheerder, maar worden niet weergegeven als claims in het toegangstoken.
Azure Resource Manager-API's bieden geen toepassingsmachtigingen en autorisatie is afhankelijk van het controleren welke ingebouwde Azure-rollen zijn toegewezen aan de service-principal van de client-app.
Microsoft Graph-API's bieden veel specifieke toepassingsmachtigingen beperkt tot een resourcetype. Wanneer deze worden verleend aan de app door een beheerder, zijn deze toepassingsmachtigingen aanwezig als rollen claims in het toegangstoken dat Microsoft Graph-services gebruiken als onderdeel van hun autorisatiestroom.
Bicep-bestanden implementeren zonder een aangemelde gebruiker:
- De bijbehorende service-principal van de app moet de benodigde ingebouwde Azure-rollen worden toegewezen om de Azure-resourcetypen te beheren die zijn gedeclareerd in het Bicep-bestand.
- Aan de gekoppelde service-principal van de app moet de vereiste ingebouwde Azure-rol worden toegewezen waarmee sjabloonbestandsimplementaties (toegang tot alle bewerkingen op het
Microsoft.Resources/deployments
resourcetype) zijn toegestaan. - Aan deze app moeten de vereiste Microsoft Graph-toepassingsmachtigingen worden verleend om de Microsoft Graph-resourcetypen te beheren die zijn gedeclareerd in het Bicep-bestand.
Minimale toegang tot bevoegdheden afdwingen
Wanneer u met Azure- en Microsoft Graph-API's werkt, is het belangrijk om het principe van minimale bevoegdhedente volgen. Dit principe geeft aan dat een app alleen de machtigingen mag hebben die nodig zijn om de beoogde functie uit te voeren. Dit vermindert het risico dat een gecompromitteerde app meer schade kan aanrichten dan het zou moeten.
Voor Microsoft Graph Bicep-resources vindt u de minst bevoegde machtigingen die vereist zijn voor elk resourcetype in de sjablonenresourcereferenties.
Meer informatie over het Verbeteren van beveiliging met het principe van minimale bevoegdheden.