Omówienie poufnego przetwarzania w usłudze Azure Service Bus

Usługa Azure Service Bus Premium obsługuje poufne przetwarzanie w celu ochrony danych komunikatów w trakcie użycia. Poufne przetwarzanie używa opartych na sprzęcie zaufanych środowisk wykonywania (TEE), aby zapewnić rozszerzoną ochronę danych, uniemożliwiając nieautoryzowany dostęp do komunikatów podczas ich przetwarzania.

Po włączeniu przetwarzania w trybie poufności w przestrzeni nazw usługi Service Bus Premium, dane mogą korzystać z izolacji na poziomie sprzętowym oraz z istniejącego szyfrowania danych magazynowanych i przesyłanych. Ta funkcja pomaga organizacjom, które obsługują poufne lub regulowane dane spełniają ścisłe wymagania dotyczące zabezpieczeń i zgodności.

Korzyści

Poufne przetwarzanie w usłudze Azure Service Bus zapewnia następujące korzyści:

  • Nie są wymagane żadne zmiany kodu: włącz poufne przetwarzanie na poziomie przestrzeni nazw bez modyfikowania aplikacji lub wzorców obsługi komunikatów.
  • Ochrona w głębi systemu: łączy się z istniejącymi funkcjami zabezpieczeń usługi Service Bus, takimi jak klucze zarządzane przez klienta, prywatne punkty końcowe i tożsamości zarządzane.
  • Ochrona specyficzna dla komunikatów: kolejki, tematy i subskrypcje korzystają z izolacji na poziomie sprzętu podczas przetwarzania komunikatów.

Dostępność regionalna

Poufne przetwarzanie dla usługi Azure Service Bus jest dostępne w wybranych regionach.

Region
Korea Środkowa
Północne Zjednoczone Emiraty Arabskie

Ograniczenia

Następujące ograniczenia dotyczą poufnego przetwarzania w usłudze Azure Service Bus:

  • Poufne przetwarzanie jest dostępne tylko w warstwie Premium.
  • Podczas tworzenia przestrzeni nazw należy włączyć poufne przetwarzanie. Nie można go włączyć w istniejących przestrzeniach nazw.

Włączanie poufnego przetwarzania przy użyciu witryny Azure Portal

  1. Przejdź do witryny Azure Portal i otwórz stronę tworzenia przestrzeni nazw usługi Service Bus.

  2. Wybierz pozycję Premium dla warstwy cenowej.

  3. Wybierz obsługiwany region jako lokalizację.

  4. W obszarze Poufne zasoby obliczeniowe wybierz pozycję Włączone.

    Zrzut ekranu przedstawiający stronę tworzenia przestrzeni nazw z włączonym przełącznikiem „Poufne zasoby obliczeniowe”.

  5. Wypełnij pozostałe wymagane pola konfiguracji przestrzeni nazw.

  6. Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz , aby wdrożyć przestrzeń nazw z włączonym poufnym przetwarzaniem.

Włączanie poufnego przetwarzania przy użyciu szablonu

Poufne przetwarzanie można włączyć programowo, uwzględniając platformCapabilities właściwość w szablonie wdrożenia.

Poniższy plik Bicep tworzy przestrzeń nazw usługi Service Bus Premium z włączonym poufnym przetwarzaniem:

@description('Name of the Service Bus namespace')
param namespaceName string

@description('Location for the namespace. Must be a region that supports confidential computing.')
@allowed([
  'koreacentral'
  'uaenorth'
])
param location string = 'uaenorth'

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2025-05-01-preview' = {
  name: namespaceName
  location: location
  sku: {
    name: 'Premium'
    tier: 'Premium'
    capacity: 1
  }
  properties: {
    platformCapabilities: {
      confidentialCompute: {
        mode: 'Enabled'
      }
    }
  }
}

Łączenie poufnego przetwarzania z kluczami zarządzanymi przez klienta

Aby uzyskać maksymalną ochronę danych, połącz poufne przetwarzanie z kluczami zarządzanymi przez klienta wspieranymi przez zarządzany moduł HSM usługi Azure Key Vault. Ta kombinacja gwarantuje, że:

  • Dane są chronione w użyciu przez poufne przetwarzanie.
  • Klucze szyfrowania są przechowywane w zweryfikowanych sprzętowych modułach zabezpieczeń.
  • Zachowasz pełną kontrolę nad kluczami szyfrowania.

Używanie usługi Azure Policy do wymuszania poufnego przetwarzania

Utwórz definicję zasady Azure, aby wymusić, aby wszystkie przestrzenie nazw usługi Service Bus w warstwie Premium w organizacji miały włączone zarówno przetwarzanie danych poufnych, jak i klucze zarządzane przez klienta. Takie podejście zapewnia spójną konfigurację zabezpieczeń w środowisku platformy Azure.

Poniższa definicja zasad odrzuca lub kontroluje tworzenie premiumowych przestrzeni nazw usługi Service Bus, które nie spełniają następujących wymagań dotyczących zabezpieczeń:

{
    "mode": "All",
    "parameters": {
        "effect": {
            "type": "String",
            "metadata": {
                "displayName": "Effect",
                "description": "Deny or Audit"
            },
            "allowedValues": [
                "Deny",
                "Audit"
            ],
            "defaultValue": "Deny"
        }
    },
    "policyRule": {
        "if": {
            "allOf": [
                {
                    "field": "type",
                    "equals": "Microsoft.ServiceBus/namespaces"
                },
                {
                    "field": "Microsoft.ServiceBus/namespaces/sku.tier",
                    "equals": "Premium"
                },
                {
                    "anyOf": [
                        {
                            "anyOf": [
                                {
                                    "not": {
                                        "field": "Microsoft.ServiceBus/namespaces/encryption.keySource",
                                        "equals": "Microsoft.KeyVault"
                                    }
                                },
                                {
                                    "not": {
                                        "field": "Microsoft.ServiceBus/namespaces/encryption.keyVaultProperties[*].keyVaultUri",
                                        "contains": ".managedhsm.azure.net/"
                                    }
                                },
                                {
                                    "anyOf": [
                                        {
                                            "field": "identity.type",
                                            "equals": "None"
                                        },
                                        {
                                            "field": "identity.type",
                                            "exists": false
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            "not": {
                                "field": "Microsoft.ServiceBus/namespaces/platformCapabilities.confidentialCompute.mode",
                                "equals": "Enabled"
                            }
                        }
                    ]
                }
            ]
        },
        "then": {
            "effect": "[parameters('effect')]"
        }
    }
}

Aby użyć tych zasad, utwórz niestandardową definicję zasad w usłudze Azure Policy i przypisz ją do odpowiedniego zakresu, takiego jak grupa zarządzania, subskrypcja lub grupa zasobów.

Uwaga / Notatka

Podczas łączenia poufnego przetwarzania z kluczami zarządzanymi przez klienta należy użyć tożsamości zarządzanej przypisanej przez użytkownika. To wymaganie istnieje, ponieważ tożsamość musi mieć przyznany dostęp do zarządzanego modułu HSM przed utworzeniem przestrzeni nazw. Tożsamość przypisana przez system istnieje tylko po utworzeniu przestrzeni nazw.