ARM 템플릿의 리소스 함수Resource functions for ARM templates

Resource Manager는 ARM(Azure Resource Manager) 템플릿에서 리소스 값을 가져오기 위한 다음 함수를 제공합니다.Resource Manager provides the following functions for getting resource values in your Azure Resource Manager (ARM) template:

매개 변수, 변수 또는 현재 배포에서 값을 가져오려면 배포 값 함수를 참조하세요.To get values from parameters, variables, or the current deployment, see Deployment value functions.

extensionResourceIdextensionResourceId

extensionResourceId(resourceId, resourceType, resourceName1, [resourceName2], ...)

해당 기능에 추가하기 위해 다른 리소스에 적용되는 리소스 종류에 해당하는 확장 리소스에 대한 리소스 ID를 반환합니다.Returns the resource ID for an extension resource, which is a resource type that is applied to another resource to add to its capabilities.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
resourceIdresourceId Yes 문자열string 확장 리소스가 적용되는 리소스의 리소스 ID입니다.The resource ID for the resource that the extension resource is applied to.
resourceTyperesourceType Yes 문자열string 리소스 공급자 네임스페이스를 포함하는 리소스 유형입니다.Type of resource including resource provider namespace.
resourceName1resourceName1 Yes 문자열string 리소스의 이름입니다.Name of resource.
resourceName2resourceName2 No 문자열string 필요한 경우 다음 리소스 이름 세그먼트입니다.Next resource name segment, if needed.

리소스 종류에 더 많은 세그먼트가 포함된 경우 리소스 이름을 매개 변수로 계속 추가합니다.Continue adding resource names as parameters when the resource type includes more segments.

반환 값Return value

이 함수에서 반환되는 리소스 ID의 기본 형식은 다음과 같습니다.The basic format of the resource ID returned by this function is:

{scope}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

범위 세그먼트는 확장되는 리소스에 따라 달라집니다.The scope segment varies by the resource being extended.

확장 리소스가 리소스에 적용되는 경우 리소스 ID는 다음 형식으로 반환됩니다.When the extension resource is applied to a resource, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{baseResourceProviderNamespace}/{baseResourceType}/{baseResourceName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

확장 리소스가 리소스 그룹에 적용되는 경우 형식은 다음과 같습니다.When the extension resource is applied to a resource group, the format is:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

확장 리소스가 구독에 적용되는 경우 형식은 다음과 같습니다.When the extension resource is applied to a subscription, the format is:

/subscriptions/{subscriptionId}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

확장 리소스가 관리 그룹에 적용되는 경우 형식은 다음과 같습니다.When the extension resource is applied to a management group, the format is:

/providers/Microsoft.Management/managementGroups/{managementGroupName}/providers/{extensionResourceProviderNamespace}/{extensionResourceType}/{extensionResourceName}

extensionResourceId 예제extensionResourceId example

다음 예제에서는 리소스 그룹 잠금의 리소스 ID를 반환합니다.The following example returns the resource ID for a resource group lock.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "lockName":{
            "type": "string"
        }
    },
    "variables": {},
    "resources": [],
    "outputs": {
        "lockResourceId": {
            "type": "string",
            "value": "[extensionResourceId(resourceGroup().Id , 'Microsoft.Authorization/locks', parameters('lockName'))]"
        }
    }
}

관리 그룹에 배포 된 사용자 지정 정책 정의는 확장 리소스로 구현 됩니다.A custom policy definition deployed to a management group is implemented as an extension resource. 정책을 만들고 할당 하려면 관리 그룹에 다음 템플릿을 배포 합니다.To create and assign a policy, deploy the following template to a management group.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "targetMG": {
            "type": "string",
            "metadata": {
                "description": "Target Management Group"
            }
        },
        "allowedLocations": {
            "type": "array",
            "defaultValue": [
                "australiaeast",
                "australiasoutheast",
                "australiacentral"
            ],
            "metadata": {
                "description": "An array of the allowed locations, all other locations will be denied by the created policy."
            }
        }
    },
    "variables": {
        "mgScope": "[tenantResourceId('Microsoft.Management/managementGroups', parameters('targetMG'))]",
        "policyDefinition": "LocationRestriction"
    },
    "resources": [
        {
            "type": "Microsoft.Authorization/policyDefinitions",
            "name": "[variables('policyDefinition')]",
            "apiVersion": "2019-09-01",
            "properties": {
                "policyType": "Custom",
                "mode": "All",
                "parameters": {
                },
                "policyRule": {
                    "if": {
                        "not": {
                            "field": "location",
                            "in": "[parameters('allowedLocations')]"
                        }
                    },
                    "then": {
                        "effect": "deny"
                    }
                }
            }
        },
        {
            "type": "Microsoft.Authorization/policyAssignments",
            "name": "location-lock",
            "apiVersion": "2019-09-01",
            "dependsOn": [
                "[variables('policyDefinition')]"
            ],
            "properties": {
                "scope": "[variables('mgScope')]",
                "policyDefinitionId": "[extensionResourceId(variables('mgScope'), 'Microsoft.Authorization/policyDefinitions', variables('policyDefinition'))]"
            }
        }
    ]
}

기본 제공 정책 정의는 테 넌 트 수준 리소스입니다.Built-in policy definitions are tenant level resources. 기본 제공 정책 정의를 배포 하는 예제는 Tenantresourceid를 참조 하세요.For an example of deploying a built-in policy definition, see tenantResourceId.

list*list*

list{Value}(resourceName or resourceIdentifier, apiVersion, functionValues)

이 함수의 구문은 목록 작업의 이름에 따라 달라집니다.The syntax for this function varies by name of the list operations. 각 구현은 목록 작업을 지원하는 리소스 종류의 값을 반환합니다.Each implementation returns values for the resource type that supports a list operation. 작업 이름은 list로 시작해야 합니다.The operation name must start with list. 몇 가지 일반적인 사용법은 listKeys , listKeyValuelistSecrets 입니다.Some common usages are listKeys, listKeyValue, and listSecrets.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
resourceName 또는 resourceIdentifierresourceName or resourceIdentifier Yes 문자열string 리소스에 대한 고유 식별자.Unique identifier for the resource.
apiVersionapiVersion Yes 문자열string 리소스 런타임 상태의 API 버전입니다.API version of resource runtime state. 일반적으로 yyyy-mm-dd 형식입니다.Typically, in the format, yyyy-mm-dd.
functionValuesfunctionValues No objectobject 함수에 대한 값이 있는 개체입니다.An object that has values for the function. 스토리지 계정의 listAccountSas 같은 매개 변수 값을 가진 개체를 받는 것을 지원하는 함수에 대해 이 개체를 제공합니다.Only provide this object for functions that support receiving an object with parameter values, such as listAccountSas on a storage account. 함수 값을 전달하는 예제가 이 문서에 나와 있습니다.An example of passing function values is shown in this article.

올바른 용도Valid uses

목록 함수는 리소스 정의의 속성에 사용할 수 있습니다.The list functions can be used in the properties of a resource definition. 템플릿의 출력 섹션에서 중요 한 정보를 노출 하는 list 함수를 사용 하지 마세요.Don't use a list function that exposes sensitive information in the outputs section of a template. 출력 값은 배포 기록에 저장 되며 악의적인 사용자가 검색할 수 있습니다.Output values are stored in the deployment history and could be retrieved by a malicious user.

속성 반복와 함께 사용하는 경우 식이 리소스 속성에 할당되기 때문에 input에 list 함수를 사용할 수 있습니다.When used with property iteration, you can use the list functions for input because the expression is assigned to the resource property. list 함수를 확인하기 전에 개수를 결정해야 하므로 count와 함께 사용할 수 없습니다.You can't use them with count because the count must be determined before the list function is resolved.

구현Implementations

다음 표에 list*의 가능한 용도가 나와 있습니다.The possible uses of list* are shown in the following table.

리소스 유형Resource type 함수 이름Function name
Addons/supportProvidersMicrosoft.Addons/supportProviders listsupport계획 정보listsupportplaninfo
Microsoft.AnalysisServices/serversMicrosoft.AnalysisServices/servers listGatewayStatuslistGatewayStatus
Microsoft.apimanagement/service/authorizationServersMicrosoft.ApiManagement/service/authorizationServers listSecretslistSecrets
Microsoft.apimanagement/서비스/게이트웨이Microsoft.ApiManagement/service/gateways listKeyslistKeys
Microsoft.apimanagement/서비스/identityProvidersMicrosoft.ApiManagement/service/identityProviders listSecretslistSecrets
Microsoft.apimanagement/service/namedValuesMicrosoft.ApiManagement/service/namedValues listValuelistValue
Microsoft.apimanagement/service/openidConnectProvidersMicrosoft.ApiManagement/service/openidConnectProviders listSecretslistSecrets
Microsoft.AppConfigurationMicrosoft.AppConfiguration ListKeyValueListKeyValue
Microsoft.AppConfiguration/configurationStoresMicrosoft.AppConfiguration/configurationStores ListKeysListKeys
Microsoft.AppPlatform/SpringMicrosoft.AppPlatform/Spring listTestKeyslistTestKeys
Microsoft.Automation/automationAccountsMicrosoft.Automation/automationAccounts listKeyslistKeys
Microsoft.Batch/batchAccountsMicrosoft.Batch/batchAccounts listkeyslistkeys
Microsoft.BatchAI/workspaces/experiments/jobsMicrosoft.BatchAI/workspaces/experiments/jobs listoutputfileslistoutputfiles
Microsoft.Blockchain/blockchainMembersMicrosoft.Blockchain/blockchainMembers listApiKeyslistApiKeys
Microsoft.Blockchain/blockchainMembers/transactionNodesMicrosoft.Blockchain/blockchainMembers/transactionNodes listApiKeyslistApiKeys
BotService/botServices/채널Microsoft.BotService/botServices/channels listChannelWithKeyslistChannelWithKeys
Microsoft.Cache/redisMicrosoft.Cache/redis listKeyslistKeys
Microsoft.CognitiveServices/accountsMicrosoft.CognitiveServices/accounts listKeyslistKeys
Microsoft.ContainerRegistry/registriesMicrosoft.ContainerRegistry/registries listBuildSourceUploadUrllistBuildSourceUploadUrl
Microsoft.ContainerRegistry/registriesMicrosoft.ContainerRegistry/registries listCredentialslistCredentials
Microsoft.ContainerRegistry/registriesMicrosoft.ContainerRegistry/registries listUsageslistUsages
Microsoft.containerregistry/registry/agentpoolsMicrosoft.ContainerRegistry/registries/agentpools listQueueStatuslistQueueStatus
Microsoft.containerregistry/레지스트리/buildTasksMicrosoft.ContainerRegistry/registries/buildTasks listSourceRepositoryPropertieslistSourceRepositoryProperties
Microsoft.containerregistry/registry/buildTasks/단계Microsoft.ContainerRegistry/registries/buildTasks/steps listBuildArgumentslistBuildArguments
Microsoft.containerregistry/레지스트리/taskrunsMicrosoft.ContainerRegistry/registries/taskruns listDetailslistDetails
Microsoft.ContainerRegistry/registries/webhooksMicrosoft.ContainerRegistry/registries/webhooks listEventslistEvents
Microsoft.ContainerRegistry/registries/runsMicrosoft.ContainerRegistry/registries/runs listLogSasUrllistLogSasUrl
Microsoft.ContainerRegistry/registries/tasksMicrosoft.ContainerRegistry/registries/tasks listDetailslistDetails
Microsoft.ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterAdminCredentiallistClusterAdminCredential
Microsoft.ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterMonitoringUserCredentiallistClusterMonitoringUserCredential
Microsoft.ContainerService/managedClustersMicrosoft.ContainerService/managedClusters listClusterUserCredentiallistClusterUserCredential
Microsoft.ContainerService/managedClusters/accessProfilesMicrosoft.ContainerService/managedClusters/accessProfiles listCredentiallistCredential
Microsoft.DataBox/jobsMicrosoft.DataBox/jobs listCredentialslistCredentials
Microsoft.DataFactory/datafactories/gatewaysMicrosoft.DataFactory/datafactories/gateways listauthkeyslistauthkeys
Microsoft.DataFactory/factories/integrationruntimesMicrosoft.DataFactory/factories/integrationruntimes listauthkeyslistauthkeys
Microsoft.DataLakeAnalytics/accounts/storageAccounts/ContainersMicrosoft.DataLakeAnalytics/accounts/storageAccounts/Containers listSasTokenslistSasTokens
Microsoft.DataShare/accounts/sharesMicrosoft.DataShare/accounts/shares listSynchronizationslistSynchronizations
Microsoft.DataShare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSourceShareSynchronizationSettingslistSourceShareSynchronizationSettings
Microsoft.DataShare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSynchronizationDetailslistSynchronizationDetails
Microsoft.DataShare/accounts/shareSubscriptionsMicrosoft.DataShare/accounts/shareSubscriptions listSynchronizationslistSynchronizations
Microsoft.Devices/iotHubsMicrosoft.Devices/iotHubs listkeyslistkeys
Microsoft.Devices/iotHubs/iotHubKeysMicrosoft.Devices/iotHubs/iotHubKeys listkeyslistkeys
Microsoft.Devices/provisioningServices/keysMicrosoft.Devices/provisioningServices/keys listkeyslistkeys
Microsoft.Devices/provisioningServicesMicrosoft.Devices/provisioningServices listkeyslistkeys
Microsoft.DevTestLab/labsMicrosoft.DevTestLab/labs ListVhdsListVhds
Microsoft.DevTestLab/labs/schedulesMicrosoft.DevTestLab/labs/schedules ListApplicableListApplicable
Microsoft.DevTestLab/labs/users/serviceFabricsMicrosoft.DevTestLab/labs/users/serviceFabrics ListApplicableSchedulesListApplicableSchedules
Microsoft.DevTestLab/labs/virtualMachinesMicrosoft.DevTestLab/labs/virtualMachines ListApplicableSchedulesListApplicableSchedules
Microsoft.DocumentDB/databaseAccountsMicrosoft.DocumentDB/databaseAccounts listConnectionStringslistConnectionStrings
Microsoft.DocumentDB/databaseAccountsMicrosoft.DocumentDB/databaseAccounts listKeyslistKeys
Microsoft.DocumentDB/databaseAccounts/notebookWorkspacesMicrosoft.DocumentDB/databaseAccounts/notebookWorkspaces listConnectionInfolistConnectionInfo
Microsoft.DomainRegistrationMicrosoft.DomainRegistration listDomainRecommendationslistDomainRecommendations
Microsoft.DomainRegistration/topLevelDomainsMicrosoft.DomainRegistration/topLevelDomains listAgreementslistAgreements
Microsoft.EventGrid/domainsMicrosoft.EventGrid/domains listKeyslistKeys
Microsoft.EventGrid/topicsMicrosoft.EventGrid/topics listKeyslistKeys
Microsoft.EventHub/namespaces/authorizationRulesMicrosoft.EventHub/namespaces/authorizationRules listkeyslistkeys
Microsoft.EventHub/namespaces/disasterRecoveryConfigs/authorizationRulesMicrosoft.EventHub/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft.EventHub/namespaces/eventhubs/authorizationRulesMicrosoft.EventHub/namespaces/eventhubs/authorizationRules listkeyslistkeys
Microsoft.ImportExport/jobsMicrosoft.ImportExport/jobs listBitLockerKeyslistBitLockerKeys
Microsoft.Kusto/Clusters/DatabasesMicrosoft.Kusto/Clusters/Databases ListPrincipalsListPrincipals
Microsoft.LabServices/usersMicrosoft.LabServices/users ListEnvironmentsListEnvironments
Microsoft.LabServices/usersMicrosoft.LabServices/users ListLabsListLabs
Microsoft.Logic/integrationAccounts/agreementsMicrosoft.Logic/integrationAccounts/agreements listContentCallbackUrllistContentCallbackUrl
Microsoft.Logic/integrationAccounts/assembliesMicrosoft.Logic/integrationAccounts/assemblies listContentCallbackUrllistContentCallbackUrl
Microsoft.Logic/integrationAccountsMicrosoft.Logic/integrationAccounts listCallbackUrllistCallbackUrl
Microsoft.Logic/integrationAccountsMicrosoft.Logic/integrationAccounts listKeyVaultKeyslistKeyVaultKeys
Microsoft.Logic/integrationAccounts/mapsMicrosoft.Logic/integrationAccounts/maps listContentCallbackUrllistContentCallbackUrl
Microsoft.Logic/integrationAccounts/partnersMicrosoft.Logic/integrationAccounts/partners listContentCallbackUrllistContentCallbackUrl
Microsoft.Logic/integrationAccounts/schemasMicrosoft.Logic/integrationAccounts/schemas listContentCallbackUrllistContentCallbackUrl
Microsoft.Logic/workflowsMicrosoft.Logic/workflows listCallbackUrllistCallbackUrl
Microsoft.Logic/workflowsMicrosoft.Logic/workflows listSwaggerlistSwagger
Microsoft.Logic/workflows/runs/actionsMicrosoft.Logic/workflows/runs/actions listExpressionTraceslistExpressionTraces
Microsoft.Logic/workflows/runs/actions/repetitionsMicrosoft.Logic/workflows/runs/actions/repetitions listExpressionTraceslistExpressionTraces
Microsoft.Logic/workflows/triggersMicrosoft.Logic/workflows/triggers listCallbackUrllistCallbackUrl
Microsoft.Logic/workflows/versions/triggersMicrosoft.Logic/workflows/versions/triggers listCallbackUrllistCallbackUrl
Microsoft.MachineLearning/webServicesMicrosoft.MachineLearning/webServices listkeyslistkeys
Microsoft.MachineLearning/WorkspacesMicrosoft.MachineLearning/Workspaces listworkspacekeyslistworkspacekeys
Microsoft.MachineLearningServices/workspaces/computesMicrosoft.MachineLearningServices/workspaces/computes listKeyslistKeys
Microsoft.MachineLearningServices/workspaces/computesMicrosoft.MachineLearningServices/workspaces/computes listNodeslistNodes
Microsoft.MachineLearningServices/workspacesMicrosoft.MachineLearningServices/workspaces listKeyslistKeys
Microsoft.Maps/accountsMicrosoft.Maps/accounts listKeyslistKeys
Microsoft.Media/mediaservices/assetsMicrosoft.Media/mediaservices/assets listContainerSaslistContainerSas
Microsoft.Media/mediaservices/assetsMicrosoft.Media/mediaservices/assets listStreamingLocatorslistStreamingLocators
Microsoft.Media/mediaservices/streamingLocatorsMicrosoft.Media/mediaservices/streamingLocators listContentKeyslistContentKeys
Microsoft.Media/mediaservices/streamingLocatorsMicrosoft.Media/mediaservices/streamingLocators listPathslistPaths
Microsoft.Network/applicationSecurityGroupsMicrosoft.Network/applicationSecurityGroups listIpConfigurationslistIpConfigurations
Microsoft.NotificationHubs/Namespaces/authorizationRulesMicrosoft.NotificationHubs/Namespaces/authorizationRules listkeyslistkeys
Microsoft.NotificationHubs/Namespaces/NotificationHubs/authorizationRulesMicrosoft.NotificationHubs/Namespaces/NotificationHubs/authorizationRules listkeyslistkeys
Microsoft.OperationalInsights/workspacesMicrosoft.OperationalInsights/workspaces listlist
Microsoft.OperationalInsights/workspacesMicrosoft.OperationalInsights/workspaces listKeyslistKeys
Microsoft.PolicyInsights/remediationsMicrosoft.PolicyInsights/remediations listDeploymentslistDeployments
Microsoft. RedHatOpenShift/openShiftClustersMicrosoft.RedHatOpenShift/openShiftClusters listCredentialslistCredentials
Microsoft.Relay/namespaces/authorizationRulesMicrosoft.Relay/namespaces/authorizationRules listkeyslistkeys
Microsoft.Relay/namespaces/disasterRecoveryConfigs/authorizationRulesMicrosoft.Relay/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft.Relay/namespaces/HybridConnections/authorizationRulesMicrosoft.Relay/namespaces/HybridConnections/authorizationRules listkeyslistkeys
Microsoft.Relay/namespaces/WcfRelays/authorizationRulesMicrosoft.Relay/namespaces/WcfRelays/authorizationRules listkeyslistkeys
Microsoft.Search/searchServicesMicrosoft.Search/searchServices listAdminKeyslistAdminKeys
Microsoft.Search/searchServicesMicrosoft.Search/searchServices listQueryKeyslistQueryKeys
Microsoft.ServiceBus/namespaces/authorizationRulesMicrosoft.ServiceBus/namespaces/authorizationRules listkeyslistkeys
Microsoft.ServiceBus/namespaces/disasterRecoveryConfigs/authorizationRulesMicrosoft.ServiceBus/namespaces/disasterRecoveryConfigs/authorizationRules listkeyslistkeys
Microsoft.ServiceBus/namespaces/queues/authorizationRulesMicrosoft.ServiceBus/namespaces/queues/authorizationRules listkeyslistkeys
Microsoft.ServiceBus/namespaces/topics/authorizationRulesMicrosoft.ServiceBus/namespaces/topics/authorizationRules listkeyslistkeys
Microsoft.SignalRService/SignalRMicrosoft.SignalRService/SignalR listkeyslistkeys
Microsoft.Storage/storageAccountsMicrosoft.Storage/storageAccounts listAccountSaslistAccountSas
Microsoft.Storage/storageAccountsMicrosoft.Storage/storageAccounts listkeyslistkeys
Microsoft.Storage/storageAccountsMicrosoft.Storage/storageAccounts listServiceSaslistServiceSas
Microsoft.StorSimple/managers/devicesMicrosoft.StorSimple/managers/devices listFailoverSetslistFailoverSets
Microsoft.StorSimple/managers/devicesMicrosoft.StorSimple/managers/devices listFailoverTargetslistFailoverTargets
Microsoft.StorSimple/managersMicrosoft.StorSimple/managers listActivationKeylistActivationKey
Microsoft.StorSimple/managersMicrosoft.StorSimple/managers listPublicEncryptionKeylistPublicEncryptionKey
Synapse/작업 영역/integrationRuntimesMicrosoft.Synapse/workspaces/integrationRuntimes listAuthKeyslistAuthKeys
Microsoft.Web/connectionGatewaysMicrosoft.Web/connectionGateways ListStatusListStatus
microsoft.web/connectionsmicrosoft.web/connections listconsentlinkslistconsentlinks
Microsoft.Web/customApisMicrosoft.Web/customApis listWsdlInterfaceslistWsdlInterfaces
microsoft.web/locationsmicrosoft.web/locations listwsdlinterfaceslistwsdlinterfaces
microsoft.web/apimanagementaccounts/apis/connectionsmicrosoft.web/apimanagementaccounts/apis/connections listconnectionkeyslistconnectionkeys
microsoft.web/apimanagementaccounts/apis/connectionsmicrosoft.web/apimanagementaccounts/apis/connections listsecretslistsecrets
microsoft.web/sites/backupsmicrosoft.web/sites/backups listlist
Microsoft.Web/sites/configMicrosoft.Web/sites/config listlist
microsoft.web/sites/functionsmicrosoft.web/sites/functions listkeyslistkeys
microsoft.web/sites/functionsmicrosoft.web/sites/functions listsecretslistsecrets
microsoft.web/sites/hybridconnectionnamespaces/relaysmicrosoft.web/sites/hybridconnectionnamespaces/relays listkeyslistkeys
microsoft.web/sitesmicrosoft.web/sites listsyncfunctiontriggerstatuslistsyncfunctiontriggerstatus
microsoft.web/sites/slots/functionsmicrosoft.web/sites/slots/functions listsecretslistsecrets
microsoft.web/sites/slots/backupsmicrosoft.web/sites/slots/backups listlist
Microsoft.Web/sites/slots/configMicrosoft.Web/sites/slots/config listlist
microsoft.web/sites/slots/functionsmicrosoft.web/sites/slots/functions listsecretslistsecrets

list 작업이 있는 리소스 유형을 확인할 수 있게 다음 PowerShell 옵션이 제공됩니다.To determine which resource types have a list operation, you have the following options:

  • 리소스 공급자에 대한 REST API 작업을 보고 list 작업을 찾습니다.View the REST API operations for a resource provider, and look for list operations. 예를 들어 스토리지 계정에는 listKeys 작업이 있습니다.For example, storage accounts have the listKeys operation.

  • Get-AzProviderOperation PowerShell cmdlet을 사용합니다.Use the Get-AzProviderOperation PowerShell cmdlet. 다음 예제에서는 스토리지 계정에 대한 모든 list 작업을 가져옵니다.The following example gets all list operations for storage accounts:

    Get-AzProviderOperation -OperationSearchString "Microsoft.Storage/*" | where {$_.Operation -like "*list*"} | FT Operation
    
  • 다음 Azure CLI 명령을 사용하여 목록 작업만 필터링합니다.Use the following Azure CLI command to filter only the list operations:

    az provider operation show --namespace Microsoft.Storage --query "resourceTypes[?name=='storageAccounts'].operations[].name | [?contains(@, 'list')]"
    

반환 값Return value

반환된 개체는 사용하는 list 함수에 따라 다릅니다.The returned object varies by the list function you use. 예를 들어 스토리지 계정에 대한 listKeys는 다음 형식을 반환합니다.For example, the listKeys for a storage account returns the following format:

{
  "keys": [
    {
      "keyName": "key1",
      "permissions": "Full",
      "value": "{value}"
    },
    {
      "keyName": "key2",
      "permissions": "Full",
      "value": "{value}"
    }
  ]
}

다른 list 함수는 다른 반환 형식을 갖습니다.Other list functions have different return formats. 함수의 형식을 보려면 예제 템플릿에 표시된 것처럼 outputs 섹션에 포함합니다.To see the format of a function, include it in the outputs section as shown in the example template.

설명Remarks

리소스 이름 또는 resourceId 함수를 사용하여 리소스를 지정합니다.Specify the resource by using either the resource name or the resourceId function. 참조된 리소스를 배포하는 동일한 템플릿에서 list 함수를 사용하는 경우 리소스 이름을 사용합니다.When using a list function in the same template that deploys the referenced resource, use the resource name.

조건부로 배포되는 리소스에서 list 함수를 사용하는 경우 리소스가 배포되지 않은 경우에도 함수가 평가됩니다.If you use a list function in a resource that is conditionally deployed, the function is evaluated even if the resource isn't deployed. list 함수가 존재하지 않는 리소스를 참조하는 경우 오류가 발생합니다.You get an error if the list function refers to a resource that doesn't exist. 리소스가 배포되는 경우에만 함수가 평가되도록 하려면 if 함수를 사용합니다.Use the if function to make sure the function is only evaluated when the resource is being deployed. If 및 list를 조건부로 배포된 리소스와 함께 사용하는 샘플 템플릿에 대해서는 if 함수를 참조하세요.See the if function for a sample template that uses if and list with a conditionally deployed resource.

목록 예제List example

다음 예에서는 배포 스크립트의 값을 설정할 때 listkeys를 사용 합니다.The following example uses listKeys when setting a value for deployment scripts.

"storageAccountSettings": {
    "storageAccountName": "[variables('storageAccountName')]",
    "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2019-06-01').keys[0].value]"
}

다음 예제에서는 매개 변수를 사용 하는 목록 함수를 보여 줍니다.The next example shows a list function that takes a parameter. 이 경우 함수는 Listaccountsas입니다.In this case, the function is listAccountSas. 만료 시간에 대 한 개체를 전달 합니다.Pass an object for the expiry time. 만료 시간은 미래 시간이어야 합니다.The expiry time must be in the future.

"parameters": {
    "accountSasProperties": {
        "type": "object",
        "defaultValue": {
            "signedServices": "b",
            "signedPermission": "r",
            "signedExpiry": "2020-08-20T11:00:00Z",
            "signedResourceTypes": "s"
        }
    }
},
...
"sasToken": "[listAccountSas(parameters('storagename'), '2018-02-01', parameters('accountSasProperties')).accountSasToken]"

listKeyValue 예제는 빠른 시작: Azure App Configuration 및 Resource Manager 템플릿을 사용하여 자동화된 VM 배포를 참조하세요.For a listKeyValue example, see Quickstart: Automated VM deployment with App Configuration and Resource Manager template.

pickZonespickZones

pickZones(providerNamespace, resourceType, location, [numberOfZones], [offset])

리소스 형식이 영역에 대 한 영역을 지원 하는지 여부를 확인 합니다.Determines whether a resource type supports zones for a region.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
providerNamespaceproviderNamespace Yes 문자열string 영역 지원을 확인할 리소스 형식에 대 한 리소스 공급자 네임 스페이스입니다.The resource provider namespace for the resource type to check for zone support.
resourceTyperesourceType Yes 문자열string 영역 지원을 확인할 리소스 형식입니다.The resource type to check for zone support.
위치location Yes 문자열string 영역 지원을 확인할 지역입니다.The region to check for zone support.
numberOfZonesnumberOfZones No integerinteger 반환할 논리 영역 수입니다.The number of logical zones to return. 기본값은 1입니다.The default is 1. 숫자는 1에서 3 사이의 양의 정수 여야 합니다.The number must a positive integer from 1 to 3. 단일 배열로 영역 설정 리소스에 대해 1을 사용 합니다.Use 1 for single-zoned resources. 멀티 배열로 영역 설정 리소스의 경우이 값은 지원 되는 영역 수보다 작거나 같아야 합니다.For multi-zoned resources, the value must be less than or equal to the number of supported zones.
offsetoffset No integerinteger 시작 논리 영역에서의 오프셋입니다.The offset from the starting logical zone. 오프셋과 numberOfZones가 지원 되는 영역 수를 초과 하는 경우 함수는 오류를 반환 합니다.The function returns an error if offset plus numberOfZones exceeds the number of supported zones.

반환 값Return value

지원 되는 영역을 포함 하는 배열입니다.An array with the supported zones. 오프셋 및 numberOfZones의 기본값을 사용 하는 경우 영역을 지 원하는 리소스 유형 및 지역은 다음 배열을 반환 합니다.When using the default values for offset and numberOfZones, a resource type and region that supports zones returns the following array:

[
    "1"
]

numberOfZones매개 변수가 3으로 설정 되 면 다음을 반환 합니다.When the numberOfZones parameter is set to 3, it returns:

[
    "1",
    "2",
    "3"
]

리소스 유형 또는 지역이 영역을 지원 하지 않는 경우 빈 배열이 반환 됩니다.When the resource type or region doesn't support zones, an empty array is returned.

[
]

pickZones 예제pickZones example

다음 템플릿은 pickZones 함수를 사용 하기 위한 세 가지 결과를 보여 줍니다.The following template shows three results for using the pickZones function.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "functions": [],
    "variables": {},
    "resources": [],
    "outputs": {
        "supported": {
            "type": "array",
            "value": "[pickZones('Microsoft.Compute', 'virtualMachines', 'westus2')]"
        },
        "notSupportedRegion": {
            "type": "array",
            "value": "[pickZones('Microsoft.Compute', 'virtualMachines', 'northcentralus')]"
        },
        "notSupportedType": {
            "type": "array",
            "value": "[pickZones('Microsoft.Cdn', 'profiles', 'westus2')]"
        }
    }
}

이전 예제의 출력은 세 개의 배열을 반환 합니다.The output from the preceding examples returns three arrays.

NameName TypeType Value
지원됨supported arrayarray ["1"][ "1" ]
notSupportedRegionnotSupportedRegion arrayarray [][]
notSupportedTypenotSupportedType arrayarray [][]

PickZones의 응답을 사용 하 여 영역에 null을 제공할지 아니면 가상 컴퓨터를 다른 영역에 할당할지 여부를 결정할 수 있습니다.You can use the response from pickZones to determine whether to provide null for zones or assign virtual machines to different zones. 다음 예에서는 영역 가용성에 따라 영역에 대 한 값을 설정 합니다.The following example sets a value for the zone based on the availability of zones.

"zones": {
    "value": "[if(not(empty(pickZones('Microsoft.Compute', 'virtualMachines', 'westus2'))), string(add(mod(copyIndex(),3),1)), json('null'))]"
},

providersproviders

providers(providerNamespace, [resourceType])

리소스 공급자와 지원되는 리소스 유형에 대한 정보를 반환합니다.Returns information about a resource provider and its supported resource types. 리소스 유형을 제공하지 않는 경우 함수는 리소스 공급자에 대한 모든 지원되는 유형을 반환합니다.If you don't provide a resource type, the function returns all the supported types for the resource provider.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
providerNamespaceproviderNamespace Yes 문자열string 공급자의 네임스페이스입니다.Namespace of the provider
resourceTyperesourceType No 문자열string 지정된 네임스페이스 내의 리소스 유형입니다.The type of resource within the specified namespace.

반환 값Return value

각 지원되는 형식이 다음 형식으로 반환됩니다.Each supported type is returned in the following format:

{
    "resourceType": "{name of resource type}",
    "locations": [ all supported locations ],
    "apiVersions": [ all supported API versions ]
}

반환된 값의 배열 순서는 보장되지 않습니다.Array ordering of the returned values isn't guaranteed.

공급자 예제Providers example

다음 예제 템플릿에서는 공급자 함수를 사용하는 방법을 보여줍니다.The following example template shows how to use the provider function:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "providerNamespace": {
            "type": "string"
        },
        "resourceType": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "providerOutput": {
            "value": "[providers(parameters('providerNamespace'), parameters('resourceType'))]",
            "type" : "object"
        }
    }
}

Microsoft.Web 리소스 공급자 및 사이트 리소스 유형의 경우 앞의 예제는 다음과 같은 형식의 개체를 반환합니다.For the Microsoft.Web resource provider and sites resource type, the preceding example returns an object in the following format:

{
  "resourceType": "sites",
  "locations": [
    "South Central US",
    "North Europe",
    "West Europe",
    "Southeast Asia",
    ...
  ],
  "apiVersions": [
    "2016-08-01",
    "2016-03-01",
    "2015-08-01-preview",
    "2015-08-01",
    ...
  ]
}

referencereference

reference(resourceName or resourceIdentifier, [apiVersion], ['Full'])

리소스의 런타임 상태를 나타내는 개체를 반환합니다.Returns an object representing a resource's runtime state.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
resourceName 또는 resourceIdentifierresourceName or resourceIdentifier Yes 문자열string 리소스의 이름 또는 고유 식별자입니다.Name or unique identifier of a resource. 현재 템플릿의 리소스를 참조할 경우 리소스 이름만 매개 변수로 지정합니다.When referencing a resource in the current template, provide only the resource name as a parameter. 이전에 배포된 리소스를 참조하거나 리소스 이름이 모호한 경우 리소스 ID를 제공합니다.When referencing a previously deployed resource or when the name of the resource is ambiguous, provide the resource ID.
apiVersionapiVersion No 문자열string 지정된 리소스의 API 버전입니다.API version of the specified resource. 리소스가 동일한 템플릿 내에서 프로비저닝되지 않은 경우 이 매개 변수가 필요합니다.This parameter is required when the resource isn't provisioned within same template. 일반적으로 yyyy-mm-dd 형식입니다.Typically, in the format, yyyy-mm-dd. 리소스에 대한 유효한 API 버전은 템플릿 참조를 참조하세요.For valid API versions for your resource, see template reference.
'Full''Full' No 문자열string 전체 리소스 개체를 반환할지 여부를 지정하는 값입니다.Value that specifies whether to return the full resource object. 'Full'을 지정하지 않으면 리소스의 속성 개체만 반환됩니다.If you don't specify 'Full', only the properties object of the resource is returned. 전체 개체에는 리소스 ID 및 위치와 같은 값이 포함됩니다.The full object includes values such as the resource ID and location.

반환 값Return value

모든 리소스 형식은 reference 함수에 대해 다른 속성을 반환합니다.Every resource type returns different properties for the reference function. 이 함수는 미리 정의된 단일 형식을 반환하지 않습니다.The function doesn't return a single, predefined format. 또한 반환되는 값은 'Full' 인수의 값에 따라 다릅니다.Also, the returned value differs based on the value of the 'Full' argument. 리소스 형식에 대한 속성을 보려면 예제와 같이 outputs 섹션의 개체를 반환합니다.To see the properties for a resource type, return the object in the outputs section as shown in the example.

설명Remarks

참조 함수는 이전에 배포한 리소스 또는 현재 템플릿에 배포된 리소스의 런타임 상태를 검색합니다.The reference function retrieves the runtime state of either a previously deployed resource or a resource deployed in the current template. 이 문서는 두 시나리오에 대한 예제를 보여 줍니다.This article shows examples for both scenarios.

일반적으로 reference 함수를 사용하여 blob 엔드포인트 URI 또는 정규화된 도메인 이름과 같은 개체의 특정 값을 반환합니다.Typically, you use the reference function to return a particular value from an object, such as the blob endpoint URI or fully qualified domain name.

"outputs": {
    "BlobUri": {
        "value": "[reference(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))).primaryEndpoints.blob]",
        "type" : "string"
    },
    "FQDN": {
        "value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', parameters('ipAddressName'))).dnsSettings.fqdn]",
        "type" : "string"
    }
}

속성 스키마의 일부가 아닌 리소스 값이 필요하면 'Full'을 사용합니다.Use 'Full' when you need resource values that aren't part of the properties schema. 예를 들어 키 자격 증명 모음 액세스 정책을 설정하려면 가상 머신에 대한 ID 속성을 가져옵니다.For example, to set key vault access policies, get the identity properties for a virtual machine.

{
  "type": "Microsoft.KeyVault/vaults",
  "properties": {
    "tenantId": "[subscription().tenantId]",
    "accessPolicies": [
      {
        "tenantId": "[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')), '2019-03-01', 'Full').identity.tenantId]",
        "objectId": "[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')), '2019-03-01', 'Full').identity.principalId]",
        "permissions": {
          "keys": [
            "all"
          ],
          "secrets": [
            "all"
          ]
        }
      }
    ],
    ...

올바른 용도Valid uses

참조 함수는 리소스 정의의 속성과 템플릿 또는 배포의 출력 섹션에서만 사용할 수 있습니다.The reference function can only be used in the properties of a resource definition and the outputs section of a template or deployment. 속성 반복와 함께 사용하는 경우 식이 리소스 속성에 할당되기 때문에 input에 reference 함수를 사용할 수 있습니다.When used with property iteration, you can use the reference function for input because the expression is assigned to the resource property.

reference 함수를 사용하여 복사 루프에서 count 속성의 값을 설정할 수 없습니다.You can't use the reference function to set the value of the count property in a copy loop. 루프에서 다른 속성을 설정하는 데는 이 함수를 사용할 수 있습니다.You can use to set other properties in the loop. reference 함수가 확인되기 전에 해당 속성을 확인해야 하기 때문에 count 속성에 대해 참조가 차단됩니다.Reference is blocked for the count property because that property must be determined before the reference function is resolved.

중첩 된 템플릿의 출력 섹션에서 reference 함수 또는 list * 함수를 사용 하려면를 expressionEvaluationOptions 내부 범위 평가를 사용 하도록 설정 하거나 중첩 된 템플릿 대신 연결 된를 사용 하도록 설정 해야 합니다.To use the reference function or any list* function in the outputs section of a nested template, you must set the expressionEvaluationOptions to use inner scope evaluation or use a linked instead of a nested template.

조건부로 배포되는 리소스에서 reference 함수를 사용하는 경우 리소스가 배포되지 않은 경우에도 함수가 평가됩니다.If you use the reference function in a resource that is conditionally deployed, the function is evaluated even if the resource isn't deployed. reference 함수가 존재하지 않는 리소스를 참조하는 경우 오류가 발생합니다.You get an error if the reference function refers to a resource that doesn't exist. 리소스가 배포되는 경우에만 함수가 평가되도록 하려면 if 함수를 사용합니다.Use the if function to make sure the function is only evaluated when the resource is being deployed. If 및 reference를 조건부로 배포된 리소스와 함께 사용하는 샘플 템플릿에 대해서는 if 함수를 참조하세요.See the if function for a sample template that uses if and reference with a conditionally deployed resource.

암시적 종속성Implicit dependency

참조 함수를 사용하여 참조되는 리소스가 동일한 템플릿 내에서 프로비전되는 경우 한 리소스가 다른 리소스에 종속되도록 암시적으로 선언하고, 해당 이름별로 리소스를 참조합니다(리소스 ID 아님).By using the reference function, you implicitly declare that one resource depends on another resource if the referenced resource is provisioned within same template and you refer to the resource by its name (not resource ID). 또한 dependsOn 속성도 사용할 필요가 없습니다.You don't need to also use the dependsOn property. 참조 리소스가 배포를 완료할 때까지 함수는 평가되지 않습니다.The function isn't evaluated until the referenced resource has completed deployment.

리소스 이름 또는 식별자Resource name or identifier

동일한 템플릿에 배포된 리소스를 참조하는 경우 리소스의 이름을 제공합니다.When referencing a resource that is deployed in the same template, provide the name of the resource.

"value": "[reference(parameters('storageAccountName'))]"

동일한 템플릿에 배포되지 않은 리소스를 참조하는 경우 리소스 ID 및 apiVersion을 제공합니다.When referencing a resource that isn't deployed in the same template, provide the resource ID and apiVersion.

"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2018-07-01')]"

참조하는 리소스에 대한 모호성을 피하려면 정규화된 리소스 식별자를 제공할 수 있습니다.To avoid ambiguity about which resource you're referencing, you can provide a fully qualified resource identifier.

"value": "[reference(resourceId('Microsoft.Network/publicIPAddresses', parameters('ipAddressName')))]"

리소스에 대한 정규화된 참조를 생성할 때 형식과 이름의 세그먼트를 결합하는 순서는 단순히 두 세그먼트의 연결이 아닙니다.When constructing a fully qualified reference to a resource, the order to combine segments from the type and name isn't simply a concatenation of the two. 대신, 네임스페이스 뒤에 구체성이 낮은 순으로 형식/이름 쌍의 시퀀스를 사용합니다.Instead, after the namespace, use a sequence of type/name pairs from least specific to most specific:

{resource-provider-namespace}/{parent-resource-type}/{parent-resource-name}[/{child-resource-type}/{child-resource-name}]{resource-provider-namespace}/{parent-resource-type}/{parent-resource-name}[/{child-resource-type}/{child-resource-name}]

다음은 그 예입니다.For example:

Microsoft.Compute/virtualMachines/myVM/extensions/myExt는 올바릅니다. Microsoft.Compute/virtualMachines/extensions/myVM/myExt는 올바르지 않습니다.Microsoft.Compute/virtualMachines/myVM/extensions/myExt is correct Microsoft.Compute/virtualMachines/extensions/myVM/myExt is not correct

리소스 ID 만들기를 간소화하려면 concat() 함수 대신이 문서에 설명된 resourceId() 함수를 사용합니다.To simplify the creation of any resource ID, use the resourceId() functions described in this document instead of the concat() function.

관리 ID 가져오기Get managed identity

Azure 리소스에 대한 관리 ID는 일부 리소스에 대해 암시적으로 생성되는 확장 리소스 종류입니다.Managed identities for Azure resources are extension resource types that are created implicitly for some resources. 관리 ID가 템플릿에 명시적으로 정의되어 있지 않기 때문에 ID가 적용되는 리소스를 참조해야 합니다.Because the managed identity isn't explicitly defined in the template, you must reference the resource that the identity is applied to. Full을 사용하여 암시적으로 생성된 ID를 비롯한 모든 속성을 가져옵니다.Use Full to get all of the properties, including the implicitly created identity.

패턴은 다음과 같습니다.The pattern is:

"[reference(resourceId(<resource-provider-namespace>, <resource-name>, <API-version>, 'Full').Identity.propertyName]"

예를 들어 가상 컴퓨터에 적용 되는 관리 id의 보안 주체 ID를 가져오려면 다음을 사용 합니다.For example, to get the principal ID for a managed identity that is applied to a virtual machine, use:

"[reference(resourceId('Microsoft.Compute/virtualMachines', variables('vmName')),'2019-12-01', 'Full').identity.principalId]",

또는 가상 머신 확장 집합에 적용 되는 관리 되는 id에 대 한 테 넌 트 ID를 가져오려면 다음을 사용 합니다.Or, to get the tenant ID for a managed identity that is applied to a virtual machine scale set, use:

"[reference(resourceId('Microsoft.Compute/virtualMachineScaleSets',  variables('vmNodeType0Name')), 2019-12-01, 'Full').Identity.tenantId]"

참조 예제Reference example

다음 예제 템플릿에서는 리소스를 배포하고 해당 리소스를 참조합니다.The following example template deploys a resource, and references that resource.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "storageAccountName": {
          "type": "string"
      }
  },
  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2016-12-01",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "Storage",
      "location": "[resourceGroup().location]",
      "tags": {},
      "properties": {
      }
    }
  ],
  "outputs": {
      "referenceOutput": {
          "type": "object",
          "value": "[reference(parameters('storageAccountName'))]"
      },
      "fullReferenceOutput": {
        "type": "object",
        "value": "[reference(parameters('storageAccountName'), '2016-12-01', 'Full')]"
      }
    }
}

앞의 예제에서는 두 개의 개체를 반환합니다.The preceding example returns the two objects. 속성 개체의 형식은 다음과 같습니다.The properties object is in the following format:

{
   "creationTime": "2017-10-09T18:55:40.5863736Z",
   "primaryEndpoints": {
     "blob": "https://examplestorage.blob.core.windows.net/",
     "file": "https://examplestorage.file.core.windows.net/",
     "queue": "https://examplestorage.queue.core.windows.net/",
     "table": "https://examplestorage.table.core.windows.net/"
   },
   "primaryLocation": "southcentralus",
   "provisioningState": "Succeeded",
   "statusOfPrimary": "available",
   "supportsHttpsTrafficOnly": false
}

전체 개체의 형식은 다음과 같습니다.The full object is in the following format:

{
  "apiVersion":"2016-12-01",
  "location":"southcentralus",
  "sku": {
    "name":"Standard_LRS",
    "tier":"Standard"
  },
  "tags":{},
  "kind":"Storage",
  "properties": {
    "creationTime":"2017-10-09T18:55:40.5863736Z",
    "primaryEndpoints": {
      "blob":"https://examplestorage.blob.core.windows.net/",
      "file":"https://examplestorage.file.core.windows.net/",
      "queue":"https://examplestorage.queue.core.windows.net/",
      "table":"https://examplestorage.table.core.windows.net/"
    },
    "primaryLocation":"southcentralus",
    "provisioningState":"Succeeded",
    "statusOfPrimary":"available",
    "supportsHttpsTrafficOnly":false
  },
  "subscriptionId":"<subscription-id>",
  "resourceGroupName":"functionexamplegroup",
  "resourceId":"Microsoft.Storage/storageAccounts/examplestorage",
  "referenceApiVersion":"2016-12-01",
  "condition":true,
  "isConditionTrue":true,
  "isTemplateResource":false,
  "isAction":false,
  "provisioningOperation":"Read"
}

다음 예제 템플릿에서는 이 템플릿에 배포되지 않는 스토리지 계정을 참조합니다.The following example template references a storage account that isn't deployed in this template. 스토리지 계정은 동일한 구독 내에 있어야 합니다.The storage account already exists within the same subscription.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageResourceGroup": {
            "type": "string"
        },
        "storageAccountName": {
            "type": "string"
        }
    },
    "resources": [],
    "outputs": {
        "ExistingStorage": {
            "value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2018-07-01')]",
            "type": "object"
        }
    }
}

resourceGroupresourceGroup

resourceGroup()

현재 리소스 그룹을 나타내는 개체를 반환합니다.Returns an object that represents the current resource group.

반환 값Return value

반환된 개체는 다음 형식으로 되어 있습니다.The returned object is in the following format:

{
  "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
  "name": "{resourceGroupName}",
  "type":"Microsoft.Resources/resourceGroups",
  "location": "{resourceGroupLocation}",
  "managedBy": "{identifier-of-managing-resource}",
  "tags": {
  },
  "properties": {
    "provisioningState": "{status}"
  }
}

managedBy 속성은 다른 서비스에서 관리하는 리소스를 포함하는 리소스 그룹에 대해서만 반환됩니다.The managedBy property is returned only for resource groups that contain resources that are managed by another service. 관리형 애플리케이션, Databricks 및 AKS의 경우 속성 값은 관리하는 리소스의 리소스 ID입니다.For Managed Applications, Databricks, and AKS, the value of the property is the resource ID of the managing resource.

설명Remarks

resourceGroup() 함수는 구독 수준에서 배포된 템플릿에서 사용할 수 없습니다.The resourceGroup() function can't be used in a template that is deployed at the subscription level. 리소스 그룹에 배포된 템플릿에서만 사용할 수 있습니다.It can only be used in templates that are deployed to a resource group. 부모 템플릿이 구독에 배포되는 경우에도 리소스 그룹을 대상으로 하는 연결된 템플릿 또는 중첩된 템플릿(내부 범위 포함)에서 resourceGroup() 함수를 사용할 수 있습니다.You can use the resourceGroup() function in a linked or nested template (with inner scope) that targets a resource group, even when the parent template is deployed to the subscription. 이 시나리오에서는 연결된 템플릿이나 중첩된 템플릿이 리소스 그룹 수준에서 배포됩니다.In that scenario, the linked or nested template is deployed at the resource group level. 구독 수준 배포에서 리소스 그룹을 대상으로 지정하는 방법에 대한 자세한 내용은 둘 이상의 구독 또는 리소스 그룹에 Azure 리소스 배포를 참조하세요.For more information about targeting a resource group in a subscription level deployment, see Deploy Azure resources to more than one subscription or resource group.

resourceGroup 함수는 일반적으로 리소스 그룹과 동일한 위치에 리소스를 만드는 데 사용됩니다.A common use of the resourceGroup function is to create resources in the same location as the resource group. 다음 예제에서는 기본 매개 변수 값에 대해 리소스 그룹 위치를 사용합니다.The following example uses the resource group location for a default parameter value.

"parameters": {
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
}

또한 resourceGroup 함수를 사용하여 리소스 그룹의 태그를 리소스에 적용할 수 있습니다.You can also use the resourceGroup function to apply tags from the resource group to a resource. 자세한 내용은 리소스 그룹에서 태그 적용을 참조하세요.For more information, see Apply tags from resource group.

