Azure Resource Manager şablonu kullanarak ad alanı ve kuyruk için Service Bus yetkilendirme kuralı oluşturma

Bu makalede, Service Bus ad alanı ve kuyruğu için yetkilendirme kuralı oluşturan bir Azure Resource Manager şablonunun nasıl kullanılacağı gösterilmektedir. Makalede dağıtılacak kaynakların nasıl belirtildiği ve dağıtım yürütürken belirtilen parametrelerin nasıl tanımlanacağı açıklanır. Bu şablonu kendi dağıtımlarınız için kullanabilir veya kendi gereksinimlerinize göre özelleştirebilirsiniz.

Şablon oluşturma hakkında daha fazla bilgi için bkz. Azure Resource Manager şablonları yazma.

Şablonun tamamı için GitHub'da Service Bus yetkilendirme kuralı şablonuna bakın.

Not

Aşağıdaki Azure Resource Manager şablonları indirilebilir ve dağıtılır.

En son şablonları denetlemek için Azure Hızlı Başlangıç Şablonları galerisini ziyaret edin ve Service Bus'ı arayın.

Not

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Ne dağıtacaksınız?

Bu şablonla, bir ad alanı ve mesajlaşma varlığı (bu örnekte bir kuyruk) için Service Bus yetkilendirme kuralı dağıtırsınız.

Bu şablon kimlik doğrulaması için Paylaşılan Erişim İmzası (SAS) kullanır. SAS, uygulamaların ad alanında veya belirli hakların ilişkilendirildiği mesajlaşma varlığında (kuyruk veya konu) yapılandırılmış bir erişim anahtarı kullanarak Service Bus'ta kimlik doğrulaması gerçekleştirmesini sağlar. Ardından bu anahtarı kullanarak istemcilerin Service Bus'ta kimlik doğrulaması yapmak için kullanabileceği bir SAS belirteci oluşturabilirsiniz.

Dağıtımı otomatik olarak çalıştırmak için aşağıdaki düğmeye tıklayın:

Azure’a dağıtın

Parametreler

Azure Resource Manager sayesinde, şablon dağıtıldığında belirtmek istediğiniz değerlerin parametrelerini siz tanımlarsınız. Şablon, tüm parametre değerlerini içeren adlı Parameters bir bölüm içerir. Bu değerler için, dağıttığınız projeye veya dağıttığınız ortama göre farklılık gösterecek bir parametre tanımlamanız gerekir. Her zaman aynı kalacak değerler için parametre tanımlamayın. Her parametre değeri, dağıtılan kaynakları tanımlamak için şablonda kullanılır.

Şablon aşağıdaki parametreleri tanımlar.

serviceBusNamespaceName

Oluşturulacak Service Bus ad alanının adı.

"serviceBusNamespaceName": {
"type": "string"
}

namespaceAuthorizationRuleName

Ad alanı için yetkilendirme kuralının adı.

"namespaceAuthorizationRuleName ": {
"type": "string"
}

serviceBusQueueName

Service Bus ad alanında kuyruğun adı.

"serviceBusQueueName": {
"type": "string"
}

serviceBusApiVersion

Şablonun Service Bus API sürümü.

"serviceBusApiVersion": {
       "type": "string",
       "defaultValue": "2017-04-01",
       "metadata": {
           "description": "Service Bus ApiVersion used by the template"
       }

Dağıtılacak kaynaklar

Mesajlaşma türünde standart bir Service Bus ad alanı ve ad alanı ve varlık için service bus yetkilendirme kuralı oluşturur.

"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"]
            }
        }
    ]

JSON söz dizimi ve özellikleri için bkz. ad alanları, kuyruklar ve AuthorizationRules.

Dağıtımı çalıştırma komutları

Kaynakları Azure’da dağıtmak için, Azure hesabınızda oturum açmış olmanız ve Azure Resource Manager modülünü kullanıyor olmanız gerekir. Azure Resource Manager’ı Azure PowerShell veya Azure CLI ile kullanmayı öğrenmek için bkz:

Aşağıdaki örnekler, hesabınızda belirtilen adlara sahip bir kaynak grubunun olduğunu varsaymaktadır.

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>

Sonraki adımlar

Azure Resource Manager kullanarak kaynakları oluşturup dağıttığınıza göre, şu makaleleri görüntüleyerek bu kaynakları yönetmeyi öğrenin: