Compartir vía


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.

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 empezar, 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:

Implementación en Azure

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:

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: