Creare una regola di autorizzazione del bus di servizio per lo spazio dei nomi e la coda usando un modello di Azure Resource Manager
Questo articolo illustra come usare un modello di Azure Resource Manager per creare una regola di autorizzazione per uno spazio dei nomi e una coda del bus di servizio. L'articolo spiega come specificare le risorse da distribuire e come definire i parametri che devono essere specificati quando viene eseguita la distribuzione. È possibile usare questo modello per le proprie distribuzioni o personalizzarlo in base alle esigenze.
Per altre informazioni sulla creazione di modelli, vedere Creazione di modelli di Azure Resource Manager.
Per il modello completo, vedere il modello della regola di autorizzazione del bus di servizio su GitHub.
Nota
Questi modelli di Azure Resource Manager sono disponibili per il download e la distribuzione.
- Creare uno spazio dei nomi del bus di servizio
- Creare uno spazio dei nomi del bus di servizio con coda
- Creare uno spazio dei nomi del bus di servizio con argomento e sottoscrizione
- Creare uno spazio dei nomi del bus di servizio con argomento, sottoscrizione e regola
Per verificare la disponibilità di nuovi modelli, visitare la raccolta Modelli di avvio rapido di Azure e cercare service bus.
Nota
È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Distribuzione
Questo modello consente di distribuire una regola di autorizzazione del bus di servizio per uno spazio dei nomi e un'identità di messaggistica (in questo caso, una coda).
Questo modello usa la firma di accesso condiviso (SAS, Shared Access Signature) per l'autenticazione. La firma di accesso condiviso consente alle applicazione di eseguire l'autenticazione al bus di servizio usando una chiave di accesso configurata nello spazio dei nomi o nell'entità di messaggistica, ad esempio coda o argomento, a cui sono associati diritti specifici. È quindi possibile usare questa chiave per generare un token di firma di accesso condiviso di cui possono avvalersi i client per eseguire l'autenticazione al bus di servizio.
Per eseguire automaticamente la distribuzione, fare clic sul pulsante seguente:
Parametri
Gestione risorse di Azure permette di definire i parametri per i valori da specificare durante la distribuzione del modello. Il modello include una sezione denominata Parameters
che contiene tutti i valori dei parametri. È necessario definire un parametro per i valori che variano in base al progetto distribuito o all'ambiente in cui viene distribuito il progetto. Non definire i parametri per i valori che rimangono invariati. Ogni valore di parametro nel modello viene usato per definire le risorse distribuite.
Il modello definisce i parametri seguenti.
serviceBusNamespaceName
Nome dello spazio dei nomi del bus di servizio da creare.
"serviceBusNamespaceName": {
"type": "string"
}
namespaceAuthorizationRuleName
Nome della regola di autorizzazione per lo spazio dei nomi.
"namespaceAuthorizationRuleName ": {
"type": "string"
}
serviceBusQueueName
Nome della coda nello spazio dei nomi del bus di servizio.
"serviceBusQueueName": {
"type": "string"
}
serviceBusApiVersion
Versione API del bus di servizio del modello.
"serviceBusApiVersion": {
"type": "string",
"defaultValue": "2017-04-01",
"metadata": {
"description": "Service Bus ApiVersion used by the template"
}
Risorse da distribuire
Crea uno spazio dei nomi del bus di servizio standard di tipo Messaggisticae una regola di autorizzazione del bus di servizio per spazio dei nomi ed entità.
"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"]
}
}
]
Per la sintassi e le proprietà JSON, vedere Spazi dei nomi, Code e Regole di autorizzazione.
Comandi per eseguire la distribuzione
Per distribuire le risorse in Azure, è necessario aver eseguito l'accesso all'account Azure e usare il modulo Azure Resource Manager. Per altre informazioni su come usare Gestione risorse di Azure con Azure PowerShell o l'interfaccia della riga di comando di Azure, vedere:
- Gestire le risorse di Azure tramite Azure PowerShell
- Gestire le risorse di Azure tramite l'interfaccia della riga di comando di Azure.
Gli esempi seguenti presuppongono che nell'account sia già stato creato un gruppo di risorse con il nome specificato.
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>
Interfaccia della riga di comando di 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>
Passaggi successivi
Dopo aver creato e distribuito le risorse con Azure Resource Manager, è possibile imparare a gestire queste risorse. Leggere gli articoli seguenti: