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:

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)

Role assignments for a user

Buat pengguna

Untuk menetapkan peran, Anda memerlukan pengguna, grup, atau prinsip layanan. Jika Anda belum memiliki pengguna, Anda dapat membuatnya.

  1. Di Azure Cloud Shell, buat kata sandi yang sesuai dengan persyaratan kompleksitas kata sandi Anda.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. 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.

  1. Dapatkan daftar lokasi wilayah menggunakan perintah Get-AzLocation.

    Get-AzLocation | select Location
    
  2. Pilih lokasi di dekat Anda dan tetapkan ke variabel.

    $location = "westus"
    
  3. 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.

  1. 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
    
  2. Simpan lingkup langganan dalam variabel.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  3. 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
    
  4. 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

  1. 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.

  2. 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

  1. Untuk melihat tampilan penetapan peran di portal Microsoft Azure, lihat bilah Kontrol akses (IAM) untuk langganan.

    Role assignments for a user at subscription scope

  2. Menampilkan bilah Kontrol akses (IAM) untuk grup sumber daya.

    Role assignments for a user at resource group scope

Menghapus akses

Untuk menghapus akses bagi pengguna, grup, dan aplikasi, gunakan Remove-AzRoleAssignment untuk menghapus penetapan peran.

  1. 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"
    
  2. 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.

  1. 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"):
    
  2. Ketika diminta untuk mengonfirmasi, ketik Y. Butuh beberapa detik untuk menghapusnya.

  3. Hapus pengguna menggunakan perintah Remove-MgUser .

    $User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'"
    Remove-MgUser -UserId $User.Id
    

Langkah berikutnya