Proposed Pull Request Change

title description author ms.topic ms.tgt_pltfrm ms.date ms.author ms.custom ms.devlang
Create a Service Bus authorization rule using an Azure template Create a Service Bus authorization rule for namespace and queue using Azure Resource Manager template spelluru article dotnet 09/27/2021 spelluru devx-track-azurecli, devx-track-arm-template azurecli
📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Create a Service Bus authorization rule using an Azure template description: Create a Service Bus authorization rule for namespace and queue using Azure Resource Manager template author: spelluru ms.topic: article ms.tgt_pltfrm: dotnet ms.date: 09/27/2021 ms.author: spelluru ms.custom: devx-track-azurecli, devx-track-arm-template ms.devlang: azurecli --- # Create a Service Bus authorization rule for namespace and queue using an Azure Resource Manager template This article shows how to use an Azure Resource Manager template that creates an [authorization rule](service-bus-authentication-and-authorization.md#shared-access-signature) for a Service Bus namespace and queue. The article explains how to specify which resources are deployed and how to define parameters that are specified when the deployment is executed. You can use this template for your own deployments, or customize it to meet your requirements. For more information about creating templates, please see [Authoring Azure Resource Manager templates][Authoring Azure Resource Manager templates]. For the complete template, see the [Service Bus authorization rule template][Service Bus auth rule template] on GitHub. > [!NOTE] > The following Azure Resource Manager templates are available for download and deployment. > > * [Create a Service Bus namespace](service-bus-resource-manager-namespace.md) > * [Create a Service Bus namespace with queue](service-bus-resource-manager-namespace-queue.md) > * [Create a Service Bus namespace with topic and subscription](service-bus-resource-manager-namespace-topic.md) > * [Create a Service Bus namespace with topic, subscription, and rule](service-bus-resource-manager-namespace-topic-with-rule.md) > > To check for the latest templates, visit the [Azure Quickstart Templates][Azure Quickstart Templates] gallery and search for **Service Bus**. [!INCLUDE [updated-for-az](~/reusable-content/ce-skilling/azure/includes/updated-for-az.md)] ## What will you deploy? With this template, you deploy a Service Bus authorization rule for a namespace and messaging entity (in this case, a queue). This template uses [Shared Access Signature (SAS)](service-bus-sas.md) for authentication. 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. You can then use this key to generate a SAS token that clients can in turn use to authenticate to Service Bus. To run the deployment automatically, click the following button: [![Deploy to Azure](./media/service-bus-resource-manager-namespace-auth-rule/deploybutton.png)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.servicebus%2Fservicebus-create-authrule-namespace-and-queue%2Fazuredeploy.json) ## Parameters With Azure Resource Manager, you define parameters for values you want to specify when the template is deployed. The template includes a section called `Parameters` that contains all of the parameter values. 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. Do not define parameters for values that will always stay the same. Each parameter value is used in the template to define the resources that are deployed. The template defines the following parameters. ### serviceBusNamespaceName The name of the Service Bus namespace to create. ```json "serviceBusNamespaceName": { "type": "string" } ``` ### namespaceAuthorizationRuleName The name of the authorization rule for the namespace. ```json "namespaceAuthorizationRuleName ": { "type": "string" } ``` ### serviceBusQueueName The name of the queue in the Service Bus namespace. ```json "serviceBusQueueName": { "type": "string" } ``` ### serviceBusApiVersion The Service Bus API version of the template. ```json "serviceBusApiVersion": { "type": "string", "defaultValue": "2017-04-01", "metadata": { "description": "Service Bus ApiVersion used by the template" } ``` ## Resources to deploy Creates a standard Service Bus namespace of type **Messaging**, and a Service Bus authorization rule for namespace and entity. ```json "resources": [ { "apiVersion": "[variables('sbVersion')]", "name": "[parameters('serviceBusNamespaceName')]", "type": "Microsoft.ServiceBus/namespaces", "location": "[variables('location')]", "kind": "Messaging", "sku": { "name": "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"] } } ] ``` For JSON syntax and properties, see [namespaces](/azure/templates/microsoft.servicebus/namespaces), [queues](/azure/templates/microsoft.servicebus/namespaces/queues), and [AuthorizationRules](/azure/templates/microsoft.servicebus/namespaces/authorizationrules). ## Commands to run deployment [!INCLUDE [app-service-deploy-commands](../../includes/app-service-deploy-commands.md)] ### PowerShell ```powershell-interactive New-AzResourceGroupDeployment -ResourceGroupName \<resource-group-name\> -TemplateFile <https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/azuredeploy.json> ``` ## Azure CLI ```azurecli-interactive 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/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/azuredeploy.json> ``` ## Next steps Now that you've created and deployed resources using Azure Resource Manager, learn how to manage these resources by viewing these articles: * [Manage Service Bus with PowerShell](./service-bus-manage-with-ps.md) * [Manage Service Bus resources with the Service Bus Explorer](https://github.com/paolosalvatori/ServiceBusExplorer/releases) * [Service Bus authentication and authorization](service-bus-authentication-and-authorization.md) [Authoring Azure Resource Manager templates]: ../azure-resource-manager/templates/syntax.md [Azure Quickstart Templates]: https://azure.microsoft.com/resources/templates/?term=service+bus [Using Azure PowerShell with Azure Resource Manager]: ../azure-resource-manager/management/manage-resources-powershell.md [Using the Azure CLI for Mac, Linux, and Windows with Azure Resource Management]: ../azure-resource-manager/management/manage-resources-cli.md [Service Bus auth rule template]: https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/
Success! Branch created successfully. Create Pull Request on GitHub
Error: