Criar uma regra de autorização do Barramento de Serviço para namespace e fila usando um modelo do Azure Resource Manager
Este artigo mostra como usar um modelo do Azure Resource Manager que cria uma regra de autorização para um namespace e uma fila do Barramento de Serviço. O artigo explica como definir quais recursos são implantados e como definir os parâmetros que são especificados quando a implantação é executada. Você pode usar este modelo para suas próprias implantações ou personalizá-lo para atender às suas necessidades.
Para saber mais sobre a criação de modelos, confira Criando modelos do Azure Resource Manager.
Para ver o modelo completo, consulte o Modelo de regra de autorização do Barramento de Serviço no GitHub.
Observação
Os modelos do Azure Resource Manager a seguir estão disponíveis para download e implantação.
- Criar um namespace do Barramento de Serviço
- Criar um namespace do Barramento de Serviço com fila
- Criar um namespace do Barramento de Serviço com tópico e assinatura
- Criar um namespace do Barramento de Serviço com tópico, assinatura e regra
Para verificar os modelos mais recentes, visite a galeria Modelos de Início Rápido do Azure e pesquise por Barramento de Serviço.
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
O que você implantará?
Com esse modelo, você implantará uma regra de autorização do Barramento de Serviço para um namespace e uma entidade de sistema de mensagens (nesse caso, uma fila).
O modelo usa SAS (Assinatura de Acesso Compartilhado) para autenticação. A SAS permite que os aplicativos se autentiquem no Barramento de Serviço usando uma chave de acesso configurada no namespace ou na entidade do sistema de mensagens (fila ou tópico) à qual estão associados direitos específicos. Você poderá então usar essa chave para gerar um token SAS que os clientes poderão usar para se autenticarem no Barramento de Serviço.
Para executar a implantação automaticamente, clique no seguinte botão:
Parâmetros
Com o Gerenciador de Recursos do Azure, você define parâmetros para os valores que deseja especificar quando o modelo é implantado. O modelo inclui uma seção chamada Parameters
, que contém todos os valores de parâmetro. Você deve definir um parâmetro para os valores que variam de acordo com o projeto que você está implantando ou com o ambiente em que a implantação ocorre. Não defina parâmetros para valores que permanecem sempre os mesmos. Cada valor de parâmetro é usado no modelo para definir os recursos que são implantados.
O modelo define os parâmetros a seguir.
serviceBusNamespaceName
O nome do namespace do Barramento de Serviço a ser criado.
"serviceBusNamespaceName": {
"type": "string"
}
namespaceAuthorizationRuleName
O nome da regra de autorização para o namespace.
"namespaceAuthorizationRuleName ": {
"type": "string"
}
serviceBusQueueName
O nome da fila no namespace do Barramento de Serviço.
"serviceBusQueueName": {
"type": "string"
}
serviceBusApiVersion
A versão da API do Barramento de Serviço do modelo.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Recursos a implantar
Cria um namespace do Barramento de Serviço padrão do tipo Mensagense uma regra de autorização do Barramento de Serviço para o namespace e a entidade.
"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"]
}
}
]
Para saber mais sobre a sintaxe e as propriedades de JSON, consulte namespaces, queues e AuthorizationRules.
Comandos para executar a implantação
Para implantar os recursos no Azure, você deve estar conectado à sua conta do Azure e usar o módulo do Gerenciador de Recursos do Azure. Para obter informações sobre como usar o Gerenciador de Recursos do Azure com o Azure PowerShell ou CLI do Azure, consulte:
- Gerenciar recursos do Azure usando o Azure PowerShell
- Gerenciar recursos do Azure usando a CLI do Azure.
Os exemplos a seguir pressupõem que você já tem um grupo de recursos em sua conta com o nome especificado.
PowerShell
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>
CLI do Azure
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>
Próximas etapas
Agora que você criou e implantou recursos usando o Azure Resource Manager, saiba como gerenciar esses recursos consultando estes artigos: