태그를 사용 하 여 Azure 리소스 및 관리 계층 구조 구성Use tags to organize your Azure resources and management hierarchy

Azure 리소스, 리소스 그룹 및 구독에 태그를 적용 하 여 논리적으로 분류로 구성 합니다.You apply tags to your Azure resources, resource groups, and subscriptions to logically organize them into a taxonomy. 각 태그는 이름과 값 쌍으로 이루어져 있습니다.Each tag consists of a name and a value pair. 예를 들어 프로덕션의 모든 리소스에 "환경" 이름과 "프로덕션" 값을 적용할 수 있습니다.For example, you can apply the name "Environment" and the value "Production" to all the resources in production.

태깅 전략을 구현 하는 방법에 대 한 권장 사항은 리소스 명명 및 태그 지정 결정 가이드를 참조 하세요.For recommendations on how to implement a tagging strategy, see Resource naming and tagging decision guide.

중요

태그 이름은 작업에서 대/소문자를 구분 하지 않습니다.Tag names are case-insensitive for operations. 대/소문자에 관계 없이 태그 이름을 가진 태그가 업데이트 되거나 검색 됩니다.A tag with a tag name, regardless of casing, is updated or retrieved. 그러나 리소스 공급자는 태그 이름에 대해 제공 하는 대/소문자를 유지할 수 있습니다.However, the resource provider might keep the casing you provide for the tag name. 비용 보고서에서 대/소문자 구분이 표시 됩니다.You'll see that casing in cost reports.

태그 값은 대/소문자를 구분 합니다.Tag values are case-sensitive.

참고

이 문서에서는 디바이스 또는 서비스에서 개인 데이터를 삭제하는 방법에 대한 단계를 제공하며 GDPR에 따라 의무를 지원하는 데 사용할 수 있습니다.This article provides steps about how to delete personal data from the device or service and can be used to support your obligations under the GDPR. GDPR에 대한 일반정인 정보는 Microsoft Trust Center의 GDPR 섹션Service Trust 포털의 GDPR 섹션을 참조하세요.For general information about GDPR, see the GDPR section of the Microsoft Trust Center and the GDPR section of the Service Trust portal.

필요한 액세스Required access

태그 리소스에 대 한 필수 액세스를 가져오는 방법에는 두 가지가 있습니다.There are two ways to get the required access to tag resources.

  • Microsoft .resources/tags 리소스 유형에 대 한 쓰기 액세스 권한이 있을 수 있습니다.You can have write access to the Microsoft.Resources/tags resource type. 이 액세스를 통해 리소스에 액세스할 수 없는 경우에도 리소스에 태그를 지정할 수 있습니다.This access lets you tag any resource, even if you don't have access to the resource itself. 태그 참여자 역할은이 액세스 권한을 부여 합니다.The Tag Contributor role grants this access. 현재 태그 참여자 역할은 포털을 통해 리소스 또는 리소스 그룹에 태그를 적용할 수 없습니다.Currently, the tag contributor role can't apply tags to resources or resource groups through the portal. 포털을 통해 구독에 태그를 적용할 수 있습니다.It can apply tags to subscriptions through the portal. PowerShell 및 REST API를 통한 모든 태그 작업을 지원 합니다.It supports all tag operations through PowerShell and REST API.

  • 리소스 자체에 대 한 쓰기 권한을 가질 수 있습니다.You can have write access to the resource itself. 참가자 역할은 모든 엔터티에 태그를 적용 하는 데 필요한 액세스 권한을 부여 합니다.The Contributor role grants the required access to apply tags to any entity. 하나의 리소스 형식에만 태그를 적용하려면 해당 리소스에 대한 기여자 역할을 사용합니다.To apply tags to only one resource type, use the contributor role for that resource. 예를 들어, 가상 머신에 태그를 적용하려면 가상 머신 기여자를 사용합니다.For example, to apply tags to virtual machines, use the Virtual Machine Contributor.

PowerShellPowerShell

태그 적용Apply tags

Azure PowerShell은 태그를 적용 하기 위한 두 가지 명령 ( AzTagAzTag)을 제공 합니다.Azure PowerShell offers two commands for applying tags - New-AzTag and Update-AzTag. Az. Resources 모듈이 1.12.0 이상 이어야 합니다.You must have the Az.Resources module 1.12.0 or later. 을 사용 하 여 버전을 확인할 수 있습니다 Get-Module Az.Resources .You can check your version with Get-Module Az.Resources. 해당 모듈을 설치 하거나 Azure PowerShell 3.6.1 이상을 설치할 수 있습니다.You can install that module or install Azure PowerShell 3.6.1 or later.

AzTag 는 리소스, 리소스 그룹 또는 구독에 대 한 모든 태그를 대체 합니다.The New-AzTag replaces all tags on the resource, resource group, or subscription. 명령을 호출할 때 태그를 추가할 엔터티의 리소스 ID를 전달 합니다.When calling the command, pass in the resource ID of the entity you wish to tag.

다음 예에서는 저장소 계정에 태그 집합을 적용 합니다.The following example applies a set of tags to a storage account:

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resource = Get-AzResource -Name demoStorage -ResourceGroup demoGroup
New-AzTag -ResourceId $resource.id -Tag $tags

명령이 완료 되 면 리소스에 두 개의 태그가 있습니다.When the command completes, notice that the resource has two tags.

Properties :
        Name    Value
        ======  =======
        Dept    Finance
        Status  Normal

명령을 다시 실행 했지만이 시간이 다른 태그를 사용 하는 경우 이전 태그가 제거 됩니다.If you run the command again but this time with different tags, notice that the earlier tags are removed.

$tags = @{"Team"="Compliance"; "Environment"="Production"}
New-AzTag -ResourceId $resource.id -Tag $tags
Properties :
        Name         Value
        ===========  ==========
        Environment  Production
        Team         Compliance

태그가 이미 있는 리소스에 태그를 추가 하려면 AzTag 를 사용 합니다.To add tags to a resource that already has tags, use Update-AzTag. -Operation 매개 변수를 Merge 로 설정 합니다.Set the -Operation parameter to Merge.

$tags = @{"Dept"="Finance"; "Status"="Normal"}
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge

두 개의 새 태그가 기존의 두 태그에 추가 되었습니다.Notice that the two new tags were added to the two existing tags.

Properties :
        Name         Value
        ===========  ==========
        Status       Normal
        Dept         Finance
        Team         Compliance
        Environment  Production

각 태그 이름에는 값이 하나만 있을 수 있습니다.Each tag name can have only one value. 태그에 새 값을 제공 하면 병합 작업을 사용 하는 경우에도 이전 값이 바뀝니다.If you provide a new value for a tag, the old value is replaced even if you use the merge operation. 다음 예에서는 상태 태그를 표준에서 녹색으로 변경 합니다.The following example changes the Status tag from Normal to Green.

$tags = @{"Status"="Green"}
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Merge
Properties :
        Name         Value
        ===========  ==========
        Status       Green
        Dept         Finance
        Team         Compliance
        Environment  Production

-Operation 매개 변수를 Replace 로 설정 하면 기존 태그가 새 태그 집합으로 대체 됩니다.When you set the -Operation parameter to Replace, the existing tags are replaced by the new set of tags.

$tags = @{"Project"="ECommerce"; "CostCenter"="00123"; "Team"="Web"}
Update-AzTag -ResourceId $resource.id -Tag $tags -Operation Replace

새 태그만 리소스에 남아 있습니다.Only the new tags remain on the resource.

Properties :
        Name        Value
        ==========  =========
        CostCenter  00123
        Team        Web
        Project     ECommerce

동일한 명령도 리소스 그룹 또는 구독에 사용할 수 있습니다.The same commands also work with resource groups or subscriptions. 태그를 지정할 리소스 그룹 또는 구독에 대 한 식별자를 전달 합니다.You pass in the identifier for the resource group or subscription you want to tag.

리소스 그룹에 새 태그 집합을 추가 하려면 다음을 사용 합니다.To add a new set of tags to a resource group, use:

$tags = @{"Dept"="Finance"; "Status"="Normal"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
New-AzTag -ResourceId $resourceGroup.ResourceId -tag $tags

리소스 그룹에 대 한 태그를 업데이트 하려면 다음을 사용 합니다.To update the tags for a resource group, use:

$tags = @{"CostCenter"="00123"; "Environment"="Production"}
$resourceGroup = Get-AzResourceGroup -Name demoGroup
Update-AzTag -ResourceId $resourceGroup.ResourceId -Tag $tags -Operation Merge

구독에 새 태그 집합을 추가 하려면 다음을 사용 합니다.To add a new set of tags to a subscription, use:

$tags = @{"CostCenter"="00123"; "Environment"="Dev"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
New-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags

구독에 대 한 태그를 업데이트 하려면 다음을 사용 합니다.To update the tags for a subscription, use:

$tags = @{"Team"="Web Apps"}
$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Update-AzTag -ResourceId "/subscriptions/$subscription" -Tag $tags -Operation Merge

리소스 그룹에 동일한 이름의 리소스가 둘 이상 있을 수 있습니다.You may have more than one resource with the same name in a resource group. 이 경우 다음 명령을 사용 하 여 각 리소스를 설정할 수 있습니다.In that case, you can set each resource with the following commands:

$resource = Get-AzResource -ResourceName sqlDatabase1 -ResourceGroupName examplegroup
$resource | ForEach-Object { Update-AzTag -Tag @{ "Dept"="IT"; "Environment"="Test" } -ResourceId $_.ResourceId -Operation Merge }

태그 나열List tags

리소스, 리소스 그룹 또는 구독에 대 한 태그를 가져오려면 AzTag 명령을 사용 하 여 엔터티에 대 한 리소스 ID를 전달 합니다.To get the tags for a resource, resource group, or subscription, use the Get-AzTag command and pass in the resource ID for the entity.

리소스에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a resource, use:

$resource = Get-AzResource -Name demoStorage -ResourceGroup demoGroup
Get-AzTag -ResourceId $resource.id

리소스 그룹에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a resource group, use:

$resourceGroup = Get-AzResourceGroup -Name demoGroup
Get-AzTag -ResourceId $resourceGroup.ResourceId

구독에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a subscription, use:

$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Get-AzTag -ResourceId "/subscriptions/$subscription"

태그별 목록List by tag

특정 태그 이름 및 값을 포함 하는 리소스를 가져오려면 다음을 사용 합니다.To get resources that have a specific tag name and value, use:

(Get-AzResource -Tag @{ "CostCenter"="00123"}).Name

태그 값이 있는 특정 태그 이름을 가진 리소스를 가져오려면 다음을 사용 합니다.To get resources that have a specific tag name with any tag value, use:

(Get-AzResource -TagName "Dept").Name

특정 태그 이름 및 값을 포함 하는 리소스 그룹을 가져오려면 다음을 사용 합니다.To get resource groups that have a specific tag name and value, use:

(Get-AzResourceGroup -Tag @{ "CostCenter"="00123" }).ResourceGroupName

태그 제거Remove tags

특정 태그를 제거 하려면 AzTag 및 set -Operation 을 사용 하 여 삭제 합니다.To remove specific tags, use Update-AzTag and set -Operation to Delete. 삭제 하려는 태그를 전달 합니다.Pass in the tags you want to delete.

$removeTags = @{"Project"="ECommerce"; "Team"="Web"}
Update-AzTag -ResourceId $resource.id -Tag $removeTags -Operation Delete

지정 된 태그가 제거 됩니다.The specified tags are removed.

Properties :
        Name        Value
        ==========  =====
        CostCenter  00123

모든 태그를 제거 하려면 AzTag 명령을 사용 합니다.To remove all tags, use the Remove-AzTag command.

$subscription = (Get-AzSubscription -SubscriptionName "Example Subscription").Id
Remove-AzTag -ResourceId "/subscriptions/$subscription"

Azure CLIAzure CLI

태그 적용Apply tags

Azure CLI 태그 az tag createaz tag update를 적용 하는 두 가지 명령을 제공 합니다.Azure CLI offers two commands for applying tags - az tag create and az tag update. Azure CLI 2.10.0 이상 이어야 합니다.You must have Azure CLI 2.10.0 or later. 을 사용 하 여 버전을 확인할 수 있습니다 az version .You can check your version with az version. 업데이트 하거나 설치 하려면 Azure CLI 설치를 참조 하세요.To update or install, see Install the Azure CLI.

Az tag create 는 리소스, 리소스 그룹 또는 구독에 대 한 모든 태그를 바꿉니다.The az tag create replaces all tags on the resource, resource group, or subscription. 명령을 호출할 때 태그를 추가할 엔터티의 리소스 ID를 전달 합니다.When calling the command, pass in the resource ID of the entity you wish to tag.

다음 예에서는 저장소 계정에 태그 집합을 적용 합니다.The following example applies a set of tags to a storage account:

resource=$(az resource show -g demoGroup -n demoStorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag create --resource-id $resource --tags Dept=Finance Status=Normal

명령이 완료 되 면 리소스에 두 개의 태그가 있습니다.When the command completes, notice that the resource has two tags.

"properties": {
  "tags": {
    "Dept": "Finance",
    "Status": "Normal"
  }
},

명령을 다시 실행 했지만이 시간이 다른 태그를 사용 하는 경우 이전 태그가 제거 됩니다.If you run the command again but this time with different tags, notice that the earlier tags are removed.

az tag create --resource-id $resource --tags Team=Compliance Environment=Production
"properties": {
  "tags": {
    "Environment": "Production",
    "Team": "Compliance"
  }
},

태그가 이미 있는 리소스에 태그를 추가 하려면를 사용 az tag update 합니다.To add tags to a resource that already has tags, use az tag update. --operation매개 변수를로 설정 Merge 합니다.Set the --operation parameter to Merge.

az tag update --resource-id $resource --operation Merge --tags Dept=Finance Status=Normal

두 개의 새 태그가 기존의 두 태그에 추가 되었습니다.Notice that the two new tags were added to the two existing tags.

"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Normal",
    "Team": "Compliance"
  }
},

각 태그 이름에는 값이 하나만 있을 수 있습니다.Each tag name can have only one value. 태그에 새 값을 제공 하면 병합 작업을 사용 하는 경우에도 이전 값이 바뀝니다.If you provide a new value for a tag, the old value is replaced even if you use the merge operation. 다음 예에서는 상태 태그를 표준에서 녹색으로 변경 합니다.The following example changes the Status tag from Normal to Green.

az tag update --resource-id $resource --operation Merge --tags Status=Green
"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Green",
    "Team": "Compliance"
  }
},

