Udostępnij za pośrednictwem


Klucze zarządzane przez klienta na potrzeby szyfrowania usługi Azure Fluid Relay

Możesz użyć własnego klucza szyfrowania, aby chronić dane w zasobie usługi Azure Fluid Relay. Po określeniu klucza zarządzanego przez klienta (CMK) ten klucz jest używany do ochrony i kontrolowania dostępu do klucza, który szyfruje dane. CmK zapewnia większą elastyczność zarządzania mechanizmami kontroli dostępu.

Do przechowywania klucza zarządzanego przez klienta należy użyć jednego z następujących magazynów kluczy platformy Azure:

Musisz utworzyć nowy zasób usługi Azure Fluid Relay, aby włączyć klucz cmK. Nie można zmienić włączania/wyłączania klucza zarządzanego przez klienta dla istniejącego zasobu przekaźnika płynów.

Ponadto klucz CMK usługi Fluid Relay opiera się na tożsamości zarządzanej i musisz przypisać tożsamość zarządzaną do zasobu przekaźnika płynów podczas włączania klucza zarządzanego. Tylko tożsamość przypisana przez użytkownika jest dozwolona dla klucza zarządzanego przez zasób usługi Fluid Relay. Aby uzyskać więcej informacji na temat tożsamości zarządzanych, zobacz tutaj.

Nie można jeszcze skonfigurować zasobu usługi Fluid Relay za pomocą klucza zarządzanego przez klienta za pośrednictwem witryny Azure Portal.

Podczas konfigurowania zasobu usługi Fluid Relay przy użyciu klucza zarządzanego przez klienta usługa Azure Fluid Relay konfiguruje odpowiednie ustawienia zaszyfrowane cmK w zakresie konta usługi Azure Storage, w którym są przechowywane artefakty sesji płynu. Aby uzyskać więcej informacji na temat klucza zarządzanego przez klienta w usłudze Azure Storage, zobacz tutaj.

Aby sprawdzić, czy zasób usługi Fluid Relay używa klucza zarządzanego przez klienta, możesz sprawdzić właściwość zasobu, wysyłając polecenie GET i sprawdzić, czy ma prawidłową, niepustą właściwość encryption.customerManagedKeyEncryption.

Wymagania wstępne:

Przed skonfigurowaniem klucza zarządzanego przez klienta w zasobie usługi Azure Fluid Relay należy spełnić następujące wymagania wstępne:

  • Klucze muszą być przechowywane w usłudze Azure Key Vault.
  • Klucze muszą być kluczem RSA, a nie kluczem EC, ponieważ klucz EC nie obsługuje funkcji WRAP i UNWRAP.
  • Tożsamość zarządzana przypisana przez użytkownika musi zostać utworzona z niezbędnym uprawnieniem (GET, WRAP i UNWRAP) do magazynu kluczy w kroku 1. Więcej informacji można znaleźć tutaj. Przyznaj uprawnienia GET, WRAP i UNWRAP w obszarze Uprawnienia klucza w usłudze AKV.
  • Usługa Azure Key Vault, tożsamość przypisana przez użytkownika i zasób usługi Fluid Relay muszą znajdować się w tym samym regionie i w tej samej dzierżawie firmy Microsoft Entra.

Tworzenie zasobu przekaźnika płynów za pomocą klucza zarządzanego przez klienta

PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group name> /providers/Microsoft.FluidRelay/fluidRelayServers/< Fluid Relay resource name>?api-version=2022-06-01 @"<path to request payload>" 

Format ładunku żądania:

{ 
    "location": "<the region you selected for Fluid Relay resource>", 
    "identity": { 
        "type": "UserAssigned", 
        "userAssignedIdentities": { 
            “<User assigned identity resource ID>": {} 
        } 
    }, 
    "properties": { 
       "encryption": { 
            "customerManagedKeyEncryption": { 
                "keyEncryptionKeyIdentity": { 
                    "identityType": "UserAssigned", 
                    "userAssignedIdentityResourceId":  "<User assigned identity resource ID>" 
                }, 
                "keyEncryptionKeyUrl": "<key identifier>" 
            } 
        } 
    } 
} 

Przykład userAssignedIdentities i userAssignedIdentityResourceId: /subscriptions/ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxx/resourceGroups/testGroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testUserAssignedIdentity

Przykład kluczaEncryptionKeyUrl: https://test-key-vault.vault.azure.net/keys/testKey/testKeyVersionGuid

Uwagi:

  • Identity.type musi mieć wartość UserAssigned. Jest to typ tożsamości tożsamości zarządzanej przypisanej do zasobu fluid relay.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType musi mieć wartość UserAssigned. Jest to typ tożsamości tożsamości zarządzanej, który powinien być używany dla klucza cmK.
  • Chociaż można określić więcej niż jedną w elemecie Identity.userAssignedIdentities, tylko jedna tożsamość użytkownika przypisana do określonego zasobu usługi Fluid Relay będzie używana do uzyskiwania dostępu do magazynu kluczy na potrzeby szyfrowania za pomocą klucza cmK.
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId jest identyfikatorem zasobu tożsamości przypisanej przez użytkownika, która powinna być używana dla klucza zarządzanego przez klienta. Zwróć uwagę, że powinna to być jedna z tożsamości w elemecie Identity.userAssignedIdentities (należy przypisać tożsamość do zasobu fluid relay, zanim będzie można go użyć dla klucza CMK). Ponadto powinien mieć niezbędne uprawnienia do klucza (dostarczone przez keyEncryptionKeyUrl).
  • Properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl jest identyfikatorem klucza używanym dla klucza CMK.

Aktualizowanie ustawień klucza zarządzanego przez klienta istniejącego zasobu przekaźnika płynów

Następujące ustawienia klucza zarządzanego przez klienta można zaktualizować w istniejącym zasobie przekaźnika płynów:

  • Zmień tożsamość używaną do uzyskiwania dostępu do klucza szyfrowania klucza.
  • Zmień identyfikator klucza szyfrowania klucza (adres URL klucza).
  • Zmień wersję klucza klucza szyfrowania klucza.

Pamiętaj, że nie można wyłączyć klucza zarządzanego przez istniejący zasób usługi Fluid Relay po jej włączeniu.

Adres URL żądania:

PATCH https://management.azure.com/subscriptions/<subscription id>/resourceGroups/<resource group name>/providers/Microsoft.FluidRelay/fluidRelayServers/<fluid relay server name>?api-version=2022-06-01 @"path to request payload" 

Przykład ładunku żądania aktualizacji adresu URL klucza szyfrowania klucza:

{ 
    "properties": { 
       "encryption": { 
            "customerManagedKeyEncryption": { 
                "keyEncryptionKeyUrl": "https://test_key_vault.vault.azure.net/keys/testKey /xxxxxxxxxxxxxxxx" 
            } 
        } 
    } 
}

Zobacz też