Gli ambiti di crittografia consentono di gestire la crittografia a livello di singolo BLOB o contenitore. È possibile usare gli ambiti di crittografia per creare limiti sicuri tra i dati che risiedono nello stesso account di archiviazione, ma che appartengono a clienti diversi. Per altre informazioni sugli ambiti di crittografia, vedere Ambiti di crittografia per l'archiviazione BLOB.
Questo articolo illustra come creare un ambito di crittografia. Illustra anche come specificare un ambito di crittografia quando si crea un BLOB o un contenitore.
È possibile creare un ambito di crittografia protetto con una chiave gestita da Microsoft o con una chiave gestita dal cliente archiviata in un insieme di credenziali delle chiavi di Azure o in un modello di protezione hardware gestito di Azure Key Vault. Per creare un ambito di crittografia con una chiave gestita dal cliente, è prima necessario creare un Key Vault o un HSM gestito, e aggiungere la chiave che si intende usare per l'ambito. La cassaforte delle chiavi o il modulo di protezione hardware gestito deve avere la protezione contro l'eliminazione abilitata.
L'account di archiviazione e l'insieme di credenziali possono essere nello stesso tenant o in tenant diversi. In entrambi i casi, l'account di archiviazione e il Key Vault possono trovarsi in regioni diverse.
Un ambito di crittografia viene abilitato automaticamente quando viene creato. Dopo aver creato l'ambito di crittografia, è possibile specificarlo quando si crea un BLOB. È anche possibile specificare un ambito di crittografia predefinito quando si crea un contenitore, che si applica automaticamente a tutti i BLOB nel contenitore.
Quando si configura un ambito di crittografia, viene addebitato un minimo di un mese (30 giorni). Dopo il primo mese, gli addebiti per un ambito di crittografia vengono ripartiti su base oraria. Per ulteriori informazioni, vedere Fatturazione degli ambiti di crittografia.
Per creare un ambito di crittografia nel portale di Azure, seguire questa procedura:
Vai all'account di archiviazione nel portale di Azure.
In Sicurezza e rete selezionare Crittografia.
Selezionare la scheda Ambiti di crittografia .
Fare clic sul pulsante Aggiungi per aggiungere un nuovo ambito di crittografia.
Nel riquadro Crea ambito di crittografia immettere un nome per il nuovo ambito.
Selezionare il tipo desiderato di supporto della chiave di crittografia, chiavi gestite da Microsoft o Chiavi gestite dal cliente.
- Se sono state selezionate chiavi gestite da Microsoft, fare clic su Crea per creare l'ambito di crittografia.
- Se hai selezionato chiavi gestite dal cliente, quindi seleziona una sottoscrizione e specifica un key vault e una chiave da utilizzare per questo ambito di crittografia. Se il key vault desiderato si trova in una regione diversa, selezionare Inserisci URI della chiave e specificare l'URI della chiave.
Se la crittografia dell'infrastruttura è abilitata per l'account di archiviazione, verrà abilitata automaticamente per il nuovo ambito di crittografia. In caso contrario, è possibile scegliere se abilitare la crittografia dell'infrastruttura per l'ambito di crittografia.
Per creare un ambito di crittografia con PowerShell, installare il modulo PowerShell Az.Storage versione 3.4.0 o successiva.
Creare un ambito di crittografia protetto da chiavi gestite da Microsoft
Per creare un ambito di crittografia protetto da chiavi gestite da Microsoft, chiamare il comando New-AzStorageEncryptionScope con il -StorageEncryption parametro .
Se la crittografia dell'infrastruttura è abilitata per l'account di archiviazione, verrà abilitata automaticamente per il nuovo ambito di crittografia. In caso contrario, è possibile scegliere se abilitare la crittografia dell'infrastruttura per l'ambito di crittografia. Per creare il nuovo ambito con la crittografia dell'infrastruttura abilitata, includere il -RequireInfrastructureEncryption parametro .
Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-StorageEncryption
Creare un ambito di crittografia protetto dalle chiavi gestite dal cliente nello stesso tenant
Per creare un ambito di crittografia protetto da chiavi gestite dal cliente, archiviato in un vault di chiavi o un HSM gestito, che si trova nello stesso tenant dell'account di archiviazione, è necessario innanzitutto configurare le chiavi gestite dal cliente per l'account di archiviazione. È necessario assegnare un'identità gestita all'account di archiviazione che ha le autorizzazioni per accedere al Key Vault. L'identità gestita può essere un'identità gestita assegnata dall'utente o un'identità gestita assegnata dal sistema. Per altre informazioni sulla configurazione delle chiavi gestite dal cliente, vedere Configurare chiavi gestite dal cliente nello stesso tenant per un account di archiviazione esistente.
Per concedere all'identità gestita le autorizzazioni per accedere all'insieme di credenziali delle chiavi, assegnare all'identità gestita il ruolo Utente del Servizio di Crittografia del Key Vault.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dalla cancellazione nell'archivio chiavi o nel modulo di protezione hardware gestito.
L'esempio seguente illustra come configurare un ambito di crittografia con un'identità gestita assegnata dal sistema. Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
$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
Chiamare quindi il comando New-AzStorageEncryptionScope con il -KeyvaultEncryption parametro e specificare l'URI della chiave. L'inclusione della versione della chiave nell'URI della chiave è facoltativa. Se si omette la versione della chiave, l'ambito di crittografia userà automaticamente la versione della chiave più recente. Se si include la versione della chiave, è necessario aggiornare manualmente la versione della chiave per usare una versione diversa.
Il formato dell'URI della chiave è simile agli esempi seguenti e può essere costruito dalla proprietà VaultUri del key vault e dal nome della chiave.
# 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>
Se la crittografia dell'infrastruttura è abilitata per l'account di archiviazione, verrà abilitata automaticamente per il nuovo ambito di crittografia. In caso contrario, è possibile scegliere se abilitare la crittografia dell'infrastruttura per l'ambito di crittografia. Per creare il nuovo ambito con la crittografia dell'infrastruttura abilitata, includere il -RequireInfrastructureEncryption parametro .
Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
$keyUri = $keyVault.VaultUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Creare un ambito di crittografia protetto da chiavi gestite dal cliente in un tenant diverso
Per creare un ambito di crittografia protetto da chiavi gestite dal cliente e archiviato in un Key Vault o in un modulo di sicurezza hardware (HSM) gestito, che si trova in un tenant diverso rispetto all'account di archiviazione, è necessario prima configurare le chiavi gestite dal cliente per l'account di archiviazione. È necessario configurare un'identità gestita assegnata dall'utente per l'account di archiviazione che abbia le autorizzazioni necessarie per accedere al Key Vault nell'altro tenant. Per altre informazioni sulla configurazione di chiavi gestite dal cliente tra tenant, vedere Configurare chiavi gestite dal cliente tra tenant per un account di archiviazione esistente.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dalla cancellazione nell'archivio chiavi o nel modulo di protezione hardware gestito.
Dopo aver configurato chiavi gestite dal cliente cross-tenant per l'account di archiviazione, è possibile creare un ambito di crittografia nell'account di archiviazione in un tenant collegato a una chiave in un Key Vault in un altro tenant. È necessario l'URI della chiave per creare l'ambito di crittografia tra tenant.
Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
$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
Per creare un ambito di crittografia con l'interfaccia della riga di comando di Azure, installare prima di tutto l'interfaccia della riga di comando di Azure versione 2.20.0 o successiva.
Creare un ambito di crittografia protetto da chiavi gestite da Microsoft
Per creare un ambito di crittografia protetto da chiavi gestite da Microsoft, chiamare il comando az storage account encryption-scope create , specificando il --key-source parametro come Microsoft.Storage.
Se la crittografia dell'infrastruttura è abilitata per l'account di archiviazione, verrà abilitata automaticamente per il nuovo ambito di crittografia. In caso contrario, è possibile scegliere se abilitare la crittografia dell'infrastruttura per l'ambito di crittografia. Per creare il nuovo ambito con la crittografia dell'infrastruttura abilitata, includere il parametro e impostarne il --require-infrastructure-encryption valore su true.
Ricordarsi di sostituire i valori segnaposto con valori personalizzati:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.Storage
Creare un ambito di crittografia protetto dalle chiavi gestite dal cliente nello stesso tenant
Per creare un ambito di crittografia protetto da chiavi gestite dal cliente, archiviato in un vault di chiavi o un HSM gestito, che si trova nello stesso tenant dell'account di archiviazione, è necessario innanzitutto configurare le chiavi gestite dal cliente per l'account di archiviazione. È necessario assegnare un'identità gestita all'account di archiviazione che ha le autorizzazioni per accedere al Key Vault. L'identità gestita può essere un'identità gestita assegnata dall'utente o un'identità gestita assegnata dal sistema. Per altre informazioni sulla configurazione delle chiavi gestite dal cliente, vedere Configurare chiavi gestite dal cliente nello stesso tenant per un account di archiviazione esistente.
Per concedere all'identità gestita le autorizzazioni per accedere all'insieme di credenziali delle chiavi, assegnare all'identità gestita il ruolo Utente del Servizio di Crittografia del Key Vault.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dalla cancellazione nell'archivio chiavi o nel modulo di protezione hardware gestito.
L'esempio seguente illustra come configurare un ambito di crittografia con un'identità gestita assegnata dal sistema. Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
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
Chiamare quindi il comando az storage account encryption-scope con il --key-uri parametro e specificare l'URI della chiave. L'inclusione della versione della chiave nell'URI della chiave è facoltativa. Se si omette la versione della chiave, l'ambito di crittografia userà automaticamente la versione della chiave più recente. Se si include la versione della chiave, è necessario aggiornare manualmente la versione della chiave per usare una versione diversa.
Il formato dell'URI della chiave è simile agli esempi seguenti e può essere composto dalla proprietà vaultUri del Key Vault e dal nome della chiave.
# 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>
Se la crittografia dell'infrastruttura è abilitata per l'account di archiviazione, verrà abilitata automaticamente per il nuovo ambito di crittografia. In caso contrario, è possibile scegliere se abilitare la crittografia dell'infrastruttura per l'ambito di crittografia. Per creare il nuovo ambito con la crittografia dell'infrastruttura abilitata, includere il parametro e impostarne il --require-infrastructure-encryption valore su true.
Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
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>
Creare un ambito di crittografia protetto da chiavi gestite dal cliente in un tenant diverso
Per creare un ambito di crittografia protetto da chiavi gestite dal cliente e archiviato in un Key Vault o in un modulo di sicurezza hardware (HSM) gestito, che si trova in un tenant diverso rispetto all'account di archiviazione, è necessario prima configurare le chiavi gestite dal cliente per l'account di archiviazione. È necessario configurare un'identità gestita assegnata dall'utente per l'account di archiviazione che abbia le autorizzazioni necessarie per accedere al Key Vault nell'altro tenant. Per altre informazioni sulla configurazione di chiavi gestite dal cliente tra tenant, vedere Configurare chiavi gestite dal cliente tra tenant per un account di archiviazione esistente.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dalla cancellazione nell'archivio chiavi o nel modulo di protezione hardware gestito.
Dopo aver configurato chiavi gestite dal cliente cross-tenant per l'account di archiviazione, è possibile creare un ambito di crittografia nell'account di archiviazione in un tenant collegato a una chiave in un Key Vault in un altro tenant. È necessario l'URI della chiave per creare l'ambito di crittografia tra tenant.
Ricordarsi di sostituire i valori segnaposto nell'esempio con i propri valori:
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>
Quando si crea un contenitore, è possibile specificare un ambito di crittografia predefinito. I BLOB in tale contenitore useranno tale ambito per impostazione predefinita.
È possibile creare un singolo BLOB con il proprio ambito di crittografia, a meno che il contenitore non sia configurato per richiedere che tutti i BLOB usino l'ambito predefinito. Per altre informazioni, vedere Ambiti di crittografia per contenitori e BLOB.
Se un client tenta di specificare un ambito durante il caricamento di un BLOB in un contenitore con ambito di crittografia predefinito e il contenitore è configurato per impedire ai BLOB di eseguire l'override dell'ambito predefinito, l'operazione non riesce con un messaggio che indica che la richiesta è vietata dai criteri di crittografia del contenitore.
Quando si carica un BLOB, è possibile specificare un ambito di crittografia per tale BLOB o usare l'ambito di crittografia predefinito per il contenitore, se ne è stato specificato uno.
Per modificare la chiave che protegge un ambito nel portale di Azure, seguire questa procedura:
- Passare alla scheda Ambiti di crittografia per visualizzare l'elenco degli ambiti di crittografia per l'account di archiviazione.
- Selezionare il pulsante Altro accanto all'ambito da modificare.
- Nel riquadro Modifica ambito di crittografia è possibile modificare il tipo di crittografia da Chiave gestita da Microsoft a chiave gestita dal cliente o viceversa.
- Per selezionare una nuova chiave gestita dal cliente, selezionare Usa una nuova chiave e specificare l'insieme di credenziali delle chiavi, la chiave e la versione della chiave.
Per modificare la chiave che protegge un ambito di crittografia da una chiave gestita dal cliente a una chiave gestita da Microsoft con PowerShell, chiamare il comando Update-AzStorageEncryptionScope e passare il -StorageEncryption parametro :
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Chiamare quindi il comando Update-AzStorageEncryptionScope e passare i -KeyUri parametri e -KeyvaultEncryption :
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-KeyUri $keyUri `
-KeyvaultEncryption
Per modificare la chiave che protegge un ambito di crittografia da una chiave gestita dal cliente a una chiave gestita da Microsoft con l'interfaccia della riga di comando di Azure, chiamare il comando az storage account encryption-scope update e passare il parametro con il --key-source valore Microsoft.Storage:
az storage account encryption-scope update \
--account-name <storage-account> \
--resource-group <resource-group>
--name <encryption-scope> \
--key-source Microsoft.Storage
Chiamare quindi il comando az storage account encryption-scope update, passare il parametro --key-uri e passare il parametro --key-source con il valore 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>
Disabilitare gli ambiti di crittografia non necessari per evitare addebiti non necessari. Per ulteriori informazioni, vedere Fatturazione degli ambiti di crittografia.