--operation매개 변수를로 설정 하면 Replace 기존 태그가 새 태그 집합으로 대체 됩니다.When you set the --operation parameter to Replace, the existing tags are replaced by the new set of tags.

az tag update --resource-id $resource --operation Replace --tags Project=ECommerce CostCenter=00123 Team=Web

새 태그만 리소스에 남아 있습니다.Only the new tags remain on the resource.

"properties": {
  "tags": {
    "CostCenter": "00123",
    "Project": "ECommerce",
    "Team": "Web"
  }
},

동일한 명령도 리소스 그룹 또는 구독에 사용할 수 있습니다.The same commands also work with resource groups or subscriptions. 태그를 지정할 리소스 그룹 또는 구독에 대 한 식별자를 전달 합니다.You pass in the identifier for the resource group or subscription you want to tag.

리소스 그룹에 새 태그 집합을 추가 하려면 다음을 사용 합니다.To add a new set of tags to a resource group, use:

group=$(az group show -n demoGroup --query id --output tsv)
az tag create --resource-id $group --tags Dept=Finance Status=Normal

리소스 그룹에 대 한 태그를 업데이트 하려면 다음을 사용 합니다.To update the tags for a resource group, use:

az tag update --resource-id $group --operation Merge --tags CostCenter=00123 Environment=Production

구독에 새 태그 집합을 추가 하려면 다음을 사용 합니다.To add a new set of tags to a subscription, use:

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag create --resource-id /subscriptions/$sub --tags CostCenter=00123 Environment=Dev

구독에 대 한 태그를 업데이트 하려면 다음을 사용 합니다.To update the tags for a subscription, use:

az tag update --resource-id /subscriptions/$sub --operation Merge --tags Team="Web Apps"

태그 나열List tags

리소스, 리소스 그룹 또는 구독에 대 한 태그를 가져오려면 az tag list 명령을 사용 하 여 엔터티에 대 한 리소스 ID를 전달 합니다.To get the tags for a resource, resource group, or subscription, use the az tag list command and pass in the resource ID for the entity.

