Zakresy szyfrowania umożliwiają zarządzanie szyfrowaniem na poziomie pojedynczego obiektu blob lub kontenera. Zakresy szyfrowania umożliwiają tworzenie bezpiecznych granic między danymi, które znajdują się na tym samym koncie magazynu, ale należą do różnych klientów. Aby uzyskać więcej informacji na temat zakresów szyfrowania, zobacz Zakresy szyfrowania dla usługi Blob Storage.
W tym artykule pokazano, jak utworzyć zakres szyfrowania. Przedstawiono również sposób określania zakresu szyfrowania podczas tworzenia obiektu blob lub kontenera.
Można utworzyć zakres szyfrowania chroniony za pomocą klucza zarządzanego przez firmę Microsoft lub klucz zarządzany przez klienta, który jest przechowywany w usłudze Azure Key Vault lub w zarządzanym modelu zabezpieczeń sprzętu usługi Azure Key Vault (HSM). Aby utworzyć zakres szyfrowania przy użyciu klucza zarządzanego przez klienta, musisz najpierw utworzyć magazyn kluczy lub zarządzany moduł HSM i dodać klucz, którego zamierzasz użyć dla zakresu. Magazyn kluczy lub zarządzany moduł HSM musi mieć włączoną ochronę przeczyszczania.
Konto magazynu i magazyn kluczy mogą znajdować się w tej samej dzierżawie lub w różnych dzierżawach. W obu przypadkach konto magazynu i magazyn kluczy mogą znajdować się w różnych regionach.
Zakres szyfrowania jest automatycznie włączany podczas jego tworzenia. Po utworzeniu zakresu szyfrowania można określić go podczas tworzenia obiektu blob. Można również określić domyślny zakres szyfrowania podczas tworzenia kontenera, który jest automatycznie stosowany do wszystkich obiektów blob w kontenerze.
Podczas konfigurowania zakresu szyfrowania są naliczane opłaty za co najmniej jeden miesiąc (30 dni). Po pierwszym miesiącu opłaty za zakres szyfrowania są proporcjonalnie naliczane co godzinę. Aby uzyskać więcej informacji, zobacz Rozliczenia dla zakresów szyfrowania.
Aby utworzyć zakres szyfrowania w witrynie Azure Portal, wykonaj następujące kroki:
W witrynie Azure Portal przejdź do swojego konta magazynu.
W obszarze Zabezpieczenia i sieć wybierz pozycję Szyfrowanie.
Wybierz kartę Zakresy szyfrowania.
Kliknij przycisk Dodaj, aby dodać nowy zakres szyfrowania.
W okienku Tworzenie zakresu szyfrowania wprowadź nazwę nowego zakresu.
Wybierz żądany typ obsługi klucza szyfrowania — klucze zarządzane przez firmę Microsoft lub klucze zarządzane przez klienta.
- Jeśli wybrano klucze zarządzane przez firmę Microsoft, kliknij przycisk Utwórz , aby utworzyć zakres szyfrowania.
- W przypadku wybrania kluczy zarządzanych przez klienta wybierz subskrypcję i określ magazyn kluczy oraz klucz do użycia dla tego zakresu szyfrowania. Jeśli żądany magazyn kluczy znajduje się w innym regionie, wybierz pozycję Wprowadź identyfikator URI klucza i określ identyfikator URI klucza.
Jeśli szyfrowanie infrastruktury jest włączone dla konta magazynu, zostanie ono automatycznie włączone dla nowego zakresu szyfrowania. W przeciwnym razie możesz wybrać, czy włączyć szyfrowanie infrastruktury dla zakresu szyfrowania.
Aby utworzyć zakres szyfrowania za pomocą programu PowerShell, zainstaluj moduł Az.Storage PowerShell w wersji 3.4.0 lub nowszej.
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez firmę Microsoft
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez firmę Microsoft, wywołaj polecenie New-AzStorageEncryptionScope za pomocą parametru -StorageEncryption
.
Jeśli szyfrowanie infrastruktury jest włączone dla konta magazynu, zostanie ono automatycznie włączone dla nowego zakresu szyfrowania. W przeciwnym razie możesz wybrać, czy włączyć szyfrowanie infrastruktury dla zakresu szyfrowania. Aby utworzyć nowy zakres z włączonym szyfrowaniem -RequireInfrastructureEncryption
infrastruktury, dołącz parametr .
Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-StorageEncryption
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez klienta w tej samej dzierżawie
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez klienta przechowywane w magazynie kluczy lub zarządzanym module HSM, który znajduje się w tej samej dzierżawie co konto magazynu, najpierw skonfiguruj klucze zarządzane przez klienta dla konta magazynu. Musisz przypisać tożsamość zarządzaną do konta magazynu, które ma uprawnienia dostępu do magazynu kluczy. Tożsamość zarządzana może być tożsamością zarządzaną przypisaną przez użytkownika lub tożsamością zarządzaną przypisaną przez system. Aby dowiedzieć się więcej na temat konfigurowania kluczy zarządzanych przez klienta, zobacz Konfigurowanie kluczy zarządzanych przez klienta w tej samej dzierżawie dla istniejącego konta magazynu.
Aby udzielić tożsamości zarządzanej uprawnień dostępu do magazynu kluczy, przypisz rolę użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault tożsamości zarządzanej.
Aby skonfigurować klucze zarządzane przez klienta do użycia z zakresem szyfrowania, należy włączyć ochronę przeczyszczania w magazynie kluczy lub zarządzanym module HSM.
W poniższym przykładzie pokazano, jak skonfigurować zakres szyfrowania przy użyciu tożsamości zarządzanej przypisanej przez system. Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$keyVaultName = "<key-vault>"
$scopeName = "<encryption-scope>"
# Assign a system-assigned managed identity to the storage account.
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
# Assign the necessary permissions to the managed identity
# so that it can access the key vault.
$principalId = $storageAccount.Identity.PrincipalId
$keyVault = Get-AzKeyVault $keyVaultName
New-AzRoleAssignment -ObjectId $storageAccount.Identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
Następnie wywołaj polecenie New-AzStorageEncryptionScope za pomocą parametru -KeyvaultEncryption
i określ identyfikator URI klucza. Dołączenie wersji klucza do identyfikatora URI klucza jest opcjonalne. Jeśli pominięto wersję klucza, zakres szyfrowania będzie automatycznie używać najnowszej wersji klucza. Jeśli uwzględnisz wersję klucza, musisz ręcznie zaktualizować wersję klucza, aby użyć innej wersji.
Format identyfikatora URI klucza jest podobny do następujących przykładów i można go skonstruować z właściwości VaultUri magazynu kluczy i nazwy klucza:
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Jeśli szyfrowanie infrastruktury jest włączone dla konta magazynu, zostanie ono automatycznie włączone dla nowego zakresu szyfrowania. W przeciwnym razie możesz wybrać, czy włączyć szyfrowanie infrastruktury dla zakresu szyfrowania. Aby utworzyć nowy zakres z włączonym szyfrowaniem -RequireInfrastructureEncryption
infrastruktury, dołącz parametr .
Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
$keyUri = $keyVault.VaultUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez klienta w innej dzierżawie
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez klienta przechowywane w magazynie kluczy lub zarządzanym module HSM, który znajduje się w innej dzierżawie niż konto magazynu, najpierw skonfiguruj klucze zarządzane przez klienta dla konta magazynu. Musisz skonfigurować tożsamość zarządzaną przypisaną przez użytkownika dla konta magazynu, które ma uprawnienia dostępu do magazynu kluczy w innej dzierżawie. Aby dowiedzieć się więcej na temat konfigurowania kluczy zarządzanych przez klienta między dzierżawami, zobacz Konfigurowanie kluczy zarządzanych przez klienta między dzierżawami dla istniejącego konta magazynu.
Aby skonfigurować klucze zarządzane przez klienta do użycia z zakresem szyfrowania, należy włączyć ochronę przeczyszczania w magazynie kluczy lub zarządzanym module HSM.
Po skonfigurowaniu kluczy zarządzanych przez klienta między dzierżawami dla konta magazynu można utworzyć zakres szyfrowania na koncie magazynu w jednej dzierżawie, która jest ograniczona do klucza w magazynie kluczy w innej dzierżawie. Aby utworzyć zakres szyfrowania między dzierżawami, potrzebny będzie identyfikator URI klucza.
Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
# Construct the key URI from the key vault URI and key name.
$keyUri = $kvUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Aby utworzyć zakres szyfrowania za pomocą interfejsu wiersza polecenia platformy Azure, najpierw zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.20.0 lub nowszej.
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez firmę Microsoft
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez firmę Microsoft, wywołaj polecenie az storage account encryption-scope create , określając --key-source
parametr jako Microsoft.Storage
.
Jeśli szyfrowanie infrastruktury jest włączone dla konta magazynu, zostanie ono automatycznie włączone dla nowego zakresu szyfrowania. W przeciwnym razie możesz wybrać, czy włączyć szyfrowanie infrastruktury dla zakresu szyfrowania. Aby utworzyć nowy zakres z włączonym szyfrowaniem infrastruktury, dołącz --require-infrastructure-encryption
parametr i ustaw jego wartość na true
.
Pamiętaj, aby zastąpić wartości symboli zastępczych własnymi wartościami:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.Storage
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez klienta w tej samej dzierżawie
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez klienta przechowywane w magazynie kluczy lub zarządzanym module HSM, który znajduje się w tej samej dzierżawie co konto magazynu, najpierw skonfiguruj klucze zarządzane przez klienta dla konta magazynu. Musisz przypisać tożsamość zarządzaną do konta magazynu, które ma uprawnienia dostępu do magazynu kluczy. Tożsamość zarządzana może być tożsamością zarządzaną przypisaną przez użytkownika lub tożsamością zarządzaną przypisaną przez system. Aby dowiedzieć się więcej na temat konfigurowania kluczy zarządzanych przez klienta, zobacz Konfigurowanie kluczy zarządzanych przez klienta w tej samej dzierżawie dla istniejącego konta magazynu.
Aby udzielić tożsamości zarządzanej uprawnień dostępu do magazynu kluczy, przypisz rolę użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault tożsamości zarządzanej.
Aby skonfigurować klucze zarządzane przez klienta do użycia z zakresem szyfrowania, należy włączyć ochronę przeczyszczania w magazynie kluczy lub zarządzanym module HSM.
W poniższym przykładzie pokazano, jak skonfigurować zakres szyfrowania przy użyciu tożsamości zarządzanej przypisanej przez system. Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
principalId=$(az storage account show --name <storage-account> \
--resource-group <resource_group> \
--query identity.principalId \
--output tsv)
$kvResourceId=$(az keyvault show \
--resource-group <resource-group> \
--name <key-vault> \
--query id \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId
Następnie wywołaj polecenie az storage account encryption-scope za pomocą parametru --key-uri
i określ identyfikator URI klucza. Dołączenie wersji klucza do identyfikatora URI klucza jest opcjonalne. Jeśli pominięto wersję klucza, zakres szyfrowania będzie automatycznie używać najnowszej wersji klucza. Jeśli uwzględnisz wersję klucza, musisz ręcznie zaktualizować wersję klucza, aby użyć innej wersji.
Format identyfikatora URI klucza jest podobny do następujących przykładów i można go skonstruować z właściwości vaultUri magazynu kluczy i nazwy klucza:
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Jeśli szyfrowanie infrastruktury jest włączone dla konta magazynu, zostanie ono automatycznie włączone dla nowego zakresu szyfrowania. W przeciwnym razie możesz wybrać, czy włączyć szyfrowanie infrastruktury dla zakresu szyfrowania. Aby utworzyć nowy zakres z włączonym szyfrowaniem infrastruktury, dołącz --require-infrastructure-encryption
parametr i ustaw jego wartość na true
.
Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Tworzenie zakresu szyfrowania chronionego przez klucze zarządzane przez klienta w innej dzierżawie
Aby utworzyć zakres szyfrowania chroniony przez klucze zarządzane przez klienta przechowywane w magazynie kluczy lub zarządzanym module HSM, który znajduje się w innej dzierżawie niż konto magazynu, najpierw skonfiguruj klucze zarządzane przez klienta dla konta magazynu. Musisz skonfigurować tożsamość zarządzaną przypisaną przez użytkownika dla konta magazynu, które ma uprawnienia dostępu do magazynu kluczy w innej dzierżawie. Aby dowiedzieć się więcej na temat konfigurowania kluczy zarządzanych przez klienta między dzierżawami, zobacz Konfigurowanie kluczy zarządzanych przez klienta między dzierżawami dla istniejącego konta magazynu.
Aby skonfigurować klucze zarządzane przez klienta do użycia z zakresem szyfrowania, należy włączyć ochronę przeczyszczania w magazynie kluczy lub zarządzanym module HSM.
Po skonfigurowaniu kluczy zarządzanych przez klienta między dzierżawami dla konta magazynu można utworzyć zakres szyfrowania na koncie magazynu w jednej dzierżawie, która jest ograniczona do klucza w magazynie kluczy w innej dzierżawie. Aby utworzyć zakres szyfrowania między dzierżawami, potrzebny będzie identyfikator URI klucza.
Pamiętaj, aby zastąpić wartości symboli zastępczych w przykładzie własnymi wartościami:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Podczas tworzenia kontenera można określić domyślny zakres szyfrowania. Obiekty blob w tym kontenerze będą domyślnie używać tego zakresu.
Pojedynczy obiekt blob można utworzyć z własnym zakresem szyfrowania, chyba że kontener jest skonfigurowany tak, aby wymagał, aby wszystkie obiekty blob używały zakresu domyślnego. Aby uzyskać więcej informacji, zobacz Zakresy szyfrowania dla kontenerów i obiektów blob.
Jeśli klient próbuje określić zakres podczas przekazywania obiektu blob do kontenera, który ma domyślny zakres szyfrowania, a kontener jest skonfigurowany tak, aby zapobiec zastępowaniu domyślnego zakresu obiektów blob, operacja kończy się niepowodzeniem z komunikatem wskazującym, że żądanie jest zabronione przez zasady szyfrowania kontenera.
Podczas przekazywania obiektu blob można określić zakres szyfrowania dla tego obiektu blob lub użyć domyślnego zakresu szyfrowania dla kontenera, jeśli został określony.
Aby zmienić klucz, który chroni zakres w witrynie Azure Portal, wykonaj następujące kroki:
- Przejdź do karty Zakresy szyfrowania, aby wyświetlić listę zakresów szyfrowania dla konta magazynu.
- Wybierz przycisk Więcej obok zakresu, który chcesz zmodyfikować.
- W okienku Edytowanie zakresu szyfrowania można zmienić typ szyfrowania z klucza zarządzanego przez firmę Microsoft na klucz zarządzany przez klienta lub odwrotnie.
- Aby wybrać nowy klucz zarządzany przez klienta, wybierz pozycję Użyj nowego klucza i określ magazyn kluczy , klucz i wersję klucza.
Aby zmienić klucz, który chroni zakres szyfrowania przed kluczem zarządzanym przez klienta do klucza zarządzanego przez firmę Microsoft za pomocą programu PowerShell, wywołaj polecenie Update-AzStorageEncryptionScope i przekaż -StorageEncryption
parametr :
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Następnie wywołaj polecenie Update-AzStorageEncryptionScope i przekaż -KeyUri
parametry i -KeyvaultEncryption
:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-KeyUri $keyUri `
-KeyvaultEncryption
Aby zmienić klucz, który chroni zakres szyfrowania przed kluczem zarządzanym przez klienta do klucza zarządzanego przez firmę Microsoft za pomocą interfejsu wiersza polecenia platformy Azure, wywołaj polecenie az storage account encryption-scope update i przekaż --key-source
parametr z wartością Microsoft.Storage
:
az storage account encryption-scope update \
--account-name <storage-account> \
--resource-group <resource-group>
--name <encryption-scope> \
--key-source Microsoft.Storage
Następnie wywołaj polecenie az storage account encryption-scope update , przekaż parametr i przekaż --key-uri
--key-source
parametr z wartością Microsoft.KeyVault
:
az storage account encryption-scope update \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Wyłącz wszelkie zakresy szyfrowania, które nie są potrzebne, aby uniknąć niepotrzebnych opłat. Aby uzyskać więcej informacji, zobacz Rozliczenia dla zakresów szyfrowania.