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.
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:
- Microsoft Entra Id'de kullanıcı oluşturma (veya mevcut bir kullanıcıya sahip) izinler
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK'sı
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ı 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.
Azure Cloud Shell'de parola karmaşıklığı gereksinimlerinize uygun bir parola oluşturun.
$PasswordProfile = @{ Password = "<Password>" }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.
Get-AzLocation komutunu kullanarak bölge konumlarının listesini alın.
Get-AzLocation | select LocationYakınınızda bir konum seçin ve bunu bir değişkene atayın.
$location = "westus"New-AzResourceGroup komutunu kullanarak yeni bir kaynak grubu oluşturun.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $locationResourceGroupName : 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.
Get-AzSubscription komutunu kullanarak aboneliğinizin kimliğini alın.
Get-AzSubscriptionName : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : EnabledAbonelik kapsamını bir değişkene kaydedin.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"Okuyucu rolünü kullanıcıya abonelik kapsamında atayın.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScopeRoleAssignmentId : /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 : FalseKaynak 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
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 $subScopeRoleAssignmentId : /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.
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
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.
Kaynak grubunun Erişim denetimi (IAM) panelini görüntüleyin.
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.
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"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.
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"):Onaylaması istendiğinde Y yazın. Silinmesi birkaç saniye sürer.
Remove-MgUser komutunu kullanarak kullanıcıyı silin.
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id