Azure RBAC kapsamını anlamaUnderstand scope for Azure RBAC

Kapsam , erişimin uygulandığı kaynak kümesidir.Scope is the set of resources that access applies to. Bir rol atadığınızda, bir güvenlik sorumlusuna yalnızca gerçekten ihtiyacı olan erişimi vermek için kapsamı anlamanız önemlidir.When you assign a role, it's important to understand scope so that you can grant a security principal just the access that it really needs. Kapsamı sınırlayarak, güvenlik sorumlusu tehlikeye girerse, hangi kaynakların risk altında olduğunu sınırlayabilirsiniz.By limiting the scope, you limit what resources are at risk if the security principal is ever compromised.

Kapsam düzeyleriScope levels

Azure 'da, dört düzeyde bir kapsam belirtebilirsiniz: Yönetim grubu, abonelik, kaynak grubuve kaynak.In Azure, you can specify a scope at four levels: management group, subscription, resource group, and resource. Kapsamlar üst-alt ilişkisiyle yapılandırılmıştır.Scopes are structured in a parent-child relationship. Her hiyerarşi düzeyi kapsamı daha belirgin hale getirir.Each level of hierarchy makes the scope more specific. Bu kapsam düzeylerinden herhangi birine roller atayabilirsiniz.You can assign roles at any of these levels of scope. Seçtiğiniz düzey rolün ne kadar büyük ölçüde uygulanacağını belirler.The level you select determines how widely the role is applied. Alt düzeyler, daha yüksek düzeylerdeki rol izinlerini miras alır.Lower levels inherit role permissions from higher levels.

Rol ataması kapsamı

Yönetim grupları, aboneliklerin üzerindeki kapsam düzeyidir, ancak yönetim grupları daha karmaşık hiyerarşileri destekler.Management groups are a level of scope above subscriptions, but management groups support more complex hierarchies. Aşağıdaki diyagramda, tanımlayabileceğiniz bir yönetim grupları ve abonelikler hiyerarşisi örneği gösterilmektedir.The following diagram shows an example of a hierarchy of management groups and subscriptions that you can define. Yönetim grupları hakkında daha fazla bilgi için bkz. Azure Yönetim grupları nelerdir?.For more information about management groups, see What are Azure management groups?.

Yönetim grubu ve abonelik hiyerarşisi

Kapsam biçimiScope format

Komut satırını kullanarak roller atarsanız, kapsamı belirtmeniz gerekir.If you assign roles using the command line, you'll need to specify the scope. Komut satırı araçları için kapsam, rol atamasının tam kapsamını tanımlayan potansiyel olarak uzun bir dizedir.For command-line tools, scope is a potentially long string that identifies the exact scope of the role assignment. Azure portal, bu kapsam genellikle kaynak kimliği olarak listelenir.In the Azure portal, this scope is typically listed as the resource ID.

Kapsam, eğik çizgi (/) karakteriyle ayrılmış bir dizi tanımlayıcıdan oluşur.The scope consists of a series of identifiers separated by the slash (/) character. Bu dizeyi, yer tutucular () olmayan metnin sabit tanımlayıcılardan oluşan aşağıdaki hiyerarşiyi ifade etmek için düşünebilirsiniz {} :You can think of this string as expressing the following hierarchy, where text without placeholders ({}) are fixed identifiers:

/subscriptions
    /{subscriptionId}
        /resourcegroups
            /{resourceGroupName}
                /providers
                    /{providerName}
                        /{resourceType}
                            /{resourceSubType1}
                                /{resourceSubType2}
                                    /{resourceName}
  • {subscriptionId} , kullanılacak aboneliğin KIMLIĞIDIR (bir GUID).{subscriptionId} is the ID of the subscription to use (a GUID).
  • {resourcesGroupName} , kapsayan kaynak grubunun adıdır.{resourcesGroupName} is the name of the containing resource group.
  • {providerName} kaynağı işleyen kaynak sağlayıcısının adı, ardından {resourceType} {resourceSubType*} Bu kaynak sağlayıcıda daha fazla düzeyi belirler.{providerName} is the name of the resource provider that handles the resource, then {resourceType} and {resourceSubType*} identify further levels within that resource provider.
  • {resourceName} , belirli bir kaynağı tanımlayan dizenin son bölümüdür.{resourceName} is the last part of the string that identifies a specific resource.

Yönetim grupları, aboneliklerin üzerinde bir düzeydir ve en geniş (en az belirli) kapsamı vardır.Management groups are a level above subscriptions and have the broadest (least specific) scope. Bu düzeydeki rol atamaları, yönetim grubu içindeki abonelikler için geçerlidir.Role assignments at this level apply to subscriptions within the management group. Bir yönetim grubunun kapsamı aşağıdaki biçimdedir:The scope for a management group has the following format:

/providers
    /Microsoft.Management
        /managementGroups
            /{managmentGroupName}

Kapsam örnekleriScope examples

KapsamScope ÖrnekExample
Yönetim grubuManagement group /providers/Microsoft.Management/managementGroups/marketing-group
AbonelikSubscription /subscriptions/00000000-0000-0000-0000-000000000000
Kaynak grubuResource group /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
KaynakResource /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ı belirlemeHow to determine the scope for a resource

Bir yönetim grubu, abonelik veya kaynak grubu için kapsamı belirlenmesi oldukça basittir.It's fairly simple to determine the scope for a management group, subscription, or resource group. Yalnızca adı ve abonelik KIMLIĞINI bilmeniz gerekir.You just need to know the name and the subscription ID. Ancak, bir kaynağın kapsamını belirlemek biraz daha fazla iş alır.However, determining the scope for a resource takes a little more work. Bir kaynağın kapsamını belirleyebilmeniz için kullanabileceğiniz birkaç yol aşağıda verilmiştir.Here are a couple ways that you can determine the scope for a resource.

  • Azure portal, kaynağı açın ve Özellikler ' e bakın.In the Azure portal, open the resource and then look at the properties. Kaynak, kapsamı belirleyebileceğiniz kaynak kimliğini listelemelidir.The resource should list the Resource ID where you can determine the scope. Örneğin, bir depolama hesabı için kaynak kimlikleri aşağıda verilmiştir.For example, here are the resource IDs for a storage account.

    Azure portal bir depolama hesabı için kaynak kimlikleri

  • Diğer bir yöntem, kaynak kapsamında geçici olarak bir rol atamak için Azure portal kullanmak ve ardından rol atamasını listelemek için Azure PowerShell veya Azure CLI 'yi kullanmaktır.Another way is to use the Azure portal to assign a role temporarily at the resource scope and then use Azure PowerShell or Azure CLI to list the role assignment. Çıktıda kapsam bir özellik olarak listelenecektir.In the output, the scope will be listed as a property.

    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"
      }
    

Sonraki adımlarNext steps