Skapa ett anpassat program

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:

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:

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.

  1. Logga in på administrationscentret för Microsoft Entra som minst en molnprogramadministratör.
  2. Bläddra till Identitetsprogram>>App registrations och välj sedan Ny registrering.
  3. Ange ett namn för ditt program, till exempel Entra PowerShell Five.
  4. För Kontotyper som stöds väljer du Konton i den här organisationskatalogen.
  5. För Omdirigerings-URI väljer du: – Offentlig klient/intern från listrutan – URI-värde: http://localhost
  6. 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 .

  1. Gå till Identity>Program>Företagsprogram>Alla program och välj det program du skapade.
  2. Under Hantera väljer du Egenskaper och anger Tilldelning som krävs? till Ja.
  3. Välj Spara.

Tilldela användare och grupper i Microsoft Entra administrationscenter

  1. Under Hantera väljer du Användare och grupper.
  2. 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.
  3. 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.

  1. Bläddra tillAppregistreringar> för identitetsprogram>>Alla program och välj det program som du skapade.
  2. Under API-behörigheter väljer du Lägg till en behörighet> och väljer Microsoft API:er > Microsoft Graph.
  3. 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
  4. Sök efter den behörighet som krävs, till exempel User.Read.All.
  5. 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 .