Creación de una regla de autorización de Service Bus para un espacio de nombres y una cola mediante una plantilla de Azure Resource Manager
En este artículo se muestra cómo utilizar una plantilla de Azure Resource Manager que crea una regla de autorización para una cola y un espacio de nombres de Service Bus. En el artículo se explica cómo especificar los recursos que se implementan y cómo definir los parámetros que se especifican cuando se ejecuta la implementación. Puede usar esta plantilla para sus propias implementaciones o personalizarla para satisfacer sus necesidades.
Para más información sobre la creación de plantillas, consulte Creación de plantillas de Azure Resource Manager.
Para ver la plantilla completa, consulte la plantilla de regla de autorización de Service Bus en GitHub.
Nota
Las siguientes plantillas de Azure Resource Manager están disponibles para su descarga e implementación.
- Creación de un espacio de nombres de Service Bus
- Creación de un espacio de nombres de Service Bus con cola
- Creación de un espacio de nombres de Service Bus con un tema y una suscripción
- Create a Service Bus namespace with topic, subscription, and rule (Creación de un espacio de nombres de Service Bus con tema, suscripción y regla)
Para buscar las plantillas más recientes, visite la galería de Plantillas de inicio rápido de Azure y busque Service Bus.
Nota
Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
¿Qué va a implementar?
Con esta plantilla, implementa una regla de autorización de Service Bus para una entidad de mensajería y un espacio de nombres (una cola, en este caso).
Esta plantilla usa la firma de acceso compartido (SAS) para la autenticación. SAS permite a las aplicaciones autenticarse en Service Bus mediante una clave de acceso configurada en el espacio de nombres o en la entidad de mensajería (cola o tema) al que se asocian derechos específicos. A continuación, puede usar esta clave para generar un token SAS que a su vez, los clientes pueden usar para autenticarse en Service Bus.
Para ejecutar automáticamente la implementación, haga clic en el botón siguiente:
Parámetros
Con el Administrador de recursos de Azure, se definen los parámetros de los valores que desea especificar al implementar la plantilla. La plantilla incluye una sección denominada Parameters
que contiene todos los valores de los parámetros. Debe definir un parámetro para los valores que variarán según el proyecto que vaya a implementar o según el entorno en el que vaya a realizar la implementación. No defina parámetros para valores que vayan a permanecer igual. Cada valor de parámetro se usa en la plantilla para definir los recursos que se implementan.
La plantilla define los parámetros siguientes.
serviceBusNamespaceName
El nombre del espacio de nombres de Service Bus que crear.
"serviceBusNamespaceName": {
"type": "string"
}
namespaceAuthorizationRuleName
El nombre de la regla de autorización para el espacio de nombres.
"namespaceAuthorizationRuleName ": {
"type": "string"
}
serviceBusQueueName
El nombre de la cola en el espacio de nombres de Service Bus.
"serviceBusQueueName": {
"type": "string"
}
serviceBusApiVersion
La versión de la API de Service Bus de la plantilla.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Recursos para implementar
Crea un espacio de nombres de Service Bus estándar de tipo Mensajeríay una regla de autorización de Service Bus para el espacio de nombres y la entidad.
"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 conocer la sintaxis y las propiedades JSON, consulte espacios de nombres, colas y AuthorizationRules.
Comandos para ejecutar la implementación
Para implementar los recursos en Azure, debe haber iniciado sesión en la cuenta de Azure y debe usar el módulo de Azure Resource Manager. Para obtener información sobre cómo usar el Administrador de recursos de Azure con PowerShell de Azure o la CLI de Azure, consulte:
- Administración de recursos de Azure con Azure PowerShell
- Administración de recursos de Azure mediante la CLI de Azure.
En los ejemplos siguientes se supone que ya dispone de un grupo de recursos en la cuenta con el nombre 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>
Azure 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/quickstarts/microsoft.servicebus/servicebus-create-authrule-namespace-and-queue/azuredeploy.json>
Pasos siguientes
Ahora que ha creado e implementado recursos con Azure Resource Manager, estos artículos le enseñarán como administrarlos: