Tworzenie aplikacji niestandardowej

Z tego artykułu dowiesz się, jak utworzyć aplikację niestandardową i przyznać jej uprawnienia przy użyciu programu Microsoft Entra PowerShell. Ten proces obejmuje definiowanie ról, przypisywanie użytkowników i grup oraz ustawianie uprawnień interfejsu API do efektywnego zarządzania zasobami Microsoft Entra.

Zrozumienie tych kroków jest niezbędne do bezpiecznego zarządzania dostępem i zapewnienia, że aplikacje mają odpowiednie uprawnienia. Pomaga w utrzymaniu bezpieczeństwa i wydajności operacyjnej w ekosystemie Microsoft Entra.

Prerequisites

Aby utworzyć aplikację niestandardową i przyznać jej uprawnienia, potrzebne są następujące elementy:

Tworzenie aplikacji przy użyciu programu PowerShell

Użyj aplikacji niestandardowej, aby odizolować i ograniczyć uprawnienia przyznane dla zasobu Microsoft Entra.

# 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

Włączanie wymaganej funkcji przypisania przy użyciu programu PowerShell

# Set service principal parameters
Set-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppRoleAssignmentRequired $True

Przypisywanie użytkowników i grup przy użyciu programu 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

Definiowanie wymaganych zasobów i uprawnień przy użyciu programu 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

Przypisywanie uprawnień interfejsu API do aplikacji przy użyciu programu PowerShell

Uprawnienia delegowane lub uprawnienia aplikacji można przypisać do aplikacji.

$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

Pobierz i uruchom pełny skrypt:

Tworzenie aplikacji w centrum administracyjne Microsoft Entra

Aby utworzyć niestandardowe aplikacje do nawiązywania połączenia z Microsoft Entra ID przy użyciu programu Microsoft Entra PowerShell, wykonaj kroki opisane w poniższej sekcji. Użyj aplikacji niestandardowej, aby odizolować i ograniczyć uprawnienia przyznane dla zasobu Microsoft Entra.

  1. Zaloguj się do centrum administracyjnego Microsoft Entra z uprawnieniami co najmniej Administratora aplikacji w chmurze.
  2. Przejdź do pozycji Tożsamość>Aplikacje>Rejestracje aplikacji, a następnie wybierz pozycję Nowa rejestracja.
  3. Wprowadź nazwę aplikacji, na przykład Entra PowerShell Five.
  4. W obszarze Obsługiwane typy kont wybierz pozycję Konta w tym katalogu organizacji.
  5. W polu URI przekierowania wybierz: — Klient publiczny/natywny z listy rozwijanej — wartość URI: http://localhost
  6. Wybierz opcję Zarejestruj.

Note

W sekcji Przegląd aplikacji skopiuj identyfikator aplikacji (klienta) oraz identyfikator katalogu (dzierżawy). Wartości są używane podczas nawiązywania połączenia z Microsoft Entra ID.

Włączanie wymaganej funkcji przypisania w centrum administracyjne Microsoft Entra

Aby zarządzać zasobami, do których aplikacja ma dostęp w Twojej dzierżawie, znajdź jednostkę usługi tej aplikacji w okienku Aplikacje dla przedsiębiorstw.

  1. Przejdź do pozycji Identity>Applications>Aplikacje dla przedsiębiorstw>Wszystkie aplikacje i wybierz utworzoną aplikację.
  2. W sekcji Zarządzanie wybierz opcję Właściwości i ustaw Czy przypisanie jest wymagane? na Tak.
  3. Wybierz opcję Zapisz.

Przypisywanie użytkowników i grup w centrum administracyjne Microsoft Entra

  1. W obszarze Zarządzanie wybierz pozycję Użytkownicy i grupy.
  2. Wybierz pozycję Dodaj użytkownika/grupę i dodaj użytkowników i grupy dozwolone do korzystania z tej aplikacji.
  3. Po dodaniu wszystkich użytkowników i grup wybierz pozycję Przypisz.

Przypisz aplikacji uprawnienia interfejsu API w centrum administracyjnym Microsoft Entra

Musisz skonfigurować uprawnienia Microsoft Graph dla nowej aplikacji, aby nawiązać połączenie z Microsoft Entra ID i zarządzać zasobami Microsoft Entra.

  1. Przejdź do pozycji Identity>Applications>App Registrations>Wszystkie aplikacje i wybierz utworzoną aplikację.
  2. W obszarze Uprawnienia interfejsu API wybierz pozycję Dodaj uprawnienie>, a następnie wybierz Interfejsy API firmy Microsoft > Microsoft Graph.
  3. Wybierz wymagany typ uprawnień, delegowane lub uprawnienia aplikacji.
    • Jeśli musisz zalogować się do aplikacji, aby zarządzać zasobami w Microsoft Entra ID, wybierz pozycję Uprawnienia delegowane.
    • Jeśli chcesz, aby aplikacja mogła uzyskiwać dostęp do zasobów Microsoft Entra samodzielnie bez interakcji z użytkownikiem, wybierz pozycję Uprawnienia aplikacji
  4. Wyszukaj wymagane uprawnienie, na przykład User.Read.All.
  5. Wybierz pozycję Udziel zgody administratora dla pozycji TenantName. Wybierz opcję Tak. Upewnij się, że stan zawiera zielony znacznik wyboru.

Logowanie przy użyciu nowej aplikacji

Teraz możesz użyć nowo utworzonej aplikacji, łącząc się z:

Connect-Entra -ClientId <Your_APPLICATION_Id_Here> -TenantId <Your_TENANT_Id_Here>

Aby uzyskać więcej opcji połączenia, zobacz szczegóły polecenia Connect-Entra .