Azure RBAC kapsamını anlama
Kapsam , erişimin uygulandığı kaynak kümesidir. Bir rol atadığınızda, bir güvenlik sorumlusuna yalnızca gerçekten ihtiyaç duyduğu erişimi verebilmeniz için kapsamı anlamanız önemlidir. Kapsamı sınırlayarak, güvenlik sorumlusunun tehlikeye atılması durumunda hangi kaynakların risk altında olduğunu sınırlandırmış olursunuz.
Kapsam düzeyleri
Azure'da dört düzeyde bir kapsam belirtebilirsiniz: yönetim grubu, abonelik, kaynak grubu ve kaynak. Kapsamlar üst-alt ilişkisiyle yapılandırılmıştır. Hiyerarşinin her düzeyi kapsamı daha belirgin hale getirir. Bu kapsam düzeylerinden herhangi birinde rol atayabilirsiniz. Seçtiğiniz düzey, rolün ne kadar geniş çapta uygulanacağını belirler. Alt düzeyler, rol izinlerini daha yüksek düzeylerden devralır.
Yönetim grupları aboneliklerin üzerindeki bir kapsam düzeyidir, ancak yönetim grupları daha karmaşık hiyerarşileri destekler. Aşağıdaki diyagramda, tanımlayabileceğiniz bir yönetim grupları ve abonelik hiyerarşisi örneği gösterilmektedir. Yönetim grupları hakkında daha fazla bilgi için bkz . Azure yönetim grupları nedir?.
Kapsam biçimi
Komut satırını kullanarak roller atarsanız kapsamı belirtmeniz gerekir. Komut satırı araçları için kapsam, rol atamasının tam kapsamını tanımlayan uzun olabilecek bir dizedir. Azure portalında bu kapsam genellikle kaynak kimliği olarak listelenir.
Kapsam, eğik çizgi (/) karakteriyle ayrılmış bir dizi tanımlayıcıdan oluşur. Bu dizeyi aşağıdaki hiyerarşiyi ifade etmek olarak düşünebilirsiniz; burada yer tutucuları ({}
) olmayan metinler sabit tanımlayıcılardır:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
kullanılacak aboneliğin kimliğidir (GUID).{resourceGroupName}
, içeren kaynak grubunun adıdır.{providerName}
, kaynağı işleyen kaynak sağlayıcısının adıdır ve{resourceSubType*}
bu{resourceType}
kaynak sağlayıcısındaki diğer düzeyleri belirler.{resourceName}
dizenin belirli bir kaynağı tanımlayan son bölümüdür.
Yönetim grupları aboneliklerin üzerindeki bir düzeydir ve en geniş (en az belirli) kapsama sahiptir. Bu düzeydeki rol atamaları, yönetim grubundaki abonelikler için geçerlidir. Bir yönetim grubunun kapsamı aşağıdaki biçime sahiptir:
/providers
/Microsoft.Management
/managementGroups
/{managmentGroupName}
Kapsam örnekleri
Kapsam | Örnek |
---|---|
Yönetim grubu | /providers/Microsoft.Management/managementGroups/marketing-group |
Abonelik | /subscriptions/00000000-0000-0000-0000-000000000000 |
Kaynak grubu | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Kaynak | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Bir kaynağın kapsamını belirleme
Bir yönetim grubunun, aboneliğin veya kaynak grubunun kapsamını belirlemek oldukça basittir. Yalnızca adı ve abonelik kimliğini bilmeniz yeterlidir. Ancak, bir kaynağın kapsamını belirlemek biraz daha fazla çalışma gerektirir. Bir kaynağın kapsamını belirlemenin birkaç yolu aşağıdadır.
Azure portalında kaynağı açın ve özelliklere bakın. Kaynak, kapsamı belirleyebileceğiniz Kaynak Kimliğini listelemelidir. Örneğin, bir depolama hesabının kaynak kimlikleri aşağıda verilmiştir.
Bir diğer yol da Azure portalını kullanarak kaynak kapsamında geçici olarak bir rol atamak ve ardından rol atamasını listelemek için Azure PowerShell veya Azure CLI kullanmaktır. Çıktıda kapsam bir özellik olarak listelenir.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Kapsam ve ARM şablonları
Rol ataması, Azure Resource Manager'da uzantı kaynağı olarak adlandırılan özel bir türdür. Uzantı kaynağı, başka bir kaynağın özelliklerine ekleyen bir kaynaktır. Bunlar her zaman başka bir kaynağın uzantısı (bir alt öğe gibi) olarak bulunur. Örneğin, abonelik kapsamındaki rol ataması, aboneliğin uzantı kaynağıdır. Rol atamasının adı her zaman genişlettikleri kaynağın adıdır./Microsoft.Authorization/roleAssignments/{roleAssignmentId}
Azure Resource Manager şablonunu (ARM şablonu) kullanarak rol atarken genellikle kapsamı sağlamanız gerekmez. Bunun nedeni kapsam alanının her zaman genişletmekte olduğunuz kaynağın kimliği olmasıdır. Kapsam, rol atamasının kimliğinden belirlenebilir. Aşağıdaki tabloda rol atama kimliği ve buna karşılık gelen kapsam örnekleri gösterilmektedir:
Rol atama kimliği | Kapsam |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Kapsam ve ARM şablonları hakkında daha fazla bilgi için bkz . Azure Resource Manager şablonlarını kullanarak Azure rolleri atama. Uzantı kaynak türlerinin tam listesi için bkz . Diğer kaynakların özelliklerini genişleten kaynak türleri.