Criar uma regra de autorização do Service Bus 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 fila do Service Bus. O artigo explica como especificar quais recursos são implantados e como definir parâmetros que são especificados quando a implantação é executada. Pode utilizar este modelo para as suas próprias implementações ou personalizá-lo para satisfazer as suas necessidades.
Para obter mais informações sobre como criar modelos, consulte Criação de modelos do Azure Resource Manager.
Para obter o modelo completo, consulte o modelo de regra de autorização do Service Bus no GitHub.
Nota
Os seguintes modelos do Azure Resource Manager estão disponíveis para download e implantação.
- Criar um namespace do Service Bus
- Criar um espaço de nomes do Service Bus com fila
- Criar um espaço de nomes do Service Bus com tópico e subscrição
- Criar um espaço de nomes do Service Bus com tópico, subscrição e regra
Para verificar os modelos mais recentes, visite a galeria de Modelos de Início Rápido do Azure e procure Service Bus.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
O que irá implementar?
Com esse modelo, você implanta uma regra de autorização do Service Bus para um namespace e uma entidade de mensagens (neste caso, uma fila).
Este modelo usa a Assinatura de Acesso Compartilhado (SAS) para autenticação. O SAS permite que os aplicativos se autentiquem no Service Bus usando uma chave de acesso configurada no namespace ou na entidade de mensagens (fila ou tópico) à qual direitos específicos estão associados. Em seguida, você pode usar essa chave para gerar um token SAS que os clientes podem, por sua vez, usar para autenticar no Service Bus.
Para executar automaticamente a implementação, clique no seguinte botão:
Parâmetros
Com o Azure Resource Manager, define parâmetros para os valores que pretende especificar quando o modelo é implementado. O modelo inclui uma seção chamada Parameters
que contém todos os valores de parâmetro. Você deve definir um parâmetro para esses valores que variarão com base no projeto que você está implantando ou com base no ambiente em que você está implantando. Não defina parâmetros para valores que permanecerão sempre os mesmos. Cada valor de parâmetro é utilizado no modelo para definir os recursos que são implementados.
O modelo define os seguintes parâmetros.
serviceBusNamespaceName
O nome do namespace do Service Bus 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 Service Bus.
"serviceBusQueueName": {
"type": "string"
}
serviceBusApiVersion
A versão da API do Service Bus do modelo.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Recursos a implementar
Cria um namespace padrão do Service Bus do tipo Messaging e uma regra de autorização do Service Bus para namespace e 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 sintaxe JSON e propriedades, consulte namespaces, filas e AuthorizationRules.
Comandos para executar a implementação
Para implementar os recursos no Azure, deve ter a sessão iniciada na sua conta do Azure e deve utilizar o módulo do Azure Resource Manager. Para saber mais sobre como utilizar o Azure Resource Manager com o Azure PowerShell ou com a CLI do Azure, veja:
- Gerenciar recursos do Azure usando o Azure PowerShell
- Gerencie recursos do Azure usando a CLI do Azure.
Os exemplos seguintes partem do princípio em como já tem um grupo de recursos na 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óximos passos
Agora que você criou e implantou recursos usando o Gerenciador de Recursos do Azure, saiba como gerenciar esses recursos exibindo estes artigos: