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 Id'de kurumsal bir uygulamaya kullanıcı ve grup atama gösterilmektedir. Bir uygulamaya kullanıcı atadığınızda, uygulama kolay erişim için kullanıcının Uygulamalarım portalında görünür. Uygulama uygulama rollerini kullanıma sunarsa, kullanıcıya belirli bir uygulama rolü de atayabilirsiniz.
Bir gruba bir uygulama atadığınızda, yalnızca gruptaki kullanıcıların erişimi olur. Atama, iç içe geçmiş gruplara aktarılmaz.
Grup tabanlı atama için Microsoft Entra ID P1 veya P2 sürümü gerekir. İç içe grup üyelikleri şu anda desteklenmemektedir. Bu makalede açıklanan özelliklerle ilgili daha fazla lisanslama gereksinimi için Microsoft Entra fiyatlandırma sayfasına bakın.
Daha fazla denetim için, belirli kurumsal uygulama türleri kullanıcı ataması gerektirecek şekilde yapılandırılabilir. Bir uygulama için kullanıcı ataması gerektirme hakkında daha fazla bilgi için bkz. Uygulamaya erişimi yönetme. Kullanıcıların uygulamaya atanmasını gerektiren uygulamaların, dizininizde kullanıcıların kendi adlarına onay vermesine izin verse bile, izinleri bir yönetici tarafından onaylanmalıdır.
Not
Portal üzerinden grupları yönetirken uygulama erişim ilkesi grupları gibi sınırlamalarla karşılaşırsanız PowerShell veya Microsoft Graph API gibi alternatif yöntemleri kullanmayı göz önünde bulundurun.
Önkoşullar
Bir kurumsal uygulamaya kullanıcı atamak için şunları yapmanız gerekir:
- Etkin aboneliği olan bir Microsoft Entra hesabı. Henüz bir hesabınız yoksa ücretsiz hesap oluşturabilirsiniz.
- Aşağıdaki rollerden biri:
- Bulut Uygulaması Yöneticisi
- Uygulama Yöneticisi
- Kullanıcı Yöneticisi
- Hizmet sorumlusunun sahibi.
- Grup tabanlı atama için Microsoft Entra ID P1 veya P2. Bu makalede açıklanan özelliklerle ilgili daha fazla lisanslama gereksinimi için Microsoft Entra fiyatlandırma sayfasına bakın.
Microsoft Entra yönetim merkezini kullanarak bir uygulamaya kullanıcı ve grup atama
Kurumsal uygulamaya kullanıcı veya grup hesabı atamak için:
Microsoft Entra yönetim merkezinde en az Bir Bulut Uygulaması Yöneticisi olarak oturum açın.
Entra ID>Enterprise uygulamaları>Tüm uygulamalar'a göz atın.
Arama kutusuna mevcut uygulamanın adını girin ve ardından arama sonuçlarından uygulamayı seçin.
Kullanıcılar ve gruplar'ı ve ardından Kullanıcı/grup ekle'yi seçin.
Atama Ekle bölmesinde Kullanıcılar ve gruplar'ın altında Seçili Yok'a tıklayın.
Uygulamaya atamak istediğiniz kullanıcı veya grubu arayın ve seçin. Örneğin,
contosouser1@contoso.com
veyacontosoteam1@contoso.com
.Seç'i seçin.
Rol seçin altında, kullanıcıya veya gruba atamak istediğiniz rolü seçin. Henüz herhangi bir rol tanımlamadıysanız varsayılan rol Varsayılan Erişim'dir.
Kullanıcıyı veya grubu uygulamaya atamak için Atama Ekle bölmesinde Ata'yı seçin.
Uygulamadan kullanıcıları ve grupları kaldırma
- Kullanıcılar ve gruplar bölmesine gitmek için Bir uygulamaya kullanıcı ve grup atama bölümündeki adımları izleyin.
- Uygulamadan atamasını kaldırmak istediğiniz kullanıcı veya grubu arayın ve seçin.
- Kullanıcının veya grubun uygulamadaki atamasını kaldırmak için Kaldır'ı seçin.
Microsoft Entra PowerShell kullanarak bir uygulamaya kullanıcı ve grup atama
En azından Bulut Uygulaması Yöneticisi olarak oturum açın.
Bir uygulamaya kullanıcı atamak için aşağıdaki betiği kullanın:
connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" # Assign the values to the variables $username = "<Your user's UPN>" $app_name = "<Your App's display name>" $app_role_name = "<App role display name>" # Get the user to assign, and the service principal for the app to assign to $user = Get-EntraUser -ObjectId "$username" $sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name } # Assign the user to the app role New-EntraUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Örnek
Bu örnek, PowerShell kullanarak Britta Simon kullanıcısını Microsoft Workplace Analytics uygulamasına atar.
PowerShell'de, karşılık gelen değerleri ,
$username
ve$app_name
değişkenlerine$app_role_name
atayın.connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" $username = "britta.simon@contoso.com" $app_name = "Workplace Analytics"
Bu örnekte, Britta Simon'a atamak istediğimiz uygulama rolünün tam adını bilmiyoruz. Kullanıcı UPN'sini ve hizmet sorumlusunun görünen adlarını kullanarak kullanıcıyı (
$user
) ve hizmet sorumlusunu ($sp
) almak için aşağıdaki komutları çalıştırın.$user = Get-EntraUser -ObjectId "$username" $sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
Hizmet sorumlusu tarafından kullanıma sunulan uygulama rollerini bulmak için aşağıdaki komutu çalıştırın
$appRoles = $sp.AppRoles # Display the app roles $appRoles | ForEach-Object { Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)" }
Not
Varsayılan AppRole ID'si
00000000-0000-0000-0000-000000000000
. Bu rol, hizmet sorumlusu için belirli bir AppRole tanımlanmadığında atanır.Değişkene AppRole adını atayın
$app_role_name
. Bu örnekte Britta Simon'a Analist (Sınırlı erişim) Rolü atamak istiyoruz.$app_role_name = "Analyst (Limited access)" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
Kullanıcıyı uygulama rolüne atamak için aşağıdaki komutu çalıştırın.
New-EntraUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Kurumsal bir uygulamaya bir grup atamak için Get-EntraUser
öğesini Get-EntraGroup
ile ve New-EntraUserAppRoleAssignment
öğesini New-EntraGroupAppRoleAssignment
ile değiştirin.
Bir grubu uygulama rolüne atama hakkında daha fazla bilgi için New-EntraGroupAppRoleAssignment belgelerine bakın.
Microsoft Entra PowerShell kullanarak bir uygulamadan kullanıcı ve grupların atamasını kaldırma
Yükseltilmiş bir Windows PowerShell komut istemi açın.
En azından Bulut Uygulaması Yöneticisi olarak oturum açın.
Uygulamadan kullanıcı ve rol kaldırmak için aşağıdaki betiği kullanın.
connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All" # Store the proper parameters $user = Get-Entrauser -ObjectId "<objectId>" $spo = Get-EntraServicePrincipal -ObjectId "<objectId>" #Get the ID of role assignment $assignments = Get-EntraServicePrincipalAppRoleAssignedTo -ObjectId $spo.ObjectId | Where {$_.PrincipalDisplayName -eq $user.DisplayName} #if you run the following, it will show you what is assigned what $assignments | Select * #To remove the App role assignment run the following command. Remove-EntraServicePrincipalAppRoleAssignment -ObjectId $spo.ObjectId -AppRoleAssignmentId $assignments.ObjectId
Microsoft Entra PowerShell kullanarak uygulamaya atanan tüm kullanıcıları kaldırma
- Yükseltilmiş bir Windows PowerShell komut istemi açın.
Uygulamaya atanan tüm kullanıcıları ve grupları kaldırmak için aşağıdaki betiği kullanın.
connect-entra -scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
#Retrieve the service principal object ID.
$app_name = "<Your App's display name>"
$sp = Get-EntraServicePrincipal -Filter "displayName eq '$app_name'"
# Get Microsoft Entra App role assignments using objectId of the Service Principal
$assignments = Get-EntraServicePrincipalAppRoleAssignedTo -ObjectId $sp.ObjectId -All
# Remove all users and groups assigned to the application
$assignments | ForEach-Object {
if ($_.PrincipalType -eq "User") {
Remove-EntraUserAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
} elseif ($_.PrincipalType -eq "Group") {
Remove-EntraGroupAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
}
}
Microsoft Graph PowerShell kullanarak bir uygulamaya kullanıcı ve grup atama
Yükseltilmiş bir Windows PowerShell komut istemi açın.
Komutunu çalıştırın
Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
ve en az Bir Bulut Uygulaması Yöneticisi olarak oturum açın.Bir uygulamaya kullanıcı atamak için aşağıdaki betiği kullanın:
#Assign the values to the variables $userId = "<Your user's ID>" $app_name = "<Your App's display name>" $app_role_name = "<App role display name>" $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'" #Get the user, the service principal and appRole. $params = @{ "PrincipalId" =$userId "ResourceId" =$sp.Id "AppRoleId" =($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id } #Assign the user to the AppRole New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params | Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName, ResourceId
Örnek
Bu örnek, Microsoft Graph PowerShell kullanarak Britta Simon kullanıcısını Microsoft Workplace Analytics uygulamasına atar.
PowerShell'de, karşılık gelen değerleri ,
$userId
ve$app_name
değişkenlerine$app_role_name
atayın.# Assign the values to the variables $userId = "<Britta Simon's user ID>" $app_name = "Workplace Analytics"
Bu örnekte Britta Simon'a atamak istediğimiz uygulama rolünün tam adını bilmiyoruz. Hizmet ilkesini ($sp), hizmet ilkesinin görünen adını kullanarak almak için aşağıdaki komutu çalıştırın.
# Get the service principal for the app $sp = Get-MgServicePrincipal -Filter "displayName eq '$app_name'"
Hizmet sorumlusu tarafından sunulan uygulama rollerini bulmak için aşağıdaki komutu çalıştırın.
# Get the app roles exposed by the service principal $appRoles = $sp.AppRoles # Display the app roles $appRoles | ForEach-Object { Write-Output "AppRole: $($_.DisplayName) - ID: $($_.Id)" }
Not
Varsayılan AppRole ID'si
00000000-0000-0000-0000-000000000000
. Bu rol, hizmet sorumlusu için belirli bir AppRole tanımlanmadığında atanır.Değişkene rol adını atayın
$app_role_name
. Bu örnekte Britta Simon'a Analist (Sınırlı erişim) Rolü atamak istiyoruz.# Assign the values to the variables $app_role_name = "Analyst (Limited access)" $appRoleId = ($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id
Kullanıcıyı uygulama rolüne atamak için parametreleri hazırlayın ve aşağıdaki komutu çalıştırın.
# Prepare parameters for the role assignment $params = @{ "PrincipalId" = $userId "ResourceId" = $sp.Id "AppRoleId" = $appRoleId } # Assign the user to the app role New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params | Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName, ResourceId
Kurumsal bir uygulamaya bir grup atamak için Get-MgUser
öğesini Get-MgGroup
ile ve New-MgUserAppRoleAssignment
öğesini New-MgGroupAppRoleAssignment
ile değiştirin.
Bir grubu uygulama rolüne atama hakkında daha fazla bilgi için New-MgGroupAppRoleAssignment belgelerine bakın.
Microsoft Graph PowerShell kullanarak bir uygulamadan kullanıcı ve grupların atamasını kaldırma
Yükseltilmiş bir Windows PowerShell komut istemi açın.
Komutunu çalıştırın
Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
ve en az Bir Bulut Uygulaması Yöneticisi olarak oturum açın.Kullanıcıyı ve hizmet sorumlusunu alma
$user = Get-MgUser -UserId <userid> $sp = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
Rol atamasının ID'sini al
$assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
Uygulamaya atanan kullanıcıların listesini göstermek için aşağıdaki komutu çalıştırın
$assignments | Select *
AppRole atamasını kaldırmak için aşağıdaki komutu çalıştırın.
Remove-MgServicePrincipalAppRoleAssignedTo -AppRoleAssignmentId '<AppRoleAssignment-id>' -ServicePrincipalId $sp.Id
Microsoft Graph PowerShell kullanarak uygulamaya atanan tüm kullanıcıları ve grupları kaldırma
Uygulamaya atanan tüm kullanıcıları ve grupları kaldırmak için aşağıdaki komutu çalıştırın.
$assignments | ForEach-Object {
if ($_.PrincipalType -in ("user", "Group")) {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id -AppRoleAssignmentId $_.Id }
}
Microsoft Graph API'sini kullanarak bir uygulamaya kullanıcı ve grup atama
Bir uygulamaya kullanıcı ve grup atamak için Graf Gezgini'ndeen az Bir Bulut Uygulaması Yöneticisi olarak oturum açın.
Aşağıdaki izinleri onaylamanız gerekir:
Application.ReadWrite.All
veAppRoleAssignment.ReadWrite.All
.Bir uygulama rolü ataması vermek için üç tanımlayıcıya ihtiyacınız vardır:
-
principalId
: Uygulama rolünü atadığınız kullanıcı veya grubun kimliği. -
resourceId
: Uygulama rolünü tanımlayan kaynak hizmetiPrincipal kimliği. -
appRoleId
: Bir kullanıcıya veya gruba atanacak appRole kimliği (kaynak hizmet sorumlusunda tanımlanır).
-
Kurumsal uygulamayı alın.
DisplayName
seçeneğine göre filtrele.GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Yanıt gövdesinden aşağıdaki değerleri kaydedin:
- Kurumsal uygulamanın Nesne Kimliği
- Kullanıcıya atadığınız AppRole Kimliği. Uygulama herhangi bir rol sunmazsa kullanıcıya varsayılan erişim rolü atanır.
Not
Varsayılan AppRole ID'si
00000000-0000-0000-0000-000000000000
. Bu rol, hizmet sorumlusu için belirli bir AppRole tanımlanmadığında atanır.Kullanıcıyı, ana adıyla filtreleyerek alın. Kullanıcının nesne kimliğini kaydedin.
GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
Kullanıcıyı uygulamaya atayın.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo { "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1", "appRoleId": "00000000-0000-0000-0000-000000000000" }
Örnekte, hem
resource-servicePrincipal-id
hem deresourceId
kurumsal uygulamayı temsil eder.
Microsoft Graph API'sini kullanarak bir uygulamadan kullanıcı ve grupların atamasını kaldırma
Uygulamadaki tüm kullanıcıların ve grupların atamasını kaldırmak için aşağıdaki sorguyu çalıştırın.
Kurumsal uygulamayı alın.
displayName
seçeneğine göre filtrele.GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Uygulama için
appRoleAssignments
listesini alın.GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
appRoleAssignments
kimliğini belirterekappRoleAssignment
öğesini kaldırın.DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Microsoft Graph Gezgini, uygulama rolü atamalarının doğrudan toplu olarak silinmesini desteklemez. Her ödevi tek tek silmeniz gerekir. Ancak, her atamayı yinelemek ve kaldırmak için Microsoft Graph PowerShell kullanarak bu işlemi otomatikleştirebilirsiniz