Öğretici: Azure PowerShell kullanarak Azure kaynaklarına grup erişimi verme
Azure rol tabanlı erişim denetimi (Azure RBAC) Azure kaynaklarına erişimi yönetmek için kullanılan sistemdir. Bu öğreticide bir gruba bir abonelik içindeki her şeyi görüntüleme ve bir kaynak grubundaki her şeyi yönetme izni vermek için Azure PowerShell'i kullanacaksınız.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Bir gruba farklı kapsamlarda erişim izni verme
- Erişimi listeleme
- Erişimi kaldırma
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Not
Azure ile etkileşim kurmak 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 aşağıdakiler gerekir:
- Microsoft Entra Id'de grup oluşturma (veya var olan bir gruba 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ştireceğiniz iki rol ataması aşağıda verilmiştir:
Güvenlik sorumlusu | Rol tanımı | Kapsam |
---|---|---|
Gruplandırma (RBAC Tutorial Group) |
Okuyucu | Abonelik |
Gruplandırma (RBAC Tutorial Group) |
Katkıda Bulunan | Kaynak grubu (rbac-tutorial-resource-group) |
Grup oluşturma
Rol atamak için kullanıcı, grup veya hizmet sorumlu gerekir. Grubunuz yoksa bir tane oluşturabilirsiniz.
Azure Cloud Shell'de New-MgGroup komutunu kullanarak yeni bir grup oluşturun.
New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false ` -SecurityEnabled:$true -MailNickName "NotSet"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Grup oluşturma izniniz yoksa Öğretici: Bunun yerine Azure PowerShell kullanarak kullanıcıya Azure kaynaklarına erişim izni verme makalesini deneyebilirsiniz.
Kaynak grubu oluşturma
Kaynak grubu kapsamında rol atamasını göstermek için bir kaynak grubu kullanmanız gerekir.
Get-AzLocation komutunu kullanarak bölge konumlarının listesini alın.
Get-AzLocation | select Location
Size yakın bir konum seçip 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 $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 verme
Gruba 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-MgGroup komutunu kullanarak grubun nesne kimliğini alın.
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Grup nesnesi kimliğini bir değişkene kaydedin.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
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
Abonelik kapsamını bir değişkene kaydedin.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Okuyucu rolünü abonelik kapsamında gruba atayın.
New-AzRoleAssignment -ObjectId $groupId ` -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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Katılımcı rolünü kaynak grubu kapsamında gruba atayın.
New-AzRoleAssignment -ObjectId $groupId ` -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Erişimi listeleme
Aboneliğin erişimini doğrulamak için Rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın.
Get-AzRoleAssignment -ObjectId $groupId -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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Çıktıda Okuyucu rolünün abonelik kapsamında RBAC Tutorial Group kullanıcısına atanmış olduğunu görebilirsiniz.
Kaynak grubuna erişimi doğrulamak için Get-AzRoleAssignment komutunu kullanarak rol atamalarını listeleyin.
Get-AzRoleAssignment -ObjectId $groupId -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group 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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Çıktıda hem Katılımcı hem de Okuyucu rollerinin RBAC Tutorial Group kullanıcısına atanmış olduğunu görebilirsiniz. Katılımcı rolü rbac-tutorial-resource-group kapsamındadır, Okuyucu rolü ise abonelik kapsamından devralınır.
(İsteğe bağlı) Azure Portal'ı 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) dikey penceresini 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.
Grubun kaynak grubu kapsamındaki Katılımcı rol atamasını kaldırmak için aşağıdaki komutu kullanın.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Grubun abonelik kapsamındaki Okuyucu rol atamasını kaldırmak için aşağıdaki komutu kullanın.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Kaynakları temizleme
Bu öğretici ile oluşturulan kaynakları temizlemek için kaynak grubunu ve grubu silebilirsiniz.
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-MgGroup komutunu kullanarak grubu silin.
Remove-MgGroup -GroupID $groupId
Grubu silmeye çalışırken bir hata alırsanız grubu portaldan da silebilirsiniz.