리소스에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a resource, use:

resource=$(az resource show -g demoGroup -n demoStorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag list --resource-id $resource

리소스 그룹에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a resource group, use:

group=$(az group show -n demoGroup --query id --output tsv)
az tag list --resource-id $group

구독에 대 한 태그를 보려면 다음을 사용 합니다.To see the tags for a subscription, use:

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag list --resource-id /subscriptions/$sub

태그별 목록List by tag

특정 태그 이름 및 값을 포함 하는 리소스를 가져오려면 다음을 사용 합니다.To get resources that have a specific tag name and value, use:

az resource list --tag CostCenter=00123 --query [].name

태그 값이 있는 특정 태그 이름을 가진 리소스를 가져오려면 다음을 사용 합니다.To get resources that have a specific tag name with any tag value, use:

az resource list --tag Team --query [].name

특정 태그 이름 및 값을 포함 하는 리소스 그룹을 가져오려면 다음을 사용 합니다.To get resource groups that have a specific tag name and value, use:

az group list --tag Dept=Finance

태그 제거Remove tags

특정 태그를 제거 하려면를 사용 하 az tag update--operation 를로 설정 Delete 합니다.To remove specific tags, use az tag update and set --operation to Delete. 삭제 하려는 태그를 전달 합니다.Pass in the tags you want to delete.

az tag update --resource-id $resource --operation Delete --tags Project=ECommerce Team=Web

지정 된 태그가 제거 됩니다.The specified tags are removed.

"properties": {
  "tags": {
    "CostCenter": "00123"
  }
},

모든 태그를 제거 하려면 az tag delete 명령을 사용 합니다.To remove all tags, use the az tag delete command.

az tag delete --resource-id $resource

공백 처리Handling spaces

태그 이름 또는 값에 공백이 포함 되어 있는 경우 큰따옴표로 묶습니다.If your tag names or values include spaces, enclose them in double quotes.

az tag update --resource-id $group --operation Merge --tags "Cost Center"=Finance-1222 Location="West US"

ARM 템플릿ARM templates

Azure Resource Manager 템플릿 (ARM 템플릿)을 사용 하 여 배포 하는 동안 리소스, 리소스 그룹 및 구독에 태그를 지정할 수 있습니다.You can tag resources, resource groups, and subscriptions during deployment with an Azure Resource Manager template (ARM template).

참고

ARM 템플릿을 통해 적용 하는 태그는 기존 태그를 덮어씁니다.The tags you apply through the ARM template overwrite any existing tags.

값 적용Apply values

다음 예제에서는 세 개의 태그를 사용 하 여 저장소 계정을 배포 합니다.The following example deploys a storage account with three tags. 태그 중 두 개 ( DeptEnvironment )는 리터럴 값으로 설정 됩니다.Two of the tags (Dept and Environment) are set to literal values. 한 태그 ( LastDeployed )는 기본적으로 현재 날짜로 설정 된 매개 변수로 설정 됩니다.One tag (LastDeployed) is set to a parameter that defaults to the current date.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "utcShort": {
            "type": "string",
            "defaultValue": "[utcNow('d')]"
        },
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]"
        }
    },
    "resources": [
        {
            "apiVersion": "2019-04-01",
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[concat('storage', uniqueString(resourceGroup().id))]",
            "location": "[parameters('location')]",
            "tags": {
                "Dept": "Finance",
                "Environment": "Production",
                "LastDeployed": "[parameters('utcShort')]"
            },
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "Storage",
            "properties": {}
        }
    ]
}

개체 적용Apply an object

여러 태그를 저장하는 개체 매개 변수를 정의하고 해당 개체를 태그 요소에 적용할 수 있습니다.You can define an object parameter that stores several tags, and apply that object to the tag element. 이 방법은 개체가 다른 속성을 가질 수 있기 때문에 이전 예제 보다 더 많은 유연성을 제공 합니다.This approach provides more flexibility than the previous example because the object can have different properties. 개체의 각 속성은 리소스에 대한 별도의 태그가 됩니다.Each property in the object becomes a separate tag for the resource. 다음 예제에는 태그 요소에 적용되는 tagValues라는 매개 변수가 있습니다.The following example has a parameter named tagValues that is applied to the tag element.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]"
        },
        "tagValues": {
            "type": "object",
            "defaultValue": {
                "Dept": "Finance",
                "Environment": "Production"
            }
        }
    },
    "resources": [
        {
            "apiVersion": "2019-04-01",
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[concat('storage', uniqueString(resourceGroup().id))]",
            "location": "[parameters('location')]",
            "tags": "[parameters('tagValues')]",
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "Storage",
            "properties": {}
        }
    ]
}

