Mengelola penetapan pengguna dan grup ke aplikasi
Artikel ini memperlihatkan kepada Anda cara menetapkan pengguna dan grup ke aplikasi perusahaan di ID Microsoft Entra menggunakan PowerShell. Saat Anda menetapkan pengguna ke aplikasi, aplikasi tersebut akan muncul di Aplikasi Saya milik pengguna untuk memudahkan akses. Jika aplikasi mengekspos peran, Anda juga dapat menetapkan peran tertentu kepada pengguna.
Saat Anda menetapkan grup ke suatu aplikasi, hanya pengguna di grup tersebut yang akan memiliki akses. Penugasan tidak bertumpuk ke grup berlapis.
Penugasan berbasis grup memerlukan edisi Microsoft Entra ID P1 atau P2. Penugasan berbasis grup didukung untuk grup Keamanan dan grup Microsoft 365 yang pengaturannya SecurityEnabled
diatur ke True
saja. Keanggotaan grup berlapis saat ini tidak didukung. Untuk persyaratan lisensi selengkapnya untuk fitur yang dibahas dalam artikel ini, lihat halaman harga Microsoft Entra.
Untuk kontrol yang lebih ketat, jenis aplikasi perusahaan tertentu dapat dikonfigurasi untuk meminta penetapan pengguna. Untuk informasi selengkapnya tentang mengharuskan penetapan pengguna untuk aplikasi, lihat Mengelola akses ke aplikasi.
Prasyarat
Tip
Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.
Untuk menetapkan pengguna ke aplikasi perusahaan, Anda memerlukan:
- Akun Microsoft Entra dengan langganan aktif. Jika Anda belum memilikinya, Anda dapat Membuat akun secara gratis.
- Salah satu peran berikut: Administrator Global, Administrator Aplikasi Cloud, Administrator Aplikasi, atau pemilik perwakilan layanan.
- Microsoft Entra ID P1 atau P2 untuk penugasan berbasis grup. Untuk persyaratan lisensi selengkapnya untuk fitur yang dibahas dalam artikel ini, lihat halaman harga Microsoft Entra.
Menetapkan pengguna, dan grup, ke aplikasi
Untuk menetapkan akun pengguna atau grup ke aplikasi perusahaan:
Masuk ke pusat admin Microsoft Entra sebagai setidaknya Administrator Aplikasi Cloud.
Telusuri aplikasi Identity>Applications>Enterprise>Semua aplikasi.
Masukkan nama aplikasi yang ada di kotak pencarian, lalu pilih aplikasi dari hasil pencarian.
Pilih Pengguna dan grup, lalu pilih Tambahkan pengguna/grup.
Di panel Tambahkan Penugasan, pilih Tidak Ada yang Dipilih di bawah Pengguna dan grup.
Cari dan pilih pengguna atau grup yang ingin Anda tetapkan ke aplikasi. Misalnya,
contosouser1@contoso.com
ataucontosoteam1@contoso.com
.Pilih Pilih.
Di panel Tambahkan Penugasan, pilih tombol Tetapkan di bagian bawah panel.
Menghapus penetapan pengguna, dan grup, dari aplikasi
- Ikuti langkah-langkah pada bagian Tetapkan pengguna, dan grup, ke aplikasi untuk menavigasi ke panel Pengguna dan grup .
- Cari dan pilih pengguna atau grup yang ingin Anda batalkan penetapannya dari aplikasi.
- Pilih Hapus untuk menghapus penetapan pengguna atau grup dari aplikasi.
Buka perintah Windows PowerShell yang ditinggikan.
Jalankan
Connect-AzureAD
dan masuk setidaknya sebagai Administrator Aplikasi Cloud.Gunakan skrip berikut untuk menetapkan pengguna dan peran ke aplikasi:
# 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-AzureADUser -ObjectId "$username" $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name } # Assign the user to the app role New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Untuk menetapkan grup ke aplikasi perusahaan, Anda harus mengganti Get-AzureADUser
dengan Get-AzureADGroup
dan mengganti New-AzureADUserAppRoleAssignment
dengan New-AzureADGroupAppRoleAssignment
.
Untuk informasi selengkapnya tentang cara menetapkan grup ke peran aplikasi, lihat dokumentasi mengenai New-AzureADGroupAppRoleAssignment.
Contoh
Contoh ini menetapkan pengguna Britta Simon ke aplikasi Microsoft Workplace Analytics menggunakan PowerShell.
Di PowerShell, tetapkan nilai terkait ke variabel $username, $app_name dan $app_role_name.
# Assign the values to the variables $username = "britta.simon@contoso.com" $app_name = "Workplace Analytics"
Dalam contoh ini, kita tidak tahu pasti apa nama dari peran aplikasi yang ingin ditetapkan untuk Britta Simon. Jalankan perintah berikut untuk menghubungi pengguna ($user) dan perwakilan layanan ($sp) menggunakan nama prinsipal pengguna dan nama tampilan perwakilan layanan.
# Get the user to assign, and the service principal for the app to assign to $user = Get-AzureADUser -ObjectId "$username" $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
Jalankan perintah
$sp.AppRoles
guna menampilkan peran yang tersedia untuk aplikasi Workplace Analytics. Dalam contoh ini, kami ingin menetapkan Peran Analis (Akses terbatas) kepada Britta Simon.Tetapkan nama peran ke variabel
$app_role_name
.# Assign the values to the variables $app_role_name = "Analyst (Limited access)" $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
Jalankan perintah berikut untuk menetapkan pengguna ke peran aplikasi:
# Assign the user to the app role New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
Menghapus penetapan pengguna, dan grup, dari aplikasi
Buka perintah Windows PowerShell yang ditinggikan.
Jalankan
Connect-AzureAD
dan masuk setidaknya sebagai Administrator Aplikasi Cloud.Gunakan skrip berikut untuk menghapus pengguna dan peran dari aplikasi.
# Store the proper parameters $user = get-azureaduser -ObjectId <objectId> $spo = Get-AzureADServicePrincipal -ObjectId <objectId> #Get the ID of role assignment $assignments = Get-AzureADServiceAppRoleAssignment -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-AzureADServiceAppRoleAssignment -ObjectId $spo.ObjectId -AppRoleAssignmentId $assignments[assignment number].ObjectId
Menghapus semua pengguna yang ditetapkan ke aplikasi
Gunakan skrip berikut untuk menghapus semua pengguna dan grup yang ditetapkan ke aplikasi.
#Retrieve the service principal object ID.
$app_name = "<Your App's display name>"
$sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
$sp.ObjectId
# Get Service Principal using objectId
$sp = Get-AzureADServicePrincipal -ObjectId "<ServicePrincipal objectID>"
# Get Azure AD App role assignments using objectId of the Service Principal
$assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $sp.ObjectId -All $true
# Remove all users and groups assigned to the application
$assignments | ForEach-Object {
if ($_.PrincipalType -eq "User") {
Remove-AzureADUserAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
} elseif ($_.PrincipalType -eq "Group") {
Remove-AzureADGroupAppRoleAssignment -ObjectId $_.PrincipalId -AppRoleAssignmentId $_.ObjectId
}
}
- Buka perintah Windows PowerShell yang ditinggikan.
- Jalankan
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
dan masuk setidaknya sebagai Administrator Aplikasi Cloud. - Gunakan skrip berikut untuk menetapkan pengguna dan peran ke aplikasi:
# 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 to assign, and the service principal for the app to assign to
$params = @{
"PrincipalId" =$userId
"ResourceId" =$sp.Id
"AppRoleId" =($sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }).Id
}
# Assign the user to the app role
New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params |
Format-List Id, AppRoleId, CreationTime, PrincipalDisplayName,
PrincipalId, PrincipalType, ResourceDisplayName, ResourceId
Menghapus penetapan pengguna, dan grup, dari aplikasi
- Buka perintah Windows PowerShell yang ditinggikan.
- Jalankan
Connect-MgGraph -Scopes "Application.ReadWrite.All", "Directory.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
dan masuk setidaknya sebagai Administrator Aplikasi Cloud. Gunakan skrip berikut untuk menghapus pengguna dan peran dari aplikasi.
# Get the user and the service principal
$user = Get-MgUser -UserId <userid>
$spo = Get-MgServicePrincipal -ServicePrincipalId <ServicePrincipalId>
# Get the Id of the role assignment
$assignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $spo.Id | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
# if you run the following, it will show you the list of users assigned to the application
$assignments | Select *
# To remove the App role assignment run the following command.
Remove-MgServicePrincipalAppRoleAssignedTo -AppRoleAssignmentId '<AppRoleAssignment-id>' -ServicePrincipalId $spo.Id
Menghapus semua pengguna dan grup yang ditetapkan ke aplikasi
Gunakan skrip berikut untuk menghapus semua pengguna dan grup yang ditetapkan ke aplikasi.
$assignments | ForEach-Object {
if ($_.PrincipalType -in ("user", "Group")) {
Remove-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $Sp.Id -AppRoleAssignmentId $_.Id }
}
Untuk menetapkan pengguna dan grup ke aplikasi, masuk ke Graph Explorersebagai setidaknya Administrator Aplikasi Cloud.
Anda harus menyetujui izin berikut:
Application.ReadWrite.All
,Directory.ReadWrite.All
,AppRoleAssignment.ReadWrite.All
.Untuk memberikan penetapan peran aplikasi, Anda memerlukan tiga pengidentifikasi:
principalId
: ID pengguna atau grup tempat Anda menetapkan peran aplikasi.resourceId
: ID layanan sumber dayaPrincipal yang telah menentukan peran aplikasi.appRoleId
: ID appRole (ditentukan pada perwakilan layanan sumber daya) untuk ditetapkan ke pengguna atau grup.
Dapatkan aplikasi perusahaan. Filter menurut DisplayName.
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Rekam nilai berikut dari isi respons:
- ID objek aplikasi perusahaan
- appRoleId yang akan Anda tetapkan kepada pengguna. Jika aplikasi tidak mengekspos peran apa pun, pengguna akan diberi peran akses default.
Dapatkan pengguna dengan memfilter berdasarkan nama utama pengguna. Rekam ID objek pengguna.
GET https://graph.microsoft.com/v1.0/users/{userPrincipalName}
Tetapkan pengguna ke aplikasi.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo { "principalId": "33ad69f9-da99-4bed-acd0-3f24235cb296", "resourceId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e", "appRoleId": "ef7437e6-4f94-4a0a-a110-a439eb2aa8f7" }
Dalam contoh, baik resource-servicePrincipal-id dan resourceId mewakili aplikasi perusahaan.
Menghapus penetapan pengguna, dan grup, dari aplikasi
Untuk menghapus penetapan pengguna dan grup dari aplikasi, jalankan kueri berikut.
Dapatkan aplikasi perusahaan. Filter menurut displayName.
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq '{appDisplayName}'
Dapatkan daftar appRoleAssignments untuk aplikasi.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/appRoleAssignedTo
Hapus appRoleAssignments dengan menentukan ID appRoleAssignment.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{resource-servicePrincipal-id}/appRoleAssignedTo/{appRoleAssignment-id}
Langkah berikutnya
Saran dan Komentar
Kirim dan lihat umpan balik untuk