Tworzenie reguły autoryzacji usługi Service Bus dla przestrzeni nazw i kolejki przy użyciu szablonu usługi Azure Resource Manager

W tym artykule pokazano, jak używać szablonu usługi Azure Resource Manager, który tworzy regułę autoryzacji dla przestrzeni nazw i kolejki usługi Service Bus. W artykule wyjaśniono, jak określić, które zasoby są wdrażane, oraz jak zdefiniować parametry określone podczas wdrażania. Można użyć tego szablonu na potrzeby własnych wdrożeń lub dostosować go do konkretnych potrzeb.

Aby uzyskać więcej informacji na temat tworzenia szablonów, zobacz Tworzenie szablonów usługi Azure Resource Manager.

Aby uzyskać pełny szablon, zobacz szablon reguły autoryzacji usługi Service Bus w witrynie GitHub.

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Co chcesz wdrożyć?

Za pomocą tego szablonu wdrożysz regułę autoryzacji usługi Service Bus dla jednostki przestrzeni nazw i obsługi komunikatów (w tym przypadku kolejki).

Ten szablon używa sygnatury dostępu współdzielonego (SAS) do uwierzytelniania. Sygnatura dostępu współdzielonego umożliwia aplikacjom uwierzytelnianie w usłudze Service Bus przy użyciu klucza dostępu skonfigurowanego w przestrzeni nazw lub jednostki obsługi komunikatów (kolejki lub tematu), z którymi są skojarzone określone prawa. Następnie możesz użyć tego klucza, aby wygenerować token SAS, który klienci mogą z kolei użyć do uwierzytelniania w usłudze Service Bus.

Aby automatycznie uruchomić wdrożenie, kliknij poniższy przycisk:

Wdróż na platformie Azure

Parametry

Przy użyciu usługi Azure Resource Manager można zdefiniować parametry dla wartości, które mają zostać uwzględnione podczas wdrażania szablonu. Szablon zawiera sekcję o nazwie Parameters zawierającą wszystkie wartości parametrów. Należy zdefiniować parametr dla tych wartości, które będą się różnić w zależności od wdrażanego projektu lub na podstawie wdrażanego środowiska. Nie należy definiować parametrów dla wartości, które zawsze pozostaną takie same. Każda wartość parametru używana w szablonie definiuje wdrażane zasoby.

Szablon zawiera definicje następujących parametrów.

serviceBusNamespaceName

Nazwa przestrzeni nazw usługi Service Bus do utworzenia.

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

namespaceAuthorizationRuleName

Nazwa reguły autoryzacji dla przestrzeni nazw.

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

serviceBusQueueName

Nazwa kolejki w przestrzeni nazw usługi Service Bus.

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

serviceBusApiVersion

Wersja interfejsu API usługi Service Bus szablonu.

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

Zasoby wymagające wdrożenia

Tworzy standardową przestrzeń nazw usługi Service Bus typu Messaging oraz regułę autoryzacji usługi Service Bus dla przestrzeni nazw i jednostki.

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

Aby uzyskać informacje o składni i właściwościach JSON, zobacz przestrzenie nazw, kolejki i reguły autoryzacji.

Polecenia umożliwiające uruchomienie wdrożenia

Aby wdrożyć zasoby na platformie Azure, musisz wcześniej zalogować się na swoje konto Azure i korzystać z modułu Azure Resource Manager. Aby dowiedzieć się, jak używać usługi Azure Resource Manager z programem Azure PowerShell lub interfejsem wiersza polecenia platformy Azure, zobacz:

W następujących przykładach założono, że na swoim koncie masz już grupę zasobów o określonej nazwie.

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>

Interfejs wiersza polecenia platformy 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>

Następne kroki

Po utworzeniu i wdrożeniu zasobów przy użyciu usługi Azure Resource Manager dowiedz się, jak zarządzać tymi zasobami, wyświetlając następujące artykuły: