Creare una regola di autorizzazione del bus di servizio per spazio dei nomi e coda usando un modello di Azure Resource Manager.Create a Service Bus authorization rule for namespace and queue using an Azure Resource Manager template

Questo articolo illustra come usare un modello di Azure Resource Manager per creare una regola di autorizzazione per uno spazio dei nomi e una coda del bus di servizio.This article shows how to use an Azure Resource Manager template that creates an authorization rule for a Service Bus namespace and queue. L'articolo spiega come specificare le risorse da distribuire e come definire i parametri che devono essere specificati quando viene eseguita la distribuzione.The article explains how to specify which resources are deployed and how to define parameters that are specified when the deployment is executed. È possibile usare questo modello per le proprie distribuzioni o personalizzarlo in base alle esigenze.You can use this template for your own deployments, or customize it to meet your requirements.

Per altre informazioni sulla creazione di modelli, vedere Creazione di modelli di Azure Resource Manager.For more information about creating templates, please see Authoring Azure Resource Manager templates.

Per il modello completo, vedere il modello della regola di autorizzazione del bus di servizio su GitHub.For the complete template, see the Service Bus authorization rule template on GitHub.

Nota

Questi modelli di Azure Resource Manager sono disponibili per il download e la distribuzione.The following Azure Resource Manager templates are available for download and deployment.

Per verificare la disponibilità di nuovi modelli, visitare la raccolta Modelli di avvio rapido di Azure e cercare bus di servizio.To check for the latest templates, visit the Azure Quickstart Templates gallery and search for Service Bus.

DistribuzioneWhat will you deploy?

Questo modello consente di distribuire una regola di autorizzazione del bus di servizio per uno spazio dei nomi e un'identità di messaggistica (in questo caso, una coda).With this template, you deploy a Service Bus authorization rule for a namespace and messaging entity (in this case, a queue).

Questo modello usa la firma di accesso condiviso (SAS, Shared Access Signature) per l'autenticazione.This template uses Shared Access Signature (SAS) for authentication. La firma di accesso condiviso consente alle applicazione di eseguire l'autenticazione al bus di servizio usando una chiave di accesso configurata nello spazio dei nomi o nell'entità di messaggistica, ad esempio coda o argomento, a cui sono associati diritti specifici.SAS enables applications to authenticate to Service Bus using an access key configured on the namespace, or on the messaging entity (queue or topic) with which specific rights are associated. È quindi possibile usare questa chiave per generare un token di firma di accesso condiviso di cui possono avvalersi i client per eseguire l'autenticazione al bus di servizio.You can then use this key to generate a SAS token that clients can in turn use to authenticate to Service Bus.

Per eseguire automaticamente la distribuzione, fare clic sul pulsante seguente:To run the deployment automatically, click the following button:

Distribuzione in AzureDeploy to Azure

ParametriParameters

Gestione risorse di Azure permette di definire i parametri per i valori da specificare durante la distribuzione del modello.With Azure Resource Manager, you define parameters for values you want to specify when the template is deployed. Il modello include una sezione denominata Parameters che contiene tutti i valori dei parametri.The template includes a section called Parameters that contains all of the parameter values. È necessario definire un parametro per i valori che variano in base al progetto distribuito o all'ambiente in cui viene distribuito il progetto.You should define a parameter for those values that will vary based on the project you are deploying or based on the environment you are deploying to. Non definire i parametri per i valori che rimangono invariati.Do not define parameters for values that will always stay the same. Ogni valore di parametro nel modello viene usato per definire le risorse distribuite.Each parameter value is used in the template to define the resources that are deployed.

Il modello definisce i parametri seguenti.The template defines the following parameters.

serviceBusNamespaceNameserviceBusNamespaceName

Nome dello spazio dei nomi del bus di servizio da creare.The name of the Service Bus namespace to create.

"serviceBusNamespaceName": {
"type": "string"
}

namespaceAuthorizationRuleNamenamespaceAuthorizationRuleName

Nome della regola di autorizzazione per lo spazio dei nomi.The name of the authorization rule for the namespace.

"namespaceAuthorizationRuleName ": {
"type": "string"
}

serviceBusQueueNameserviceBusQueueName

Nome della coda nello spazio dei nomi del bus di servizio.The name of the queue in the Service Bus namespace.

"serviceBusQueueName": {
"type": "string"
}

serviceBusApiVersionserviceBusApiVersion

Versione API del bus di servizio del modello.The Service Bus API version of the template.

"serviceBusApiVersion": { 
       "type": "string", 
       "defaultValue": "2017-04-01", 
       "metadata": { 
           "description": "Service Bus ApiVersion used by the template" 
       }

Risorse da distribuireResources to deploy

Crea uno spazio dei nomi del bus di servizio standard di tipo Messaggisticae una regola di autorizzazione del bus di servizio per spazio dei nomi ed entità.Creates a standard Service Bus namespace of type Messaging, and a Service Bus authorization rule for namespace and entity.

"resources": [
        {
            "apiVersion": "[variables('sbVersion')]",
            "name": "[parameters('serviceBusNamespaceName')]",
            "type": "Microsoft.ServiceBus/namespaces",
            "location": "[variables('location')]",
            "kind": "Messaging",
            "sku": {
                "name": "StandardSku",
                "tier": "Standard"
            },
            "resources": [
                {
                    "apiVersion": "[variables('sbVersion')]",
                    "name": "[parameters('serviceBusQueueName')]",
                    "type": "Queues",
                    "dependsOn": [
                        "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
                    ],
                    "properties": {
                        "path": "[parameters('serviceBusQueueName')]"
                    },
                    "resources": [
                        {
                            "apiVersion": "[variables('sbVersion')]",
                            "name": "[parameters('queueAuthorizationRuleName')]",
                            "type": "authorizationRules",
                            "dependsOn": [
                                "[parameters('serviceBusQueueName')]"
                            ],
                            "properties": {
                                "Rights": ["Listen"]
                            }
                        }
                    ]
                }
            ]
        }, {
            "apiVersion": "[variables('sbVersion')]",
            "name": "[variables('namespaceAuthRuleName')]",
            "type": "Microsoft.ServiceBus/namespaces/authorizationRules",
            "dependsOn": ["[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"],
            "location": "[resourceGroup().location]",
            "properties": {
                "Rights": ["Send"]
            }
        }
    ]

Comandi per eseguire la distribuzioneCommands to run deployment

Per distribuire le risorse in Azure, è necessario aver eseguito l'accesso all'account Azure e usare il modulo Gestione risorse di Azure.To deploy the resources to Azure, you must be logged in to your Azure account and you must use the Azure Resource Manager module. Per altre informazioni su come usare Gestione risorse di Azure con Azure PowerShell o l'interfaccia della riga di comando di Azure, vedere:To learn about using Azure Resource Manager with either Azure PowerShell or Azure CLI, see:

Gli esempi seguenti presuppongono che nell'account sia già stato creato un gruppo di risorse con il nome specificato.The following examples assume you already have a resource group in your account with the specified name.

PowerShellPowerShell

New-AzureRmResourceGroupDeployment -ResourceGroupName \<resource-group-name\> -TemplateFile <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/301-servicebus-create-authrule-namespace-and-queue/azuredeploy.json>

Interfaccia della riga di comando di AzureAzure CLI

azure config mode arm

azure group deployment create \<my-resource-group\> \<my-deployment-name\> --template-uri <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/301-servicebus-create-authrule-namespace-and-queue/azuredeploy.json>

Passaggi successiviNext steps

Dopo aver creato e distribuito le risorse con Azure Resource Manager, è possibile imparare a gestire queste risorse. Leggere gli articoli seguenti:Now that you've created and deployed resources using Azure Resource Manager, learn how to manage these resources by viewing these articles: