Tutorial: Berikan akses pengguna ke sumber daya Azure menggunakan Azure PowerShell
Kontrol akses berbasis peran Azure (Azure RBAC) merupakan cara Anda mengelola akses ke sumber daya Azure. Dalam tutorial ini, Anda akan memberikan akses pengguna untuk menampilkan semuanya dalam langganan dan mengelola semuanya dalam grup sumber daya menggunakan Azure PowerShell.
Dalam tutorial ini, Anda akan mempelajari cara:
- Memberikan akses untuk pengguna di lingkup yang berbeda
- Cantumkan akses
- Menghapus akses
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda akan memerlukan:
- Izin untuk membuat pengguna di ID Microsoft Entra (atau memiliki pengguna yang sudah ada)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Penetapan peran
Di Azure RBAC, untuk memberikan akses, Anda perlu membuat penetapan peran. Penetapan peran terdiri dari tiga elemen: prinsip keamanan, definisi peran, dan cakupan. Berikut adalah dua penetapan peran yang akan Anda lakukan dalam tutorial ini:
Prinsip keamanan | Definisi peran | Cakupan |
---|---|---|
User (Pengguna Tutorial RBAC) |
Pembaca | Langganan |
User (Pengguna Tutorial RBAC) |
Kontributor | Grup sumber daya (rbac-tutorial-resource-group) |
Buat pengguna
Untuk menetapkan peran, Anda memerlukan pengguna, grup, atau prinsip layanan. Jika Anda belum memiliki pengguna, Anda dapat membuatnya.
Di Azure Cloud Shell, buat kata sandi yang sesuai dengan persyaratan kompleksitas kata sandi Anda.
$PasswordProfile = @{ Password = "<Password>" }
Buat pengguna baru untuk domain Anda menggunakan perintah New-MgUser .
New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile ` -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"
DisplayName Id Mail UserPrincipalName ----------- -- ---- ----------------- RBAC Tutorial User 11111111-1111-1111-1111-111111111111 rbacuser@example.com
Buat grup sumber daya
Anda menggunakan grup sumber daya untuk memperlihatkan cara menetapkan peran di lingkup grup sumber daya.
Dapatkan daftar lokasi wilayah menggunakan perintah Get-AzLocation.
Get-AzLocation | select Location
Pilih lokasi di dekat Anda dan tetapkan ke variabel.
$location = "westus"
Buat grup sumber daya baru menggunakan perintah New-AzResourceGroup.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
Memberikan akses
Untuk memberikan akses pengguna, Anda menggunakan perintah New-AzRoleAssignment untuk menetapkan peran. Anda harus menentukan prinsip keamanan, penentuan peran, dan lingkup.
Dapatkan ID langganan Anda menggunakan perintah Get-AzSubscription.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : 22222222-2222-2222-2222-222222222222 State : Enabled
Simpan lingkup langganan dalam variabel.
$subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
Tetapkan peran Pembaca ke pengguna di lingkup langganan.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/44444444-4444-4444-4444-444444444444 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Tetapkan peran Kontributor ke pengguna di lingkup grup sumber daya.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333 Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Cantumkan akses
Untuk memverifikasi akses langganan, gunakan perintah Get-AzRoleAssignment untuk mencantumkan penetapan peran.
Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScope
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Dalam output, Anda dapat melihat bahwa peran Pembaca telah ditetapkan ke Pengguna Tutorial RBAC di lingkup langganan.
Untuk memverifikasi akses langganan, gunakan perintah Get-AzRoleAssignment untuk mencantumkan penetapan peran.
Get-AzRoleAssignment -SignInName rbacuser@example.com -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333 Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222 Scope : /subscriptions/00000000-0000-0000-0000-000000000000 DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : 11111111-1111-1111-1111-111111111111 ObjectType : User CanDelegate : False
Dalam output, Anda dapat melihat bahwa peran Kontributor dan Pembaca telah ditetapkan ke Pengguna Tutorial RBAC. Peran Kontributor berada di lingkup rbac-tutorial-resource-group dan peran Pembaca diwariskan pada lingkup langganan.
(Opsional) Cantumkan akses menggunakan Portal Microsoft Azure
Untuk melihat tampilan penetapan peran di portal Microsoft Azure, lihat bilah Kontrol akses (IAM) untuk langganan.
Menampilkan bilah Kontrol akses (IAM) untuk grup sumber daya.
Menghapus akses
Untuk menghapus akses bagi pengguna, grup, dan aplikasi, gunakan Remove-AzRoleAssignment untuk menghapus penetapan peran.
Gunakan perintah berikut untuk menghapus penetapan peran Kontributor untuk pengguna di lingkup grup sumber daya.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Gunakan perintah berikut untuk menghapus penetapan peran Pembaca untuk pengguna di lingkup langganan.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Membersihkan sumber daya
Untuk membersihkan sumber daya yang dibuat oleh tutorial ini, hapus grup sumber daya dan pengguna.
Hapus grup sumber daya menggunakan perintah Remove-AzResourceGroup.
Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
Confirm Are you sure you want to remove resource group 'rbac-tutorial-resource-group' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
Ketika diminta untuk mengonfirmasi, ketik Y. Butuh beberapa detik untuk menghapusnya.
Hapus pengguna menggunakan perintah Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id