Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy alkalmazást regisztrálni kell a Microsoft Entra ID-ben, mielőtt a Microsoft identitásplatform engedélyezhetné számára a Microsoft Entra- vagy Microsoft 365-bérlőkben tárolt adatokhoz való hozzáférést. Ez a feltétel a saját fejlesztésű alkalmazásokra, a bérlő tulajdonában lévő vagy aktív előfizetésen keresztül elérhető alkalmazásokra vonatkozik.
Az alkalmazások számos beállítását objektumként rögzíti a rendszer, amelyek Microsoft Entra PowerShell használatával érhetők el, frissíthetők vagy törölhetők. Ezek az objektumok közé tartoznak az alkalmazások, a szolgáltatásnevek és az alkalmazásszerepkör-hozzárendelések.
Ebből a cikkből megtudhatja, hogyan kezelheti az alkalmazásregisztrációkat és a szolgáltatásnév-objektumokat Microsoft Entra PowerShell használatával. Ez magában foglalja az alkalmazások regisztrálását, a tulajdonságok konfigurálását, az engedélyek hozzárendelését és az alkalmazások tulajdonjogának kezelését.
Prerequisites
Az alkalmazások Microsoft Entra PowerShell-lel való kezeléséhez a következőkre van szükség:
- Egy Microsoft Entra felhasználói fiók. Ha még nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat egy fiókot.
- Az alábbi szerepkörök egyike:
- Adja meg magának a művelethez megadott legkevésbé kiemelt delegált engedélyt.
- Microsoft Entra PowerShell-modul telepítve van. A modul telepítéséhez kövesse az Install Microsoft Entra PowerShell-modul útmutatót.
Egy alkalmazás regisztrálása
A következő kérés csak a szükséges displayName tulajdonság megadásával hoz létre egy alkalmazást.
Connect-Entra -Scopes 'Application.ReadWrite.All'
New-EntraApplication -DisplayName 'My new application'
DisplayName Id AppId SignInAudience PublisherDomain
----------- -- ----- -------------- -----------
My new application aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb bbbbbbbb-1111-2222-3333-cccccccccccc MyOrg
Az alkalmazáshoz egy, a bérlőben lévő alkalmazásokhoz egyedi azonosító és egy globálisan egyedi appId van hozzárendelve a Microsoft Entra ökoszisztémában.
Szolgáltatásnév létrehozása egy alkalmazáshoz
Connect-Entra -Scopes 'Application.ReadWrite.All'
$myApp = Get-EntraApplication -Filter "DisplayName eq 'My new application'"
New-EntraServicePrincipal -AppId $myApp.AppId -DisplayName 'My new service principal'
DisplayName Id AppId SignInAudience ServicePrincipalType
----------- -- ----- -------------- --------------------
My new application bbbbbbbb-1111-2222-3333-cccccccccccc 00001111-aaaa-2222-bbbb-3333cccc4444 MyOrg Application
Az alkalmazás alapvető tulajdonságainak konfigurálása
Az alkalmazáshoz több tulajdonságot is konfigurálhat. Az alábbi példa bemutatja, hogyan frissíthető egy alkalmazás megjelenítendő neve.
Connect-Entra -Scopes 'Application.ReadWrite.All'
$application = Get-EntraApplication -Filter "DisplayName eq 'My new application'"
Set-EntraApplication -ApplicationId $application.Id -DisplayName 'Contoso application'
Másik lehetőségként a pipelining használatával frissítheti az alkalmazás tulajdonságait.
Connect-Entra -Scopes 'Application.ReadWrite.All'
Get-EntraApplication -Filter "DisplayName eq 'My new application'" | Set-EntraApplication -DisplayName 'Contoso application'
További információ: Set-EntraApplication.
Alkalmazásbejelentkeztetés korlátozása csak hozzárendelt identitásra
Ha csak hozzárendelt identitásokra korlátozza az alkalmazásbejelentkezéseket, Microsoft Entra PowerShell-lel biztosítja, hogy csak a jogosult felhasználók férhessenek hozzá az alkalmazásokhoz, ezzel növelve a biztonságot és az ellenőrzést.
Connect-Entra -Scopes 'Application.ReadWrite.All'
$application = Get-EntraApplication -Filter "DisplayName eq 'My new application'"
Set-EntraServicePrincipal -ServicePrincipalId $application.Id -AppRoleAssignmentRequired $true
Engedélyek hozzárendelése egy alkalmazáshoz
Engedélyeket rendelhet egy alkalmazáshoz a Microsoft Entra felügyeleti központ vagy Microsoft Entra PowerShell használatával. A PowerShellben frissíti az alkalmazás tulajdonságát requiredResourceAccess , beleértve a meglévő és az új engedélyeket is. Ha csak új engedélyeket ad át, azzal eltávolítja azokat a meglévő engedélyeket, amelyekhez nem adtak hozzájárulást.
Az engedélyek hozzárendelése nem adja meg automatikusan azokat az alkalmazásnak. Továbbra is rendszergazdai hozzájárulást kell adnia a Microsoft Entra felügyeleti központ használatával.
Connect-Entra -Scopes 'Application.ReadWrite.All'
$application = Get-EntraApplication -Filter "DisplayName eq 'My new application'"
$requiredResourceAccess = @(
@{resourceAppId = '00000003-0000-0000-c000-000000000000'
resourceAccess = @(
@{
id = 'c79f8feb-a9db-4090-85f9-90d820caa0eb'
type = 'Scope'
}
@{
id = '9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30'
type = 'Role'
} )
})
Set-EntraApplication -ApplicationId $application.Id -RequiredResourceAccess $requiredResourceAccess
Tulajdonosok kezelése
A szolgáltatásnév tulajdonosának lekérése
Connect-Entra -Scopes 'Application.ReadWrite.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
Get-EntraServicePrincipalOwner -ServicePrincipalId $servicePrincipal.Id -All | Select-Object Id, DisplayName, '@odata.type'
Másik lehetőségként használja a pipelininget a szolgáltatásnév tulajdonosának lekéréséhez.
Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'" | Get-EntraServicePrincipalOwner | Select-Object Id, DisplayName, '@odata.type'
Tulajdonos hozzárendelése szolgáltatásnévhez
Connect-Entra -Scopes 'Application.ReadWrite.All', 'Application.ReadWrite.OwnedBy'
$servicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
$owner = Get-EntraUser -UserId 'SawyerM@contoso.com'
Add-EntraServicePrincipalOwner -ServicePrincipalId $servicePrincipal.Id -OwnerId $owner.Id
Ez a példa bemutatja, hogyan adhat hozzá tulajdonost egy szolgáltatásnévhez.
-
-ServicePrincipalId- annak a szolgáltatásnévnek az egyedi azonosítóját (ObjectId) adja meg, amelyhez tulajdonost szeretne hozzáadni. -
-OwnerId- megadja annak a felhasználónak vagy csoportnak az egyedi azonosítóját (ObjectId), amelyet a megadott szolgáltatásnév tulajdonosaként szeretne hozzáadni.
Az összes alkalmazás listájának lekérése felhasználói hozzárendelés nélkül
A felhasználói hozzárendelést nem igénylő alkalmazások listájának lekéréséhez használja az alábbi parancsot.
Connect-Entra -Scopes 'Application.ReadWrite.All'
Get-EntraServicePrincipal -All | Where-Object {$_.appRoleAssignmentRequired -ne 'True'}
DisplayName Id AppId SignInAudience ServicePrincipalType
----------------------------------- ----------------------------------- --------------------------------- ----------------- ------------------
Microsoft password reset service 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 93625bc8-bfe2-437a-97e0-3d0060024faa AzureADMultipleOrgs Application
Microsoft.Azure.SyncFabric 11bb11bb-cc22-dd33-ee44-55ff55ff55ff 00000014-0000-0000-c000-000000000000 AzureADMultipleOrgs Application
Azure Security Insights 22cc22cc-dd33-ee44-ff55-66aa66aa66aa 98785600-1bb7-4fb9-b9fa-19afe2c8a360 AzureADMultipleOrgs Application
Szolgáltatásnévazonosító tulajdonában lévő vagy általa létrehozott objektumok lekérése
Szolgáltatásnév-entitás által létrehozott objektumok
Connect-Entra -Scopes 'Application.Read.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
Get-EntraServicePrincipalCreatedObject -ServicePrincipalId $servicePrincipal.Id
service principal tulajdonában lévő objektumok
Connect-Entra -Scopes 'Application.Read.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
Get-EntraServicePrincipalOwnedObject -ServicePrincipalId $servicePrincipal.Id -All | Select-Object Id, DisplayName, '@odata.type'
Lejáró titkos kódokkal és tanúsítványokkal rendelkező alkalmazások
Az alkalmazás titkos kulcsainak vagy jelszavainak lejárata
$expirationThreshold = (Get-Date).AddDays(30)
$appsWithExpiringPasswords = Get-EntraApplication -All | Where-Object { $_.PasswordCredentials } |
ForEach-Object {
$app = $_
$app.PasswordCredentials | Where-Object { $_.EndDate -le $expirationThreshold } |
ForEach-Object {
[PSCustomObject]@{
DisplayName = $app.DisplayName
AppId = $app.AppId
SecretDisplayName = $_.DisplayName
KeyId = $_.KeyId
ExpiringSecret = $_.EndDate
}
}
}
$appsWithExpiringPasswords | Format-Table DisplayName, AppId, SecretDisplayName, KeyId, ExpiringSecret -AutoSize
Lejáró tanúsítványok
$expirationThreshold = (Get-Date).AddDays(30)
$appsWithExpiringKeys = Get-EntraApplication -All | Where-Object { $_.KeyCredentials } |
ForEach-Object {
$app = $_
$app.KeyCredentials | Where-Object { $_.EndDate -le $expirationThreshold } |
ForEach-Object {
[PSCustomObject]@{
DisplayName = $app.DisplayName
AppId = $app.AppId
CertificateDisplayName = $_.DisplayName
KeyId = $_.KeyId
ExpiringKeys = $_.EndDate
}
}
}
$appsWithExpiringKeys | Format-Table DisplayName, AppId, CertificateDisplayName, KeyId, ExpiringKeys -AutoSize