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 dati che risiedono nello stesso account di archiviazione, ma 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 insieme di credenziali delle chiavi o un modulo di protezione hardware gestito e aggiungere la chiave che si intende usare per l'ambito. L'insieme di credenziali delle chiavi o il modulo di protezione hardware gestito deve avere la protezione dell'eliminazione abilitata.
L'account di archiviazione e l'insieme di credenziali delle chiavi possono trovarsi nello stesso tenant o in tenant diversi. In entrambi i casi, l'account di archiviazione e l'insieme di credenziali delle chiavi possono trovarsi in aree 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 altre informazioni, vedere Fatturazione per gli ambiti di crittografia.
Per creare un ambito di crittografia nella portale di Azure, seguire questa procedura:
Passare 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 sono state selezionate chiavi gestite dal cliente, selezionare una sottoscrizione e specificare un insieme di credenziali delle chiavi e una chiave da usare per questo ambito di crittografia. Se l'insieme di credenziali delle chiavi desiderato si trova in un'area diversa, selezionare Invio URI 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 Az.Archiviazione PowerShell 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-Az Archiviazione EncryptionScope 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 insieme di credenziali delle chiavi o un modulo di protezione hardware gestito che si trova nello stesso tenant dell'account di archiviazione, configurare prima le chiavi gestite dal cliente per l'account di archiviazione. È necessario assegnare un'identità gestita all'account di archiviazione con autorizzazioni per accedere all'insieme di credenziali delle chiavi. 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 al ruolo utente Crittografia servizio di crittografia dell'insieme di credenziali delle chiavi il ruolo dell'identità gestita.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dall'eliminazione nell'insieme di credenziali delle 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-Az Archiviazione EncryptionScope 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 dell'insieme di credenziali delle chiavi 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 archiviato in un insieme di credenziali delle chiavi o in un modulo di protezione hardware gestito che si trova in un tenant diverso rispetto all'account di archiviazione, configurare prima le chiavi gestite dal cliente per l'account di archiviazione. È necessario configurare un'identità gestita assegnata dall'utente per l'account di archiviazione con autorizzazioni per accedere all'insieme di credenziali delle chiavi 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 dall'eliminazione nell'insieme di credenziali delle chiavi o nel modulo di protezione hardware gestito.
Dopo aver configurato chiavi gestite dal cliente tra tenant per l'account di archiviazione, è possibile creare un ambito di crittografia nell'account di archiviazione in un tenant con ambito una chiave in un insieme di credenziali delle chiavi nell'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 insieme di credenziali delle chiavi o un modulo di protezione hardware gestito che si trova nello stesso tenant dell'account di archiviazione, configurare prima le chiavi gestite dal cliente per l'account di archiviazione. È necessario assegnare un'identità gestita all'account di archiviazione con autorizzazioni per accedere all'insieme di credenziali delle chiavi. 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 al ruolo utente Crittografia servizio di crittografia dell'insieme di credenziali delle chiavi il ruolo dell'identità gestita.
Per configurare le chiavi gestite dal cliente per l'uso con un ambito di crittografia, è necessario abilitare la protezione dall'eliminazione nell'insieme di credenziali delle 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 costruito dalla proprietà vaultUri dell'insieme di credenziali delle chiavi 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 archiviato in un insieme di credenziali delle chiavi o in un modulo di protezione hardware gestito che si trova in un tenant diverso rispetto all'account di archiviazione, configurare prima le chiavi gestite dal cliente per l'account di archiviazione. È necessario configurare un'identità gestita assegnata dall'utente per l'account di archiviazione con autorizzazioni per accedere all'insieme di credenziali delle chiavi 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 dall'eliminazione nell'insieme di credenziali delle chiavi o nel modulo di protezione hardware gestito.
Dopo aver configurato chiavi gestite dal cliente tra tenant per l'account di archiviazione, è possibile creare un ambito di crittografia nell'account di archiviazione in un tenant con ambito una chiave in un insieme di credenziali delle chiavi nell'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 nella 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-Az Archiviazione EncryptionScope e passare il -StorageEncryption
parametro :
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Chiamare quindi il comando Update-Az Archiviazione EncryptionScope 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 --key-uri
parametro e passare il --key-source
parametro 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 altre informazioni, vedere Fatturazione per gli ambiti di crittografia.