Aracılığıyla paylaş


Öğretici: Azure PowerShell kullanarak kullanıcıya Azure kaynaklarına erişim izni verme

Azure rol tabanlı erişim denetimi (Azure RBAC) Azure kaynaklarına erişimi yönetmek için kullanılan sistemdir. Bu öğreticide, azure PowerShell kullanarak bir kullanıcıya abonelikteki her şeyi görüntüleme ve kaynak grubundaki her şeyi yönetme erişimi verirsiniz.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Kullanıcıya farklı kapsamlarda erişim izni verme
  • Liste erişimi
  • Erişimi kaldırma

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Uyarı

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önkoşullar

Bu öğreticiyi tamamlamak için şunlara ihtiyacınız olacak:

Rol atamaları

Azure RBAC'de erişim vermek için bir rol ataması oluşturursunuz. Rol ataması üç öğeden oluşur: güvenlik sorumlusu, rol tanımı ve kapsam. Bu öğreticide gerçekleştirebileceğiniz iki rol ataması şunlardır:

Güvenlik sorumlusu Rol tanımı Scope
Kullanıcı
(RBAC Öğretici Kullanıcısı)
Okuyucu Abonelik
Kullanıcı
(RBAC Öğretici Kullanıcısı)
Katkıda Bulunan Kaynak grubu
(rbac-tutorial-resource-group)

Kullanıcı için rol atamaları

Kullanıcı oluşturma

Rol atamak için bir kullanıcı, grup veya hizmet sorumlusu gerekir. Henüz bir kullanıcınız yoksa bir kullanıcı oluşturabilirsiniz.

  1. Azure Cloud Shell'de parola karmaşıklığı gereksinimlerinize uygun bir parola oluşturun.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. New-MgUser komutunu kullanarak etki alanınız için yeni bir kullanıcı oluşturun.

    New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile `
       -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"
    
    DisplayName        Id                                   Mail UserPrincipalName
    -----------        --                                   ---- -----------------
    RBAC Tutorial User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb      rbacuser@example.com
    

Kaynak grubu oluşturma

Kaynak grubu kapsamında rol atamayı göstermek için bir kaynak grubu kullanırsınız.

  1. Get-AzLocation komutunu kullanarak bölge konumlarının listesini alın.

    Get-AzLocation | select Location
    
  2. Yakınınızda bir konum seçin ve bunu bir değişkene atayın.

    $location = "westus"
    
  3. New-AzResourceGroup komutunu kullanarak yeni bir kaynak grubu oluşturun.

    New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
    
    ResourceGroupName : rbac-tutorial-resource-group
    Location          : westus
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    

Erişim izni ver

Kullanıcıya erişim vermek için New-AzRoleAssignment komutunu kullanarak bir rol atarsınız. Güvenlik sorumlusunu, rol tanımını ve kapsamı belirtmeniz gerekir.

  1. Get-AzSubscription komutunu kullanarak aboneliğinizin kimliğini alın.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee
    State    : Enabled
    
  2. Abonelik kapsamını bir değişkene kaydedin.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  3. Okuyucu rolünü kullanıcıya abonelik kapsamında atayın.

    New-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    
  4. Kaynak grubu kapsamında kullanıcıya Katkıda Bulunan rolünü atayın.

    New-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

Liste erişimi

  1. Aboneliğin erişimini doğrulamak için Rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın.

    Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

    Çıktıda, Okuyucu rolünün abonelik kapsamında RBAC Öğretici Kullanıcısına atandığını görebilirsiniz.

  2. Kaynak grubuna erişimi doğrulamak için Get-AzRoleAssignment komutunu kullanarak rol atamalarını listeleyin.

    Get-AzRoleAssignment -SignInName rbacuser@example.com -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    
    RoleAssignmentId   : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0
    Scope              : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
    DisplayName        : RBAC Tutorial User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

    Çıktıda, hem Katkıda Bulunan hem de Okuyucu rollerinin RBAC Eğitim Kullanıcısı'na atandığını görebilirsiniz. Katılımcı rolü rbac-tutorial-resource-group kapsamındadır ve Okuyucu rolü abonelik kapsamında devralınır.

(İsteğe bağlı) Azure portalını kullanarak erişimi listeleme

  1. Rol atamalarının Azure portalında nasıl göründüğünü görmek için aboneliğin Erişim denetimi (IAM) dikey penceresini görüntüleyin.

    Abonelik kapsamındaki bir kullanıcı için rol atamaları

  2. Kaynak grubunun Erişim denetimi (IAM) panelini görüntüleyin.

    Kaynak grubu kapsamındaki bir kullanıcı için rol atamaları

Erişimi kaldırma

Kullanıcıların, grupların ve uygulamaların erişimini kaldırmak için Remove-AzRoleAssignment komutunu kullanarak rol atamasını kaldırın.

  1. Kaynak grubu kapsamındaki kullanıcının Katkıda Bulunan rol atamasını kaldırmak için aşağıdaki komutu kullanın.

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Abonelik kapsamındaki kullanıcının Okuyucu rolü atamasını kaldırmak için aşağıdaki komutu kullanın.

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

Kaynakları temizleme

Bu öğretici tarafından oluşturulan kaynakları temizlemek için kaynak grubunu ve kullanıcıyı silin.

  1. Remove-AzResourceGroup komutunu kullanarak kaynak grubunu silin.

    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. Onaylaması istendiğinde Y yazın. Silinmesi birkaç saniye sürer.

  3. Remove-MgUser komutunu kullanarak kullanıcıyı silin.

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

Sonraki adımlar