다음을 통해 공유


Service Bus 네임스페이스의 최소 TLS 버전 구성

Azure Service Bus 네임스페이스를 사용하면 클라이언트가 TLS 1.0 이상을 사용하여 데이터를 보내고 받을 수 있습니다. 보다 엄격한 보안 조치를 적용하기 위해 클라이언트가 최신 버전의 TLS를 사용하여 데이터를 보내고 받도록 Service Bus 네임스페이스를 구성할 수 있습니다. Service Bus 네임스페이스에 최소 버전의 TLS가 필요한 경우 이전 버전을 사용하여 수행한 요청은 실패합니다. 이 기능에 대한 개념 정보는 Service Bus 네임스페이스에 대한 요청에 필요한 최소 버전의 TLS(전송 계층 보안) 적용을 참조하세요.

Azure Portal 또는 ARM(Azure Resource Manager) 템플릿을 사용하여 최소 TLS 버전을 구성할 수 있습니다.

Azure Portal에서 최소 TLS 버전 지정

고급 탭의 Azure Portal에서 Service Bus 네임스페이스를 만들 때 최소 TLS 버전을 지정할 수 있습니다.

Screenshot showing the page to set the minimum TLS version when creating a namespace.

구성 페이지에서 기존 네임스페이스에 대한 최소 TLS 버전을 지정할 수도 있습니다.

Screenshot showing the page to set the minimum TLS version for an existing namespace.

Azure CLI 사용

최소 TLS 버전이 1.2로 설정된 네임스페이스를 만들려면--min-tls이(가) 1.2(으)로 설정된 az servicebus namespace create 명령을 사용합니다.

az servicebus namespace create \
    --name mynamespace \
    --resource-group myresourcegroup \
    --min-tls 1.2

Azure PowerShell 사용

최소 TLS 버전이 1.2로 설정된 네임스페이스를 만들려면-MinimumTlsVersion이(가) 1.2(으)로 설정된 New-AzServiceBusNamespace 명령을 사용합니다.

New-AzServiceBusNamespace `
    -ResourceGroup myresourcegroup `
    -Name mynamespace `
    -MinimumTlsVersion 1.2

최소 TLS 버전을 구성하기 위한 템플릿 만들기

Service Bus 네임스페이스에 대한 최소 TLS 버전을 구성하려면 MinimumTlsVersion 버전 속성을 1.0, 1.1 또는 1.2로 설정합니다. Azure Resource Manager 템플릿을 사용하여 Service Bus 네임스페이스를 만들 때 다른 버전으로 명시적으로 설정하지 않는 한 MinimumTlsVersion 속성은 기본적으로 1.2로 설정됩니다.

참고 항목

2022-01-01-preview 이전의 api-version을 사용하여 만들어진 네임스페이스는 MinimumTlsVersion의 값으로 1.0을 갖습니다. 이 동작은 이전 기본값이었고 여전히 이전 버전과의 호환성을 위해 존재합니다.

다음 단계는 Azure Portal에서 템플릿을 만드는 방법을 보여 줍니다.

  1. Azure Portal에서 리소스 만들기를 선택합니다.

  2. Marketplace 검색에서 사용자 지정 배포를 입력한 다음, Enter 키를 누릅니다.

  3. 사용자 지정 배포(사용자 지정 템플릿을 사용하여 배포) (미리 보기)를 선택하고 만들기를 선택한 다음, 편집기에서 사용자 고유의 템플릿 빌드를 선택합니다.

  4. 템플릿 편집기에서 다음 JSON을 붙여넣어 새 네임스페이스를 만들고 최소 TLS 버전을 TLS 1.2로 설정합니다. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {},
        "variables": {
            "serviceBusNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]"
        },
        "resources": [
            {
            "name": "[variables('serviceBusNamespaceName')]",
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2022-01-01-preview",
            "location": "westeurope",
            "properties": {
                "minimumTlsVersion": "1.2"
            },
            "dependsOn": [],
            "tags": {}
            }
        ]
    }
    
  5. 템플릿을 저장하는 경우

  6. 리소스 그룹 매개 변수를 지정한 다음, 검토 + 만들기 단추를 선택하여 템플릿을 배포하고 MinimumTlsVersion 속성이 구성된 네임스페이스를 만듭니다.

참고 항목

Service Bus 네임스페이스에 대한 최소 TLS 버전을 업데이트한 후 변경 내용이 완전히 전파되기까지 최대 30초가 걸릴 수 있습니다.

최소 TLS 버전을 구성하려면 Azure Service Bus 리소스 공급자의 api-version 2022-01-01-preview 이상이 필요합니다.

네임스페이스에 필요한 최소 TLS 버전 확인

Service Bus 네임스페이스에 필요한 최소 TLS 버전을 확인하기 위해 Azure Resource Manager API를 쿼리할 수 있습니다. 다음 명령을 실행하여 ARMClient를 사용하여 검색할 수 있는 API에 대해 쿼리하려면 전달자 토큰이 필요합니다.

.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>

전달자 토큰이 있으면 REST 클라이언트와 함께 아래 스크립트를 사용하여 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.ServiceBus/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}

속성 아래에 minimumTlsVersion이 설정된 상태에서 아래와 같이 표시되어야 합니다.

{
  "sku": {
    "name": "Premium",
    "tier": "Premium"
  },
  "id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.ServiceBus/namespaces/<your-namespace-name>",
  "name": "<your-namespace-name>",
  "type": "Microsoft.ServiceBus/Namespaces",
  "location": "West Europe",
  "tags": {},
  "properties": {
    "minimumTlsVersion": "1.2",
    "publicNetworkAccess": "Enabled",
    "disableLocalAuth": false,
    "zoneRedundant": false,
    "provisioningState": "Succeeded",
    "status": "Active"
  }
}

클라이언트에서 최소 TLS 버전 테스트

Service Bus 네임스페이스에 필요한 최소 TLS 버전이 이전 버전을 사용한 호출을 금지하는지 테스트하기 위해 이전 버전의 TLS를 사용하도록 클라이언트를 구성할 수 있습니다. 특정 버전의 TLS를 사용하도록 클라이언트를 구성하는 방법에 대한 자세한 내용은 클라이언트 애플리케이션에 대한 TLS(전송 계층 보안) 구성을 참조하세요.

클라이언트가 네임스페이스에 대해 구성된 최소 TLS 버전을 충족하지 않는 TLS 버전을 사용하여 Service Bus 네임스페이스에 액세스하는 경우 Azure Service Bus는 오류 코드 401(권한 없음)을 반환하고 사용된 TLS 버전이 이 Service Bus 네임스페이스에 대한 요청을 수행할 수 없음을 나타내는 메시지를 반환합니다.

참고 항목

Service Bus 네임스페이스에 대한 최소 TLS 버전을 구성하면 해당 최소 버전이 애플리케이션 계층에서 적용됩니다. 프로토콜 계층에서 TLS 지원을 확인하려는 도구는 Service Bus 네임스페이스 엔드포인트에 대해 직접 실행할 때 필요한 최소 버전 외에 TLS 버전을 반환할 수 있습니다.

다음 단계

자세한 내용은 다음 설명서를 참조하세요.