Özel uygulama oluşturma

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:
  • 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:

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.

  1. En az bir bulut uygulaması yöneticisi olarak Microsoft Entra yönetim merkezinde oturum açın.
  2. Kimlik>Uygulamalar>Uygulama kayıtları bölümüne gidin ve ardından Yeni kayıt seçeneğini belirleyin.
  3. Uygulamanız için bir ad girin, örneğin Entra PowerShell Beş.
  4. Desteklenen hesap türleri içinBu kuruluş dizinindeki Hesaplar'ı seçin.
  5. Yeniden Yönlendirme URI’si için şunu seçin: - açılır listeden Genel istemci/yerel - URI değeri: http://localhost
  6. 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.

  1. Kimlik>Uygulamaları>Kurumsal uygulamaları>Tüm uygulamalar'a göz atın ve oluşturduğunuz uygulamayı seçin.
  2. Yönet'in altında Özellikler'i seçin ve Atama gerekli mi? seçeneğini Evet olarak ayarlayın.
  3. Kaydetseçeneğini seçin.

Microsoft Entra yönetim merkezi kullanıcıları ve grupları atama

  1. Yönet bölümünde Kullanıcılar ve gruplar'ı seçin.
  2. Kullanıcı/grup ekle'yi seçin ve bu uygulamayı kullanmasına izin verilen kullanıcıları ve grupları ekleyin.
  3. 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.

  1. Kimlik>Uygulamaları>Uygulama Kayıtları>Tüm uygulamalar'a gidin ve oluşturduğunuz uygulamayı seçin.
  2. API izinleri'nin altında İzin> ekle'yi seçin Microsoft API'ler > Microsoft Graph seçin.
  3. 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
  4. Gerekli izni arayın, örneğin, User.Read.All.
  5. 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.