Los ámbitos de cifrado permiten administrar el cifrado en un blob o contenedor individual. Se pueden usar ámbitos de cifrado para crear límites seguros entre los datos que residen en la misma cuenta de almacenamiento, pero que pertenecen a clientes distintos. Para obtener más información sobre los ámbitos de cifrado, vea Ámbitos de cifrado para Blob Storage.
En este artículo se muestra cómo crear un ámbito de cifrado. También se muestra cómo especificar un ámbito de cifrado al crear un blob o un contenedor.
Puede crear un ámbito de cifrado que esté protegido con una clave administrada por Microsoft o con una clave administrada por el cliente que se almacena en Azure Key Vault o en el modelo de seguridad de hardware (HSM) administrado de Azure Key Vault. Para crear un ámbito de cifrado con una clave administrada por el cliente, en primer lugar, debe crear un almacén de claves o un HSM administrado y agregar la clave que quiere usar para el ámbito. El almacén de claves o el HSM administrado deben tener habilitada la protección de purga.
La cuenta de almacenamiento y el almacén de claves pueden estar en el mismo inquilino o en inquilinos diferentes. En cualquier caso, la cuenta de almacenamiento y el almacén de claves pueden estar en regiones diferentes.
Un ámbito de cifrado se habilita automáticamente al crearlo. Después de crearlo, puede especificarlo al crear un blob. También se puede especificar un ámbito de cifrado predeterminado al crear un contenedor, que se aplica automáticamente a todos los blobs del contenedor.
Al configurar un ámbito de cifrado, se le factura por un mínimo de un mes (30 días). Después del primer mes, los cargos por un ámbito de cifrado se prorratean por hora. Para más información, consulte Facturación para ámbitos de cifrado.
Para crear un ámbito de cifrado en Azure Portal, siga estos pasos:
Vaya a la cuenta de almacenamiento en Azure Portal.
En Seguridad y redes, seleccione Cifrado.
Seleccione la pestaña Ámbitos de cifrado.
Haga clic en el botón Agregar para agregar un ámbito de cifrado nuevo.
En el panel Crear un ámbito de cifrado, escriba un nombre para el ámbito nuevo.
Seleccione el tipo de compatibilidad de clave de cifrado deseado, ya sea Claves administradas por Microsoft o Claves administradas por el cliente.
- Si ha seleccionado Microsoft-managed keys (Claves administradas por Microsoft), haga clic en Crear para crear el ámbito de cifrado.
- Si ha seleccionado Claves administradas por el cliente, seleccione una suscripción y especifique un almacén de claves y una clave para usar en este ámbito de cifrado. Si el almacén de claves deseado está en otra región, seleccione Entrar URI de clave y especifique el URI de clave.
Si el cifrado de infraestructura está habilitado para la cuenta de almacenamiento, se habilitará automáticamente para el ámbito de cifrado nuevo. De lo contrario, puede elegir si desea habilitar el cifrado de infraestructura para el ámbito de cifrado.
Para crear un ámbito de cifrado con PowerShell, instale la versión 3.4.0 del módulo Az.Storage de PowerShell, o una posterior.
Creación de un ámbito de cifrado protegido mediante claves administradas por Microsoft
Para crear un ámbito de cifrado protegido por claves administradas por Microsoft, llame al comando New-AzStorageEncryptionScope con el parámetro -StorageEncryption
.
Si el cifrado de infraestructura está habilitado para la cuenta de almacenamiento, se habilitará automáticamente para el ámbito de cifrado nuevo. De lo contrario, puede elegir si desea habilitar el cifrado de infraestructura para el ámbito de cifrado. Para crear el ámbito nuevo con el cifrado de infraestructura habilitado, incluya el parámetro -RequireInfrastructureEncryption
.
No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-StorageEncryption
Creación de un ámbito de cifrado protegido por claves administradas por el cliente en el mismo inquilino
Para crear un ámbito de cifrado protegido por claves administradas por el cliente almacenadas en un almacén de claves o HSM administrado que se encuentra en el mismo inquilino que la cuenta de almacenamiento, configure primero las claves administradas por el cliente para la cuenta de almacenamiento. Debe asignar una identidad administrada a la cuenta de almacenamiento que tenga permisos para acceder al almacén de claves. La identidad administrada puede ser una identidad administrada asignada por el usuario o una identidad administrada asignada por el sistema. Para obtener más información sobre cómo configurar claves administradas por el cliente, consulte Configuración de claves administradas por el cliente en el mismo inquilino para una cuenta de almacenamiento existente.
Para conceder los permisos de identidad administrada para acceder al almacén de claves, asigne la identidad administrada al rol Usuario de cifrado del servicio criptográfico de Key Vault.
Para configurar las claves administradas por el cliente para usarlas con un ámbito de cifrado, la protección de purga debe estar habilitada en el almacén de claves o en el HSM administrado.
En el ejemplo siguiente se muestra cómo configurar un ámbito de cifrado con una identidad administrada asignada por el sistema. No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
$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
Después, llame al comando New-AzStorageEncryptionScope con el parámetro -KeyvaultEncryption
y especifique el URI de la clave. La inclusión de la versión de la clave en el URI de clave es opcional. Si omite la versión de la clave, el ámbito de cifrado usará automáticamente la versión más reciente de la clave. Si incluye la versión de la clave, debe actualizarla manualmente para usar otra versión.
El formato del URI de clave es similar a los siguientes ejemplos y se puede construir a partir de la propiedad VaultUri del almacén de claves y el nombre de la clave:
# 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>
Si el cifrado de infraestructura está habilitado para la cuenta de almacenamiento, se habilitará automáticamente para el ámbito de cifrado nuevo. De lo contrario, puede elegir si desea habilitar el cifrado de infraestructura para el ámbito de cifrado. Para crear el ámbito nuevo con el cifrado de infraestructura habilitado, incluya el parámetro -RequireInfrastructureEncryption
.
No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
$keyUri = $keyVault.VaultUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Creación de un ámbito de cifrado protegido por claves administradas por el cliente en un inquilino diferente
Para crear un ámbito de cifrado protegido por claves administradas por el cliente almacenadas en un almacén de claves o HSM administrado que se encuentra en un inquilino diferente de la cuenta de almacenamiento, configure primero las claves administradas por el cliente para la cuenta de almacenamiento. Debe configurar una identidad administrada asignada por el usuario para la cuenta de almacenamiento que tenga permisos para acceder al almacén de claves en el otro inquilino. Para más información sobre cómo configurar las claves administradas por el cliente entre inquilinos, consulte Configuración de claves administradas por el cliente entre inquilinos para una cuenta de almacenamiento existente.
Para configurar las claves administradas por el cliente para usarlas con un ámbito de cifrado, la protección de purga debe estar habilitada en el almacén de claves o en el HSM administrado.
Después de configurar las claves administradas por el cliente entre inquilinos para la cuenta de almacenamiento, puede crear un ámbito de cifrado en la cuenta de almacenamiento de un inquilino cuyo ámbito sea una clave en un almacén de claves del otro inquilino. Necesitará el URI de clave para crear el ámbito de cifrado entre inquilinos.
No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
$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
Para crear un ámbito de cifrado con la CLI de Azure, instale primero la versión 2.20.0 de la CLI de Azure, o una posterior.
Creación de un ámbito de cifrado protegido mediante claves administradas por Microsoft
Para crear un ámbito de cifrado protegido por las claves administradas por Microsoft, llame al comando az storage account encryption-scope create especificando el parámetro --key-source
como Microsoft.Storage
.
Si el cifrado de infraestructura está habilitado para la cuenta de almacenamiento, se habilitará automáticamente para el ámbito de cifrado nuevo. De lo contrario, puede elegir si desea habilitar el cifrado de infraestructura para el ámbito de cifrado. Para crear el ámbito nuevo con el cifrado de infraestructura habilitado, incluya el parámetro --require-infrastructure-encryption
y establezca el valor en true
.
Recuerde reemplazar los valores de marcador de posición por los propios:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.Storage
Creación de un ámbito de cifrado protegido por claves administradas por el cliente en el mismo inquilino
Para crear un ámbito de cifrado protegido por claves administradas por el cliente almacenadas en un almacén de claves o HSM administrado que se encuentra en el mismo inquilino que la cuenta de almacenamiento, configure primero las claves administradas por el cliente para la cuenta de almacenamiento. Debe asignar una identidad administrada a la cuenta de almacenamiento que tenga permisos para acceder al almacén de claves. La identidad administrada puede ser una identidad administrada asignada por el usuario o una identidad administrada asignada por el sistema. Para obtener más información sobre cómo configurar claves administradas por el cliente, consulte Configuración de claves administradas por el cliente en el mismo inquilino para una cuenta de almacenamiento existente.
Para conceder los permisos de identidad administrada para acceder al almacén de claves, asigne la identidad administrada al rol Usuario de cifrado del servicio criptográfico de Key Vault.
Para configurar las claves administradas por el cliente para usarlas con un ámbito de cifrado, la protección de purga debe estar habilitada en el almacén de claves o en el HSM administrado.
En el ejemplo siguiente se muestra cómo configurar un ámbito de cifrado con una identidad administrada asignada por el sistema. No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
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
Después, llame al comando az storage account encryption-scope con el parámetro --key-uri
y especifique el URI de la clave. La inclusión de la versión de la clave en el URI de clave es opcional. Si omite la versión de la clave, el ámbito de cifrado usará automáticamente la versión más reciente de la clave. Si incluye la versión de la clave, debe actualizarla manualmente para usar otra versión.
El formato del URI de clave es similar a los ejemplos siguientes y se puede construir a partir de la propiedad vaultUri y el nombre de la clave:
# 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>
Si el cifrado de infraestructura está habilitado para la cuenta de almacenamiento, se habilitará automáticamente para el ámbito de cifrado nuevo. De lo contrario, puede elegir si desea habilitar el cifrado de infraestructura para el ámbito de cifrado. Para crear el ámbito nuevo con el cifrado de infraestructura habilitado, incluya el parámetro --require-infrastructure-encryption
y establezca el valor en true
.
No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
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>
Creación de un ámbito de cifrado protegido por claves administradas por el cliente en un inquilino diferente
Para crear un ámbito de cifrado protegido por claves administradas por el cliente almacenadas en un almacén de claves o HSM administrado que se encuentra en un inquilino diferente de la cuenta de almacenamiento, configure primero las claves administradas por el cliente para la cuenta de almacenamiento. Debe configurar una identidad administrada asignada por el usuario para la cuenta de almacenamiento que tenga permisos para acceder al almacén de claves en el otro inquilino. Para más información sobre cómo configurar las claves administradas por el cliente entre inquilinos, consulte Configuración de claves administradas por el cliente entre inquilinos para una cuenta de almacenamiento existente.
Para configurar las claves administradas por el cliente para usarlas con un ámbito de cifrado, la protección de purga debe estar habilitada en el almacén de claves o en el HSM administrado.
Después de configurar las claves administradas por el cliente entre inquilinos para la cuenta de almacenamiento, puede crear un ámbito de cifrado en la cuenta de almacenamiento de un inquilino cuyo ámbito sea una clave en un almacén de claves del otro inquilino. Necesitará el URI de clave para crear el ámbito de cifrado entre inquilinos.
No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
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>
Para ver los ámbitos de cifrado de una cuenta de almacenamiento en Azure Portal, vaya a la opción Ámbitos de cifrado de la cuenta de almacenamiento. En este panel, se puede habilitar un ámbito de cifrado, deshabilitarlo o cambiarle la clave.
Para ver los detalles de una clave administrada por el cliente, incluidos el URI y la versión de la clave y si la versión de la clave se actualiza automáticamente, siga el vínculo de la columna de Clave.
Para enumerar los ámbitos de cifrado disponibles para una cuenta de almacenamiento con PowerShell, llame al comando Get-AzStorageEncryptionScope. No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
Get-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName
Para enumerar todos los ámbitos de cifrado de un grupo de recursos por cuenta de almacenamiento, use la sintaxis de canalización:
Get-AzStorageAccount -ResourceGroupName $rgName | Get-AzStorageEncryptionScope
Para enumerar los ámbitos de cifrado disponibles para una cuenta de almacenamiento con la CLI de Azure, llame al comando az storage account encryption-scope list. No olvide reemplazar los valores del marcador de posición en el ejemplo por los propios:
az storage account encryption-scope list \
--account-name <storage-account> \
--resource-group <resource-group>
Al crear un contenedor, se puede especificar un ámbito de cifrado predeterminado. De forma predeterminada, los blobs de ese contenedor usarán ese ámbito.
Se puede crear un blob individual con su propio ámbito de cifrado, a menos que el contenedor esté configurado de tal forma que requiera que todos los blobs usen el ámbito predeterminado. Para obtener más información, consulte Ámbitos de cifrado para contenedores y blobs.
Si un cliente intenta especificar un ámbito al cargar un blob en un contenedor que tiene un ámbito de cifrado predeterminado y el contenedor está configurado para evitar que los blobs invaliden el ámbito predeterminado, se produce un error en la operación con un mensaje que indica que la directiva de cifrado del contenedor prohíbe la solicitud.
Al cargar un blob, puede especificar un ámbito de cifrado para ese blob o usar el ámbito de cifrado predeterminado para el contenedor, si se ha especificado uno.
Para cambiar la clave que protege un ámbito de cifrado de una clave administrada por Microsoft a una clave administrada por el cliente, primero debe asegurarse de que ha habilitado las claves administradas por el cliente con Azure Key Vault o HSM de Key Vault para la cuenta de almacenamiento. Para más información, consulte Configuración del cifrado con claves administradas por el cliente almacenadas en Azure Key Vault.
Para cambiar la clave que protege un ámbito en Azure Portal, siga estos pasos:
- Vaya a la pestaña Ámbitos de cifrado para ver la lista de ámbitos de cifrado de la cuenta de almacenamiento.
- Seleccione el botón Más situado junto al ámbito que quiera modificar.
- En el panel Edit encryption scope (Editar ámbito de cifrado), se puede cambiar el tipo de cifrado de clave administrada por Microsoft a clave administrada por el cliente, o viceversa.
- Para seleccionar una nueva clave administrada por el cliente, seleccione Usar una nueva clave y especifique el almacén de claves, la clave y la versión de la clave.
Para cambiar la clave que protege un ámbito de cifrado de una clave administrada por el cliente a una clave administrada por Microsoft con PowerShell, llame al comando Update-AzStorageEncryptionScope y pase el parámetro -StorageEncryption
:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Después, llame al comando Update-AzStorageEncryptionScope y pase los parámetros -KeyUri
y -KeyvaultEncryption
:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-KeyUri $keyUri `
-KeyvaultEncryption
Para cambiar la clave que protege un ámbito de cifrado de una clave administrada por el cliente a una clave administrada por Microsoft con la CLI de Azure, llame al comando az storage account encryption-scope update y pase el parámetro --key-source
con el valor Microsoft.Storage
:
az storage account encryption-scope update \
--account-name <storage-account> \
--resource-group <resource-group>
--name <encryption-scope> \
--key-source Microsoft.Storage
Después, llame al comando az storage account encryption-scope update, pase el parámetro --key-uri
y también el parámetro --key-source
con el valor 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>
Deshabilite los ámbitos de cifrado que no sean necesarios para evitar cargos innecesarios. Para más información, consulte Facturación para ámbitos de cifrado.