Udostępnij za pośrednictwem


Tworzenie podmiotu głównego usługi za pośrednictwem PowerShell

Uwierzytelnianie za pomocą nazw użytkowników i haseł często nie jest idealne, szczególnie wraz z wzrostem uwierzytelniania wieloetapowego. W takim przypadku jest preferowane uwierzytelnianie przez podmiot główny usługi (lub przepływ poświadczeń klienta). Można to zrobić zarówno przez zarejestrowanie nowej głównej aplikacji usługi we własnej dzierżawie Microsoft Entra następnie zarejestrowanie tej samej aplikacji w Power Platform.

Rejestrowanie aplikacji do zarządzania dla administratora

Najpierw należy zarejestrować aplikację klienta w dzierżawie Microsoft Entra. Aby to ustawić, przejrzyj artykuł Autoryzacja dla API Power Platform, ponieważ ta sama konfiguracja aplikacji jest wymagana dla PowerShell.

Po zarejestrowaniu aplikacji klienckiej w Microsoft Entra ID, należy ją również zarejestrować w Microsoft Power Platform. Obecnie nie można tego zrobić za pośrednictwem centrum administracyjnego Power Platform. Musi to być wykonywane programistycznie za pośrednictwem interfejsu API Power Platform lub PowerShell dla administratorów Power Platform. Podmiot główny usługi nie może się sam zarejestrować — aplikacja musi być domyślnie zarejestrowana przez nazwę użytkownika administratora i hasło. Dzięki temu aplikacja jest tworzona przez osobę, którą jest administrator dzierżawy.

Aby zarejestrować nową aplikację zarządzania, należy użyć następującego skryptu:

$appId = "CLIENT_ID_FROM_AZURE_APP"

# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId 

# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId

Tworzenie żądań jako podmiot główny usługi

Po zarejestrowaniu się w Microsoft Power Platform, można uwierzytelnić się jako podmiot główny usługi. Do zapytania listy środowiska można użyć następującego skryptu:

$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"

Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment

Ograniczenia podmiotu głównego usługi

Obecnie uwierzytelnianie podmiotu głównego usługi działa na potrzeby zarządzania środowiskiem, ustawieniami dzierżawy oraz zarządzania Power Apps. Polecenia Cmdlet związane z przepływem są obsługiwane dla uwierzytelniania dyrektorów usług w sytuacjach, w których licencja nie jest wymagana, ponieważ nie ma możliwości przypisania licencji do tożsamości dyrektorów usług w Microsoft Entra ID.

Główne aplikacje usługi są traktowane w Power Platform w podobny sposób jak normalni użytkownicy z przypisaną rolą Administrator usługi Power Platform. Nie można przypisać ról i uprawnień ziarnistości w celu ograniczenia ich możliwości. Aplikacja nie ma przypisanej specjalnej roli w Microsoft Entra ID, ponieważ jest to sposób, w jaki usługi platformy traktują żądania wykonane przez jednostki usługi.