Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Microsoft Entra PowerShell kullanarak özel uygulama oluşturmayı ve izinler verme hakkında bilgi edineceksiniz. Bu işlem rolleri tanımlamayı, kullanıcı ve grupları atamayı ve Microsoft Entra kaynaklarını etkili bir şekilde yönetmek için API izinlerini ayarlamayı içerir.
Bu adımları anlamak, erişimi güvenli bir şekilde yönetmek ve uygulamaların uygun izinlere sahip olmasını sağlamak için gereklidir. Microsoft Entra ekosisteminde güvenlik ve operasyonel verimliliğin korunmasına yardımcı olur.
Prerequisites
Özel uygulama oluşturmak ve buna izin vermek için şunları yapmanız gerekir:
- Microsoft Entra kullanıcı hesabı. Henüz bir hesabınız yoksa, ücretsizhesap oluşturun.
- Aşağıdaki rollerden biri:
- Ayrıcalıklı Rol Yöneticisi
- Bulut Uygulaması Yöneticisi
- Uygulama Yöneticisi
- Gerekli kapsamlar (PowerShell):
AppRoleAssignment.ReadWrite.All,Application.ReadWrite.All,User.Read.All,Group.Read.All, ,DelegatedPermissionGrant.ReadWrite.All
PowerShell kullanarak uygulama oluşturma
bir Microsoft Entra kaynağı için verilen izinleri yalıtmak ve sınırlamak için özel uygulamayı kullanın.
# 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
PowerShell kullanarak atama gerektiren özelliği etkinleştirme
# Set service principal parameters
Set-EntraServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AppRoleAssignmentRequired $True
PowerShell kullanarak kullanıcı ve grup atama
# 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
PowerShell kullanarak gerekli kaynakları ve izinleri tanımlama
# 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
PowerShell kullanarak uygulamaya API izinleri atama
Uygulamaya devredilmiş izinler veya uygulama izinleri atayabilirsiniz.
$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
Betiğin tamamını indirin ve çalıştırın:
- Devredilmiş izinlere sahip özel bir uygulama oluşturmak için create-custom-app-with-delegated-permissions örnek betiğini kullanın.
- Uygulama izinlerine sahip bir özel uygulama oluşturmak için create-custom-app-with-application-permissions örnek betiğini kullanın.
Microsoft Entra yönetim merkezinde bir uygulama oluşturun
Microsoft Entra PowerShell kullanarak Microsoft Entra ID bağlanmak için özel uygulamalar oluşturmak için aşağıdaki bölümdeki adımları izleyin. bir Microsoft Entra kaynağı için verilen izinleri yalıtmak ve sınırlamak için özel uygulamayı kullanın.
- En az bir bulut uygulaması yöneticisi olarak Microsoft Entra yönetim merkezinde oturum açın.
- Kimlik>Uygulamalar>Uygulama kayıtları bölümüne gidin ve ardından Yeni kayıt seçeneğini belirleyin.
- Uygulamanız için bir ad girin, örneğin Entra PowerShell Beş.
- Desteklenen hesap türleri içinBu kuruluş dizinindeki Hesaplar'ı seçin.
-
Yeniden Yönlendirme URI’si için şunu seçin: - açılır listeden Genel istemci/yerel - URI değeri:
http://localhost - Kayıt'ı seç.
Note
Uygulamanın Genel Bakış bölümünde Uygulama (istemci kimliği) ve Dizin (kiracı) kimliğini kopyalayın. Microsoft Entra ID bağlanırken değerleri kullanırsınız.
Microsoft Entra yönetim merkezinde atama gerekli özelliğini etkinleştirme
Uygulamanızın kiracınızda erişebilecekleri kaynakları yönetmek için , Kurumsal uygulamalar bölmesinde uygulamanın hizmet sorumlusunu bulun.
- Kimlik>Uygulamaları>Kurumsal uygulamaları>Tüm uygulamalar'a göz atın ve oluşturduğunuz uygulamayı seçin.
- Yönet'in altında Özellikler'i seçin ve Atama gerekli mi? seçeneğini Evet olarak ayarlayın.
- Kaydetseçeneğini seçin.
Microsoft Entra yönetim merkezi kullanıcıları ve grupları atama
- Yönet bölümünde Kullanıcılar ve gruplar'ı seçin.
- Kullanıcı/grup ekle'yi seçin ve bu uygulamayı kullanmasına izin verilen kullanıcıları ve grupları ekleyin.
- Tüm kullanıcıları ve grupları ekledikten sonra Ata seçin.
Microsoft Entra yönetim merkezi'nde uygulamaya API izinleri atama
Microsoft Entra ID bağlanmak ve Microsoft Entra kaynaklarını yönetmek için yeni uygulama için Microsoft Graph izinleri ayarlamanız gerekir.
- Kimlik>Uygulamaları>Uygulama Kayıtları>Tüm uygulamalar'a gidin ve oluşturduğunuz uygulamayı seçin.
- API izinleri'nin altında İzin> ekle'yi seçin Microsoft API'ler > Microsoft Graph seçin.
- Temsilci veya uygulama izinleri olmak üzere ihtiyacınız olan izin türünü seçin.
- Microsoft Entra ID'da kaynaklarınızı yönetmek için uygulamada oturum açmanız gerekiyorsa Temsilci izinleri'ni seçin.
- Uygulamanın kullanıcı etkileşimi olmadan Microsoft Entra kaynaklara kendi başına erişmesini istiyorsanız Uygulama izinleri'ni seçin
- Gerekli izni arayın, örneğin,
User.Read.All. - TenantName için yönetici onayı ver'i seçin. Evet’i seçin. Durumun yeşil bir onay işareti gösterdiğinden emin olun.
Yeni uygulamayı kullanarak oturum açma
Şimdi aşağıdakilerle bağlantı kurarak yeni oluşturulan uygulamayı kullanabilirsiniz:
Connect-Entra -ClientId <Your_APPLICATION_Id_Here> -TenantId <Your_TENANT_Id_Here>
Diğer bağlantı seçenekleri için Connect-Entra komut ayrıntılarına bakın.