중첩된 템플릿을 사용하여 여러 리소스 그룹에 배포하는 경우 resourceGroup 함수를 평가하는 범위를 지정할 수 있습니다.When using nested templates to deploy to multiple resource groups, you can specify the scope for evaluating the resourceGroup function. 자세한 내용은 둘 이상의 구독 또는 리소스 그룹에 Azure 리소스 배포를 참조하세요.For more information, see Deploy Azure resources to more than one subscription or resource group.

리소스 그룹 예제Resource group example

다음 예제 템플릿은 리소스 그룹의 속성을 반환합니다.The following example template returns the properties of the resource group.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "resourceGroupOutput": {
            "value": "[resourceGroup()]",
            "type" : "object"
        }
    }
}

앞의 예제는 다음과 같은 형식의 개체를 반환합니다.The preceding example returns an object in the following format:

{
  "id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
  "name": "examplegroup",
  "type":"Microsoft.Resources/resourceGroups",
  "location": "southcentralus",
  "properties": {
    "provisioningState": "Succeeded"
  }
}

resourceIdresourceId

resourceId([subscriptionId], [resourceGroupName], resourceType, resourceName1, [resourceName2], ...)

리소스의 고유 식별자를 반환합니다.Returns the unique identifier of a resource. 리소스 이름이 모호하거나 동일한 템플릿 내에서 프로비전되지 않은 경우 이 함수를 사용합니다.You use this function when the resource name is ambiguous or not provisioned within the same template. 반환된 식별자의 형식은 리소스 그룹, 구독, 관리 그룹 또는 테넌트 중에서 테넌트가 어떤 범위에서 발생하는지에 따라 달라집니다.The format of the returned identifier varies based on whether the deployment happens at the scope of a resource group, subscription, management group, or tenant.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
subscriptionIdsubscriptionId No 문자열(GUID 형식)string (In GUID format) 기본값은 현재 구독입니다.Default value is the current subscription. 다른 구독에서 리소스를 검색해야 하는 경우 이 값을 지정합니다.Specify this value when you need to retrieve a resource in another subscription. 리소스 그룹 또는 구독의 범위에서 배포하는 경우에만 이 값을 제공합니다.Only provide this value when deploying at the scope of a resource group or subscription.
resourceGroupNameresourceGroupName No 문자열string 기본값은 현재 리소스 그룹입니다.Default value is current resource group. 다른 리소스 그룹에서 리소스를 검색해야 하는 경우 이 값을 지정합니다.Specify this value when you need to retrieve a resource in another resource group. 리소스 그룹의 범위에 배포하는 경우에만 이 값을 제공합니다.Only provide this value when deploying at the scope of a resource group.
resourceTyperesourceType Yes 문자열string 리소스 공급자 네임스페이스를 포함하는 리소스 유형입니다.Type of resource including resource provider namespace.
resourceName1resourceName1 Yes 문자열string 리소스의 이름입니다.Name of resource.
resourceName2resourceName2 No 문자열string 필요한 경우 다음 리소스 이름 세그먼트입니다.Next resource name segment, if needed.

리소스 종류에 더 많은 세그먼트가 포함된 경우 리소스 이름을 매개 변수로 계속 추가합니다.Continue adding resource names as parameters when the resource type includes more segments.

반환 값Return value

템플릿이 리소스 그룹의 범위에서 배포될 때 리소스 ID는 다음 형식으로 반환됩니다.When the template is deployed at the scope of a resource group, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

다른 배포 범위에 대해 resourceId 함수를 사용할 수 있지만 ID 형식이 변경 됩니다.You can use the resourceId function for other deployment scopes, but the format of the ID changes.

구독에 배포 하는 동안 resourceId를 사용 하는 경우 리소스 ID는 다음 형식으로 반환 됩니다.If you use resourceId while deploying to a subscription, the resource ID is returned in the following format:

/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

관리 그룹 또는 테 넌 트에 배포 하는 동안 resourceId를 사용 하는 경우 리소스 ID는 다음 형식으로 반환 됩니다.If you use resourceId while deploying to a management group or tenant, the resource ID is returned in the following format:

/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

혼동을 피하려면 구독, 관리 그룹 또는 테 넌 트에 배포 된 리소스로 작업 하는 경우 resourceId를 사용 하지 않는 것이 좋습니다.To avoid confusion, we recommend that you not use resourceId when working with resources deployed to the subscription, management group, or tenant. 대신 범위에 대해 디자인 된 ID 함수를 사용 합니다.Instead, use the ID function that is designed for the scope.

구독 수준 리소스의 경우 subscriptionresourceid 함수를 사용 합니다.For subscription-level resources, use the subscriptionResourceId function.

관리 그룹 수준 리소스의 경우 extensionresourceid 함수를 사용 하 여 관리 그룹의 확장으로 구현 된 리소스를 참조 합니다.For management group-level resources, use the extensionResourceId function to reference a resource that is implemented as an extension of a management group. 예를 들어 관리 그룹에 배포 되는 사용자 지정 정책 정의는 관리 그룹의 확장입니다.For example, custom policy definitions that are deployed to a management group are extensions of the management group. Tenantresourceid 함수를 사용 하 여 테 넌 트에 배포 되었지만 관리 그룹에서 사용할 수 있는 리소스를 참조 합니다.Use the tenantResourceId function to reference resources that are deployed to the tenant but available in your management group. 예를 들어 기본 제공 정책 정의는 테 넌 트 수준 리소스로 구현 됩니다.For example, built-in policy definitions are implemented as tenant level resources.

테 넌 트 수준 리소스의 경우 tenantresourceid 함수를 사용 합니다.For tenant-level resources, use the tenantResourceId function. 기본 제공 정책 정의에는 tenantResourceId를 사용 합니다 .이는 테 넌 트 수준에서 구현 되기 때문입니다.Use tenantResourceId for built-in policy definitions because they are implemented at the tenant level.

설명Remarks

제공하는 매개 변수 수는 리소스가 부모 리소스인지 또는 자식 리소스인지, 리소스가 동일한 구독에 있는지 또는 리소스 그룹에 있는지에 따라 달라집니다.The number of parameters you provide varies based on whether the resource is a parent or child resource, and whether the resource is in the same subscription or resource group.

동일한 구독 및 리소스 그룹에 있는 부모 리소스의 리소스 ID를 가져오려면 리소스의 종류 및 이름을 제공합니다.To get the resource ID for a parent resource in the same subscription and resource group, provide the type and name of the resource.

"[resourceId('Microsoft.ServiceBus/namespaces', 'namespace1')]"

자식 리소스의 리소스 ID를 가져오려면 리소스 종류의 세그먼트 수에 주의합니다.To get the resource ID for a child resource, pay attention to the number of segments in the resource type. 리소스 종류의 각 세그먼트에 대한 리소스 이름을 제공합니다.Provide a resource name for each segment of the resource type. 세그먼트의 이름은 계층의 해당 부분에 존재하는 리소스에 해당합니다.The name of the segment corresponds to the resource that exists for that part of the hierarchy.

"[resourceId('Microsoft.ServiceBus/namespaces/queues/authorizationRules', 'namespace1', 'queue1', 'auth1')]"

같은 구독, 다른 리소스 그룹에 있는 리소스의 리소스 ID를 가져오려면 리소스 그룹 이름을 제공합니다.To get the resource ID for a resource in the same subscription but different resource group, provide the resource group name.

"[resourceId('otherResourceGroup', 'Microsoft.Storage/storageAccounts', 'examplestorage')]"

다른 구독 및 리소스 그룹에 있는 리소스의 리소스 ID를 가져오려면 구독 ID와 리소스 그룹 이름을 제공합니다.To get the resource ID for a resource in a different subscription and resource group, provide the subscription ID and resource group name.

"[resourceId('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]"

대체 리소스 그룹의 스토리지 계정 또는 가상 네트워크를 사용할 경우 이 함수를 사용해야 합니다.Often, you need to use this function when using a storage account or virtual network in an alternate resource group. 다음 예에서는 외부 리소스 그룹의 리소스를 쉽게 사용할 수 있는 방법을 보여 줍니다.The following example shows how a resource from an external resource group can easily be used:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "virtualNetworkName": {
          "type": "string"
      },
      "virtualNetworkResourceGroup": {
          "type": "string"
      },
      "subnet1Name": {
          "type": "string"
      },
      "nicName": {
          "type": "string"
      }
  },
  "variables": {
      "subnet1Ref": "[resourceId(parameters('virtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('subnet1Name'))]"
  },
  "resources": [
  {
      "apiVersion": "2015-05-01-preview",
      "type": "Microsoft.Network/networkInterfaces",
      "name": "[parameters('nicName')]",
      "location": "[parameters('location')]",
      "properties": {
          "ipConfigurations": [{
              "name": "ipconfig1",
              "properties": {
                  "privateIPAllocationMethod": "Dynamic",
                  "subnet": {
                      "id": "[variables('subnet1Ref')]"
                  }
              }
          }]
       }
  }]
}

리소스 ID 예제Resource ID example

다음 예제 템플릿에서는 리소스 그룹의 스토리지 계정에 대한 리소스 ID를 반환합니다.The following example template returns the resource ID for a storage account in the resource group:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "sameRGOutput": {
            "value": "[resourceId('Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "differentRGOutput": {
            "value": "[resourceId('otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "differentSubOutput": {
            "value": "[resourceId('11111111-1111-1111-1111-111111111111', 'otherResourceGroup', 'Microsoft.Storage/storageAccounts','examplestorage')]",
            "type" : "string"
        },
        "nestedResourceOutput": {
            "value": "[resourceId('Microsoft.SQL/servers/databases', 'serverName', 'databaseName')]",
            "type" : "string"
        }
    }
}

기본 값을 사용한 이전 예제의 출력은 다음과 같습니다.The output from the preceding example with the default values is:

속성Name TypeType Value
sameRGOutputsameRGOutput StringString /subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentRGOutputdifferentRGOutput StringString /subscriptions/{current-sub-id}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/{current-sub-id}/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage
differentSubOutputdifferentSubOutput StringString /subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/otherResourceGroup/providers/Microsoft.Storage/storageAccounts/examplestorage
nestedResourceOutputnestedResourceOutput StringString /subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName/subscriptions/{current-sub-id}/resourceGroups/examplegroup/providers/Microsoft.SQL/servers/serverName/databases/databaseName

subscriptionsubscription

subscription()

현재 배포에 대한 구독 관련 세부 정보를 반환합니다.Returns details about the subscription for the current deployment.

반환 값Return value

이 함수는 다음 형식을 반환합니다.The function returns the following format:

{
    "id": "/subscriptions/{subscription-id}",
    "subscriptionId": "{subscription-id}",
    "tenantId": "{tenant-id}",
    "displayName": "{name-of-subscription}"
}

설명Remarks

중첩된 템플릿을 사용하여 여러 구독에 배포하는 경우 subscription 함수를 평가하는 범위를 지정할 수 있습니다.When using nested templates to deploy to multiple subscriptions, you can specify the scope for evaluating the subscription function. 자세한 내용은 둘 이상의 구독 또는 리소스 그룹에 Azure 리소스 배포를 참조하세요.For more information, see Deploy Azure resources to more than one subscription or resource group.

구독 예제Subscription example

다음 예제 템플릿에서는 출력 섹션에서 호출되는 구독 함수를 보여줍니다.The following example template shows the subscription function called in the outputs section.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "subscriptionOutput": {
            "value": "[subscription()]",
            "type" : "object"
        }
    }
}

subscriptionResourceIdsubscriptionResourceId

subscriptionResourceId([subscriptionId], resourceType, resourceName1, [resourceName2], ...)

구독 수준에서 배포된 리소스의 고유 식별자를 반환합니다.Returns the unique identifier for a resource deployed at the subscription level.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
subscriptionIdsubscriptionId No 문자열(GUID 형식)string (in GUID format) 기본값은 현재 구독입니다.Default value is the current subscription. 다른 구독에서 리소스를 검색해야 하는 경우 이 값을 지정합니다.Specify this value when you need to retrieve a resource in another subscription.
resourceTyperesourceType Yes 문자열string 리소스 공급자 네임스페이스를 포함하는 리소스 유형입니다.Type of resource including resource provider namespace.
resourceName1resourceName1 Yes 문자열string 리소스의 이름입니다.Name of resource.
resourceName2resourceName2 No 문자열string 필요한 경우 다음 리소스 이름 세그먼트입니다.Next resource name segment, if needed.

리소스 종류에 더 많은 세그먼트가 포함된 경우 리소스 이름을 매개 변수로 계속 추가합니다.Continue adding resource names as parameters when the resource type includes more segments.

반환 값Return value

식별자는 다음 형식으로 반환됩니다.The identifier is returned in the following format:

/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

설명Remarks

이 함수를 사용하여 리소스 그룹이 아닌 구독에 배포된 리소스의 리소스 ID를 가져올 수 있습니다.You use this function to get the resource ID for resources that are deployed to the subscription rather than a resource group. 반환되는 ID는 리소스 그룹 값을 포함하지 않으므로 resourceId 함수에서 반환하는 값과 다릅니다.The returned ID differs from the value returned by the resourceId function by not including a resource group value.

subscriptionResourceID 예제subscriptionResourceID example

다음 템플릿은 기본 제공 역할을 할당합니다.The following template assigns a built-in role. 리소스 그룹 또는 구독에 배포할 수 있습니다.You can deploy it to either a resource group or subscription. subscriptionResourceId 함수를 사용하여 기본 제공 역할의 리소스 ID를 가져옵니다.It uses the subscriptionResourceId function to get the resource ID for built-in roles.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "principalId": {
            "type": "string",
            "metadata": {
                "description": "The principal to assign the role to"
            }
        },
        "builtInRoleType": {
            "type": "string",
            "allowedValues": [
                "Owner",
                "Contributor",
                "Reader"
            ],
            "metadata": {
                "description": "Built-in role to assign"
            }
        },
        "roleNameGuid": {
            "type": "string",
            "defaultValue": "[newGuid()]",
            "metadata": {
                "description": "A new GUID used to identify the role assignment"
            }
        }
    },
    "variables": {
        "Owner": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
        "Contributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]",
        "Reader": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')]"
    },
    "resources": [
        {
            "type": "Microsoft.Authorization/roleAssignments",
            "apiVersion": "2018-09-01-preview",
            "name": "[parameters('roleNameGuid')]",
            "properties": {
                "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
                "principalId": "[parameters('principalId')]"
            }
        }
    ]
}

tenantResourceIdtenantResourceId

tenantResourceId(resourceType, resourceName1, [resourceName2], ...)

테넌트 수준에서 배포된 리소스의 고유 식별자를 반환합니다.Returns the unique identifier for a resource deployed at the tenant level.

매개 변수Parameters

매개 변수Parameter 필수Required TypeType DescriptionDescription
resourceTyperesourceType Yes 문자열string 리소스 공급자 네임스페이스를 포함하는 리소스 유형입니다.Type of resource including resource provider namespace.
resourceName1resourceName1 Yes 문자열string 리소스의 이름입니다.Name of resource.
resourceName2resourceName2 No 문자열string 필요한 경우 다음 리소스 이름 세그먼트입니다.Next resource name segment, if needed.

리소스 종류에 더 많은 세그먼트가 포함된 경우 리소스 이름을 매개 변수로 계속 추가합니다.Continue adding resource names as parameters when the resource type includes more segments.

반환 값Return value

식별자는 다음 형식으로 반환됩니다.The identifier is returned in the following format:

/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

설명Remarks

이 함수를 사용하여 테넌트에 배포된 리소스의 리소스 ID를 가져옵니다.You use this function to get the resource ID for a resource that is deployed to the tenant. 반환되는 ID는 리소스 그룹 또는 구독 값을 포함하지 않으므로 다른 리소스 ID 함수에서 반환하는 값과 다릅니다.The returned ID differs from the values returned by other resource ID functions by not including resource group or subscription values.

tenantResourceId 예tenantResourceId example

기본 제공 정책 정의는 테 넌 트 수준 리소스입니다.Built-in policy definitions are tenant level resources. 기본 제공 정책 정의를 참조 하는 정책 할당을 배포 하려면 tenantResourceId 함수를 사용 합니다.To deploy a policy assignment that references a built-in policy definition, use the tenantResourceId function.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "policyAssignmentName": {
      "type": "string",
      "defaultValue": "[guid(parameters('policyDefinitionID'), resourceGroup().name)]",
      "metadata": {
        "description": "Specifies the name of the policy assignment, can be used defined or an idempotent name as the defaultValue provides."
      }
    },
    "policyDefinitionID": {
      "type": "string",
      "defaultValue": "0a914e76-4921-4c19-b460-a2d36003525a",
      "metadata": {
        "description": "Specifies the ID of the policy definition or policy set definition being assigned."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/policyAssignments",
      "name": "[parameters('policyAssignmentName')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "scope": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', resourceGroup().name)]",
        "policyDefinitionId": "[tenantResourceId('Microsoft.Authorization/policyDefinitions', parameters('policyDefinitionID'))]"
      }
    }
  ]
}

다음 단계Next steps