JSON 문자열 적용Apply a JSON string

단일 태그에 여러 값을 저장하려면 값을 나타내는 JSON 문자열을 적용합니다.To store many values in a single tag, apply a JSON string that represents the values. 전체 JSON 문자열은 256 자를 초과할 수 없는 하나의 태그로 저장 됩니다.The entire JSON string is stored as one tag that can't exceed 256 characters. 다음 예제에는 JSON 문자열의 여러 값을 포함하는 CostCenter라는 단일 태그를 포함합니다.The following example has a single tag named CostCenter that contains several values from a JSON string:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]"
        }
    },
    "resources": [
        {
            "apiVersion": "2019-04-01",
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[concat('storage', uniqueString(resourceGroup().id))]",
            "location": "[parameters('location')]",
            "tags": {
                "CostCenter": "{\"Dept\":\"Finance\",\"Environment\":\"Production\"}"
            },
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "Storage",
            "properties": {}
        }
    ]
}

리소스 그룹에서 태그 적용Apply tags from resource group

리소스 그룹의 태그를 리소스에 적용 하려면 resourceGroup () 함수를 사용 합니다.To apply tags from a resource group to a resource, use the resourceGroup() function. 태그 값을 가져올 때 tags[tag-name] tags.tag-name 일부 문자는 점 표기법에서 올바르게 구문 분석 되지 않으므로 구문 대신 구문을 사용 합니다.When getting the tag value, use the tags[tag-name] syntax instead of the tags.tag-name syntax, because some characters aren't parsed correctly in the dot notation.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]"
        }
    },
    "resources": [
        {
            "apiVersion": "2019-04-01",
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[concat('storage', uniqueString(resourceGroup().id))]",
            "location": "[parameters('location')]",
            "tags": {
                "Dept": "[resourceGroup().tags['Dept']]",
                "Environment": "[resourceGroup().tags['Environment']]"
            },
            "sku": {
                "name": "Standard_LRS"
            },
            "kind": "Storage",
            "properties": {}
        }
    ]
}

리소스 그룹 또는 구독에 태그 적용Apply tags to resource groups or subscriptions

Microsoft .resources/tags 리소스 종류를 배포 하 여 리소스 그룹 또는 구독에 태그를 추가할 수 있습니다.You can add tags to a resource group or subscription by deploying the Microsoft.Resources/tags resource type. 태그는 배포에 대 한 대상 리소스 그룹 또는 구독에 적용 됩니다.The tags are applied to the target resource group or subscription for the deployment. 템플릿을 배포할 때마다 이전에 적용 된 태그를 바꿉니다.Each time you deploy the template you replace any tags there were previously applied.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "tagName": {
            "type": "string",
            "defaultValue": "TeamName"
        },
        "tagValue": {
            "type": "string",
            "defaultValue": "AppTeam1"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Resources/tags",
            "name": "default",
            "apiVersion": "2019-10-01",
            "dependsOn": [],
            "properties": {
                "tags": {
                    "[parameters('tagName')]": "[parameters('tagValue')]"
                }
            }
        }
    ]
}

리소스 그룹에 태그를 적용 하려면 PowerShell 또는 Azure CLI 중 하나를 사용 합니다.To apply the tags to a resource group, use either PowerShell or Azure CLI. 태그를 지정할 리소스 그룹에 배포 합니다.Deploy to the resource group that you want to tag.

New-AzResourceGroupDeployment -ResourceGroupName exampleGroup -TemplateFile https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
az deployment group create --resource-group exampleGroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json

구독에 태그를 적용 하려면 PowerShell 또는 Azure CLI 중 하나를 사용 합니다.To apply the tags to a subscription, use either PowerShell or Azure CLI. 태그를 지정할 구독에 배포 합니다.Deploy to the subscription that you want to tag.

