Konfigurowanie minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Event Hubs
Azure Event Hubs przestrzenie nazw umożliwiają klientom wysyłanie i odbieranie danych przy użyciu protokołu TLS 1.0 lub nowszego. Aby wymusić ostrzejsze środki zabezpieczeń, możesz skonfigurować przestrzeń nazw usługi Event Hubs tak, aby wymagać, aby klienci wysyłali i odbierali dane przy użyciu nowszej wersji protokołu TLS. Jeśli przestrzeń nazw usługi Event Hubs wymaga minimalnej wersji protokołu TLS, wszystkie żądania wysyłane ze starszą wersją będą wieść się niepowodzeniem. Aby uzyskać informacje koncepcyjne dotyczące tej funkcji, zobacz Wymuszanie minimalnej wymaganej wersji protokołu Transport Layer Security (TLS) dla żądań do przestrzeni nazw usługi Event Hubs.
Minimalną wersję protokołu TLS można skonfigurować przy użyciu szablonu Azure Portal lub usługi Azure Resource Manager (ARM).
Określanie minimalnej wersji protokołu TLS w Azure Portal
Minimalną wersję protokołu TLS można określić podczas tworzenia przestrzeni nazw usługi Event Hubs w Azure Portal na karcie Zaawansowane.
Możesz również określić minimalną wersję protokołu TLS dla istniejącej przestrzeni nazw na stronie Konfiguracja .
Tworzenie szablonu w celu skonfigurowania minimalnej wersji protokołu TLS
Aby skonfigurować minimalną wersję protokołu TLS dla przestrzeni nazw usługi Event Hubs przy użyciu szablonu, utwórz szablon z właściwością MinimumTlsVersion
ustawioną na 1.0, 1.1 lub 1.2. Podczas tworzenia przestrzeni nazw usługi Event Hubs przy użyciu szablonu MinimumTlsVersion
usługi Azure Resource Manager właściwość jest domyślnie ustawiona na 1.2, chyba że jawnie ustawiono inną wersję.
Uwaga
Przestrzenie nazw utworzone przy użyciu interfejsu API w wersji wcześniejszej niż 2022-01-01-preview będą miały wartość 1.0 jako wartość .MinimumTlsVersion
To zachowanie było wcześniejszą wartością domyślną i nadal istnieje w celu zapewnienia zgodności z poprzednimi wersjami.
W poniższych krokach opisano sposób tworzenia szablonu w Azure Portal.
W Azure Portal wybierz pozycję Utwórz zasób.
W polu Wyszukaj w witrynie Marketplace wpisz wdrożenie niestandardowe , a następnie naciśnij klawisz ENTER.
Wybierz pozycję Wdrożenie niestandardowe (wdróż przy użyciu szablonów niestandardowych) (wersja zapoznawcza), wybierz pozycję Utwórz , a następnie wybierz pozycję Kompiluj własny szablon w edytorze.
W edytorze szablonów wklej następujący kod JSON, aby utworzyć nową przestrzeń nazw i ustawić minimalną wersję protokołu TLS na TLS 1.2. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": { "eventHubNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]" }, "resources": [ { "name": "[variables('eventHubNamespaceName')]", "type": "Microsoft.EventHub/namespaces", "apiVersion": "2022-01-01-preview", "location": "westeurope", "properties": { "minimumTlsVersion": "1.2" }, "dependsOn": [], "tags": {} } ] }
Zapisz szablon.
Określ parametr grupy zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć szablon i utworzyć przestrzeń nazw ze skonfigurowaną właściwością
MinimumTlsVersion
.
Uwaga
Po zaktualizowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Event Hubs może upłynąć do 30 sekund, zanim zmiana zostanie w pełni rozpropagowana.
Skonfigurowanie minimalnej wersji protokołu TLS wymaga interfejsu API-version 2022-01-01-preview lub nowszego dostawcy zasobów Azure Event Hubs.
Sprawdzanie minimalnej wymaganej wersji protokołu TLS dla przestrzeni nazw
Aby sprawdzić minimalną wymaganą wersję protokołu TLS dla przestrzeni nazw usługi Event Hubs, możesz wykonać zapytanie dotyczące interfejsu API usługi Azure Resource Manager. Do wykonywania zapytań względem interfejsu API potrzebny jest token elementu nośnego, który można pobrać przy użyciu aplikacji ARMClient , wykonując następujące polecenia.
.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>
Po utworzeniu tokenu elementu nośnego możesz użyć poniższego skryptu w połączeniu z czymś, co przypomina klient REST , aby wykonać zapytanie dotyczące interfejsu API.
@token = Bearer <Token received from ARMClient>
@subscription = <your-subscription-id>
@resourceGroup = <your-resource-group-name>
@namespaceName = <your-namespace-name>
###
GET https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/Microsoft.EventHub/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}
Odpowiedź powinna wyglądać podobnie do poniższej z wartością minimumTlsVersion ustawioną pod właściwościami.
{
"sku": {
"name": "Premium",
"tier": "Premium",
"capacity": 1
},
"id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.EventHub/namespaces/<your-namespace-name>",
"name": "<your-namespace-name>",
"type": "Microsoft.EventHub/Namespaces",
"location": "West Europe",
"properties": {
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true,
"isAutoInflateEnabled": false,
"maximumThroughputUnits": 0,
"kafkaEnabled": true,
"provisioningState": "Succeeded",
"status": "Active"
}
}
Testowanie minimalnej wersji protokołu TLS od klienta
Aby przetestować, czy minimalna wymagana wersja protokołu TLS dla przestrzeni nazw usługi Event Hubs zabrania wywołań wykonanych przy użyciu starszej wersji, można skonfigurować klienta do używania starszej wersji protokołu TLS. Aby uzyskać więcej informacji na temat konfigurowania klienta do używania określonej wersji protokołu TLS, zobacz Konfigurowanie protokołu Transport Layer Security (TLS) dla aplikacji klienckiej.
Gdy klient uzyskuje dostęp do przestrzeni nazw usługi Event Hubs przy użyciu wersji protokołu TLS, która nie spełnia minimalnej wersji protokołu TLS skonfigurowanej dla przestrzeni nazw, Azure Event Hubs zwraca kod błędu 401 (Brak autoryzacji) i komunikat wskazujący, że używana wersja protokołu TLS nie jest dozwolona do wykonywania żądań względem tej przestrzeni nazw usługi Event Hubs.
Uwaga
Ze względu na ograniczenia w bibliotece confluent błędy pochodzące z nieprawidłowej wersji protokołu TLS nie będą pojawiać się podczas nawiązywania połączenia za pośrednictwem protokołu Kafka. Zamiast tego zostanie wyświetlony ogólny wyjątek.
Uwaga
Po skonfigurowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Event Hubs minimalna wersja jest wymuszana w warstwie aplikacji. Narzędzia, które próbują określić obsługę protokołu TLS w warstwie protokołu, mogą zwracać wersje protokołu TLS oprócz minimalnej wymaganej wersji po uruchomieniu bezpośrednio względem punktu końcowego przestrzeni nazw usługi Event Hubs.
Następne kroki
Aby uzyskać więcej informacji, zobacz następujące artykuły.
- Wymuszanie minimalnej wymaganej wersji protokołu Transport Layer Security (TLS) dla żądań do przestrzeni nazw usługi Event Hubs
- Konfigurowanie protokołu Transport Layer Security (TLS) dla aplikacji klienckiej usługi Event Hubs
- Użyj Azure Policy do inspekcji pod kątem zgodności minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Event Hubs