Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du skapar ett anpassat program och ger det behörigheter med hjälp av Microsoft Entra PowerShell. Den här processen omfattar att definiera roller, tilldela användare och grupper och ange API-behörigheter för att hantera Microsoft Entra resurser effektivt.
Det är viktigt att förstå de här stegen för att hantera åtkomst på ett säkert sätt och se till att programmen har rätt behörigheter. Det bidrar till att upprätthålla säkerhet och driftseffektivitet inom Microsoft Entra ekosystemet.
Förutsättningar
Om du vill skapa ett anpassat program och ge det behörigheter behöver du:
- Ett Microsoft Entra användarkonto. Om du inte redan har ett konto kan du Skapa ett konto kostnadsfritt.
- En av följande roller:
- Nödvändiga omfång (PowerShell):
AppRoleAssignment.ReadWrite.All,Application.ReadWrite.All,User.Read.All,Group.Read.All,DelegatedPermissionGrant.ReadWrite.All
Skapa ett program med PowerShell
Använd det anpassade programmet för att isolera och begränsa de behörigheter som beviljas för en Microsoft Entra resurs.
# Connect to Entra with required scopes
Connect-Entra -Scopes 'Application.ReadWrite.All'
# Define application name and redirect URI
$appName = 'Entra PowerShell Helpdesk App'
$redirectUri = 'http://localhost'
# Create a new application
$app = New-EntraApplication -DisplayName $appName -PublicClient @{ RedirectUris = $redirectUri } -IsFallbackPublicClient $False
# Create a service principal for the application
$servicePrincipal = New-EntraServicePrincipal -AppId $app.AppId
Aktivera den tilldelningsfunktion som krävs med PowerShell
# Set service principal parameters
Set-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppRoleAssignmentRequired $True
Tilldela användare och grupper med PowerShell
# Get a user and a group
$user = Get-EntraUser -UserId 'AdeleV@contoso.com'
$group = Get-EntraGroup -Search 'Sales and Marketing'
# Assign users and groups to the application
$emptyGuidUser = [Guid]::Empty.ToString()
New-EntraUserAppRoleAssignment -ObjectId $user.Id -PrincipalId $user.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidUser
$emptyGuidGroup = [Guid]::Empty.ToString()
New-EntraGroupAppRoleAssignment -GroupId $group.Id -PrincipalId $group.Id -ResourceId $servicePrincipal.Id -Id $emptyGuidGroup
Definiera nödvändiga resurser och behörigheter med hjälp av PowerShell
# Get Graph service principal
$graphApiId = '00000003-0000-0000-c000-000000000000'
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"
$delegatedPermission = 'User.Read.All'
$app = Get-EntraApplication -Filter "DisplayName eq '$appName'"
# Create resource access object
$resourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.ResourceAccess
$resourceAccessDelegated.Id = ((Get-EntraServicePrincipal -ServicePrincipalId $graphServicePrincipal.Id).Oauth2PermissionScopes | Where-Object { $_.Value -eq $delegatedPermission }).Id
$resourceAccessDelegated.Type = 'Scope'
# Create required resource access object
$requiredResourceAccessDelegated = New-Object Microsoft.Open.MSGraph.Model.RequiredResourceAccess
$requiredResourceAccessDelegated.ResourceAppId = $graphApiId
$requiredResourceAccessDelegated.ResourceAccess = $resourceAccessDelegated
# Set application required resource access
Set-EntraApplication -ApplicationId $app.Id -RequiredResourceAccess $requiredResourceAccessDelegated
Tilldela API-behörigheter till appen med hjälp av PowerShell
Du kan tilldela antingen delegerade behörigheter eller programbehörigheter till programmet.
$delegatedPermission = 'User.Read.All'
$graphApiId = '00000003-0000-0000-c000-000000000000'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq '$appName'"
$graphServicePrincipal = Get-EntraServicePrincipal -Filter "AppId eq '$graphApiId'"
# Grant OAuth2 permission
New-EntraOauth2PermissionGrant -ClientId $servicePrincipal.Id -ConsentType 'AllPrincipals' -ResourceId $graphServicePrincipal.Id -Scope $delegatedPermission
Resources
Ladda ned och kör det fullständiga skriptet:
- Använd exempelskriptet create-custom-app-with-delegated-permissions för att skapa en anpassad app med delegerade behörigheter.
- Använd exempelskriptet create-custom-app-with-application-permissions för att skapa en anpassad app med programbehörigheter.
Skapa ett program i Microsoft Entra administrationscenter
Följ stegen i följande avsnitt om du vill skapa anpassade program för att ansluta till Microsoft Entra ID med hjälp av Microsoft Entra PowerShell. Använd det anpassade programmet för att isolera och begränsa de behörigheter som beviljas för en Microsoft Entra resurs.
- Logga in på administrationscentret för Microsoft Entra som minst en molnprogramadministratör.
- Bläddra till Identitetsprogram>>App registrations och välj sedan Ny registrering.
- Ange ett namn för ditt program, till exempel Entra PowerShell Five.
- För Kontotyper som stöds väljer du Konton i den här organisationskatalogen.
- För Omdirigerings-URI väljer du: – Offentlig klient/intern från listrutan – URI-värde:
http://localhost - Välj Registrera.
Note
I appens översiktsavsnitt kopierar du program-ID:t (klient-ID) och katalog-ID :t (klientorganisation). Du använder värdena när du ansluter till Microsoft Entra ID.
Aktivera den tilldelningsfunktion som krävs i Microsoft Entra administrationscenter
Om du vill hantera de resurser som programmet får åtkomst till i klientorganisationen letar du upp programmets tjänsthuvudnamn i fönstret Företagsprogram .
- Gå till Identity>Program>Företagsprogram>Alla program och välj det program du skapade.
- Under Hantera väljer du Egenskaper och anger Tilldelning som krävs? till Ja.
- Välj Spara.
Tilldela användare och grupper i Microsoft Entra administrationscenter
- Under Hantera väljer du Användare och grupper.
- Välj Lägg till användare/grupp och lägg till de användare och grupper som tillåts använda det här programmet.
- När du har lagt till alla användare och grupper väljer du Tilldela.
Tilldela API-behörigheter till appen i Microsoft Entra administrationscenter
Du måste konfigurera Microsoft Graph behörigheter för det nya programmet för att ansluta till Microsoft Entra ID och hantera Microsoft Entra resurser.
- Bläddra tillAppregistreringar> för identitetsprogram>>Alla program och välj det program som du skapade.
- Under API-behörigheter väljer du Lägg till en behörighet> och väljer Microsoft API:er > Microsoft Graph.
- Välj den typ av behörigheter som du behöver, antingen delegerade behörigheter eller programbehörigheter.
- Om du behöver logga in på appen för att hantera dina resurser i Microsoft Entra ID väljer du Delegerade behörigheter.
- Om du vill att appen ska få åtkomst till Microsoft Entra resurser på egen hand utan användarinteraktion väljer du Programbehörigheter
- Sök efter den behörighet som krävs, till exempel
User.Read.All. - Välj Bevilja administratörsmedgivande för TenantName. Välj Ja. Kontrollera att statusen visar en grön bockmarkering.
Logga in med den nya appen
Du kan nu använda den nyligen skapade appen genom att ansluta med:
Connect-Entra -ClientId <Your_APPLICATION_Id_Here> -TenantId <Your_TENANT_Id_Here>
Fler anslutningsalternativ finns i kommandoinformationen för Connect-Entra .