New-AzSubscriptionDeployment -name tagresourcegroup -Location westus2 -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json
az deployment sub create --name tagresourcegroup --location westus2 --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/tags.json

구독 배포에 대 한 자세한 내용은 구독 수준에서 리소스 그룹 및 리소스 만들기를 참조 하세요.For more information about subscription deployments, see Create resource groups and resources at the subscription level.

다음 템플릿은 개체의 태그를 리소스 그룹 또는 구독에 추가 합니다.The following template adds the tags from an object to either a resource group or subscription.

"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "tags": {
            "type": "object",
            "defaultValue": {
                "TeamName": "AppTeam1",
                "Dept": "Finance",
                "Environment": "Production"
            }
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Resources/tags",
            "name": "default",
            "apiVersion": "2019-10-01",
            "dependsOn": [],
            "properties": {
                "tags": "[parameters('tags')]"
            }
        }
    ]
}

포털Portal

사용자에게 태그를 적용하는 데 필요한 액세스 권한이 없는 경우 태그 기여자 역할을 사용자에게 할당할 수 있습니다.If a user doesn't have the required access for applying tags, you can assign the Tag Contributor role to the user. 자세한 내용은 자습서: RBAC 및 Azure Portal을 사용하여 Azure 리소스에 대한 사용자 액세스 권한 부여를 참조하세요.For more information, see Tutorial: Grant a user access to Azure resources using RBAC and the Azure portal.

  1. 리소스 또는 리소스 그룹에 대한 태그를 보려면 개요에서 기존 태그를 찾습니다.To view the tags for a resource or a resource group, look for existing tags in the overview. 이전에 태그를 적용하지 않은 경우 목록이 비어 있습니다.If you have not previously applied tags, the list is empty.

    리소스 또는 리소스 그룹에 대한 태그 보기

  2. 태그를 추가하려면 태그를 추가하려면 여기를 클릭 을 선택합니다.To add a tag, select Click here to add tags.

  3. 이름 및 값을 제공합니다.Provide a name and value.

    태그 추가

  4. 필요에 따라 태그를 계속 추가합니다.Continue adding tags as needed. 완료되면 저장 을 선택합니다.When done, select Save.

    태그 저장

  5. 이제 태그가 개요에 표시됩니다.The tags are now displayed in the overview.

    태그 표시

  6. 태그를 추가하거나 삭제하려면 변경 을 선택합니다.To add or delete a tag, select change.

  7. 태그를 삭제하려면 휴지통 아이콘을 선택합니다.To delete a tag, select the trash icon. 그런 다음 저장 을 선택합니다.Then, select Save.

    태그 삭제

여러 리소스에 태그를 대량으로 할당하려면 다음을 수행합니다.To bulk assign tags to multiple resources:

  1. 모든 리소스 목록에서 태그를 할당하려는 리소스에 대한 확인란을 선택합니다.From any list of resources, select the checkbox for the resources you want to assign the tag. 그런 다음, 태그 할당 을 선택합니다.Then, select Assign tags.

    여러 리소스 선택

  2. 이름 및 값을 추가합니다.Add names and values. 완료되면 저장 을 선택합니다.When done, select Save.

    할당 선택

태그가 있는 모든 리소스를 보려면To view all resources with a tag:

  1. Azure Portal 메뉴에서 태그 를 검색합니다.On the Azure portal menu, search for tags. 사용 가능한 옵션에서 선택합니다.Select it from the available options.

    태그로 찾기

  2. 리소스를 보기 위한 태그를 선택합니다.Select the tag for viewing resources.

    태그 선택

  3. 해당 태그가 지정된 모든 리소스가 표시됩니다.All resources with that tag are displayed.

    태그로 리소스 보기

REST APIREST API

Azure REST API를 통해 태그 작업을 수행 하려면 다음을 사용 합니다.To work with tags through the Azure REST API, use:

태그 상속Inherit tags

리소스 그룹 또는 구독에 적용 되는 태그는 리소스에서 상속 되지 않습니다.Tags applied to the resource group or subscription aren't inherited by the resources. 구독 또는 리소스 그룹의 태그를 리소스에 적용 하려면 Azure 정책-태그를 참조 하세요.To apply tags from a subscription or resource group to the resources, see Azure Policies - tags.

태그 및 청구Tags and billing

태그를 사용하여 청구 데이터를 그룹화할 수 있습니다.You can use tags to group your billing data. 예를 들어 다양한 구성에 여러 VM을 실행하는 경우 태그를 사용하여 비용 센터별로 사용량을 그룹화할 수 있습니다.For example, if you're running multiple VMs for different organizations, use the tags to group usage by cost center. 또한 프로덕션 환경에서 실행 중인 VM에 대한 청구 사용량과 같이 런타임 환경별로 비용을 분류하는 데 태그를 사용할 수도 있습니다.You can also use tags to categorize costs by runtime environment, such as the billing usage for VMs running in the production environment.

Azure Portal에서 사용할 수 있는 쉼표로 구분 된 값 (CSV) 파일인 사용 파일을 다운로드 하 여 태그에 대 한 정보를 검색할 수 있습니다.You can retrieve information about tags by downloading the usage file, a comma-separated values (CSV) file available from the Azure portal. 자세한 내용은 Azure 청구서 및 일간 사용량 데이터 다운로드 또는 보기를 참조하세요.For more information, see Download or view your Azure billing invoice and daily usage data. Azure 계정 센터에서 사용량 파일을 다운로드하는 경우 버전 2 를 선택합니다.When downloading the usage file from the Azure Account Center, select Version 2. 대금 청구에 태그를 지원하는 서비스의 경우 태그 열에 태그가 나타납니다.For services that support tags with billing, the tags appear in the Tags column.

REST API 작업에 대한 내용은 Azure 청구 REST API 참조를 참조하세요.For REST API operations, see Azure Billing REST API Reference.

제한 사항Limitations

다음 제한 사항이 태그에 적용됩니다.The following limitations apply to tags:

  • 일부 리소스 유형은 태그를 지원하지 않습니다.Not all resource types support tags. 리소스 유형에 태그를 적용할 수 있는지 확인하려면 Azure 리소스에 대한 태그 지원을 참조하세요.To determine if you can apply a tag to a resource type, see Tag support for Azure resources.

  • 각 리소스, 리소스 그룹 및 구독에는 최대 50 개의 태그 이름/값 쌍이 있을 수 있습니다.Each resource, resource group, and subscription can have a maximum of 50 tag name/value pairs. 허용 되는 최대 수보다 많은 태그를 적용 해야 하는 경우 태그 값에 JSON 문자열을 사용 합니다.If you need to apply more tags than the maximum allowed number, use a JSON string for the tag value. JSON 문자열은 단일 태그 이름에 적용되는 여러 값을 포함할 수 있습니다.The JSON string can contain many values that are applied to a single tag name. 리소스 그룹 또는 구독에는 각각 50 개의 태그 이름/값 쌍이 있는 많은 리소스가 포함 될 수 있습니다.A resource group or subscription can contain many resources that each have 50 tag name/value pairs.

  • 태그 이름은 512자로 제한되며 태그 값은 256자로 제한됩니다.The tag name is limited to 512 characters, and the tag value is limited to 256 characters. 스토리지 계정에서 태그 이름은 128자로 제한되며 태그 값은 256자로 제한됩니다.For storage accounts, the tag name is limited to 128 characters, and the tag value is limited to 256 characters.

  • Cloud Services와 같은 클래식 리소스에는 태그를 적용할 수 없습니다.Tags can't be applied to classic resources such as Cloud Services.

  • 태그 이름에는 다음 문자를 포함할 수 없습니다: <, >, %, &, \, ?, /Tag names can't contain these characters: <, >, %, &, \, ?, /

    참고

    현재 Azure DNS 영역 및 Traffic Manager 서비스는 태그에서 공백 사용을 허용 하지 않습니다.Currently, Azure DNS zones and Traffic Manager services also don't allow the use of spaces in the tag.

    Azure 전면 도어는 태그 이름에서의 사용을 지원 하지 않습니다 # .Azure Front Door doesn't support the use of # in the tag name.

    Azure Automation 및 Azure CDN는 리소스에서 15 개의 태그만 지원 합니다.Azure Automation and Azure CDN only support 15 tags on resources.

다음 단계Next steps