Creación de una cuenta que admita las claves administradas por el cliente para tablas y colasCreate an account that supports customer-managed keys for tables and queues

Azure Storage cifra todos los datos de las cuentas de almacenamiento en reposo.Azure Storage encrypts all data in a storage account at rest. De forma predeterminada, Queue Storage y Table Storage usan una clave cuyo ámbito es el servicio y que administra Microsoft.By default, Queue storage and Table storage use a key that is scoped to the service and managed by Microsoft. También puede optar por usar las claves administradas por el cliente para cifrar los datos de la cola o la tabla.You can also opt to use customer-managed keys to encrypt queue or table data. Para usar claves administradas por el cliente con colas y tablas, primero debe crear una cuenta de almacenamiento que use una clave de cifrado cuyo ámbito sea la cuenta, en lugar del servicio.To use customer-managed keys with queues and tables, you must first create a storage account that uses an encryption key that is scoped to the account, rather than to the service. Después de crear una cuenta que use la clave de cifrado de la cuenta para los datos de la cola y la tabla, puede configurar las claves administradas por el cliente para esa cuenta de almacenamiento.After you have created an account that uses the account encryption key for queue and table data, you can configure customer-managed keys for that storage account.

En este artículo se describe cómo crear una cuenta de almacenamiento que se basa en una clave cuyo ámbito es la cuenta.This article describes how to create a storage account that relies on a key that is scoped to the account. Cuando la cuenta se crea por primera vez, Microsoft usa la clave de cuenta para cifrar los datos de la cuenta y administra la clave.When the account is first created, Microsoft uses the account key to encrypt the data in the account, and Microsoft manages the key. Posteriormente, puede configurar las claves administradas por el cliente para la cuenta con el fin de aprovechar estas ventajas, incluida la capacidad de proporcionar sus propias claves, actualizar la versión de la clave, rotar las claves y revocar los controles de acceso.You can subsequently configure customer-managed keys for the account to take advantage of those benefits, including the ability to provide your own keys, update the key version, rotate the keys, and revoke access controls.

Sobre la característicaAbout the feature

Para crear una cuenta de almacenamiento que se base en la clave de cifrado de la cuenta para Queue Storage y Table Storage, primero debe registrarse para poder usar esta característica con Azure.To create a storage account that relies on the account encryption key for Queue and Table storage, you must first register to use this feature with Azure. Debido a la capacidad limitada, tenga en cuenta que puede tardar varios meses antes de que se aprueben las solicitudes de acceso.Due to limited capacity, be aware that it may take several months before requests for access are approved.

Puede crear una cuenta de almacenamiento que se base en la clave de cifrado de la cuenta para Queue Storage y Table Storage en las siguientes regiones:You can create a storage account that relies on the account encryption key for Queue and Table storage in the following regions:

  • Este de EE. UU.East US
  • Centro-sur de EE. UU.South Central US
  • Oeste de EE. UU. 2West US 2

Registro para usar la clave de cifrado de la cuentaRegister to use the account encryption key

Para registrarse para usar la clave de cifrado de la cuenta con Queue Storage o Table Storage, use PowerShell o la CLI de Azure.To register to use the account encryption key with Queue or Table storage, use PowerShell or Azure CLI.

Para registrarse con PowerShell, llame al comando Register-AzProviderFeature.To register with PowerShell, call the Register-AzProviderFeature command.

Register-AzProviderFeature -ProviderNamespace Microsoft.Storage `
    -FeatureName AllowAccountEncryptionKeyForQueues
Register-AzProviderFeature -ProviderNamespace Microsoft.Storage `
    -FeatureName AllowAccountEncryptionKeyForTables

Comprobación del estado del registroCheck the status of your registration

Para comprobar el estado del registro de Queue Storage o Table Storage, use PowerShell o la CLI de Azure.To check the status of your registration for Queue or Table storage, use PowerShell or Azure CLI.

Para comprobar el estado del registro con PowerShell, llame al comando Get-AzProviderFeature.To check the status of your registration with PowerShell, call the Get-AzProviderFeature command.

Get-AzProviderFeature -ProviderNamespace Microsoft.Storage `
    -FeatureName AllowAccountEncryptionKeyForQueues
Get-AzProviderFeature -ProviderNamespace Microsoft.Storage `
    -FeatureName AllowAccountEncryptionKeyForTables

Repetición del registro del proveedor de recursos de Azure StorageRe-register the Azure Storage resource provider

Una vez aprobado el registro, debe volver a registrar el proveedor de recursos de Azure Storage.After your registration is approved, you must re-register the Azure Storage resource provider. Use PowerShell o la CLI de Azure para volver a registrar el proveedor de recursos.Use PowerShell or Azure CLI to re-register the resource provider.

Para volver a registrar el proveedor de recursos con PowerShell, llame al comando Register-AzResourceProvider.To re-register the resource provider with PowerShell, call the Register-AzResourceProvider command.

Register-AzResourceProvider -ProviderNamespace 'Microsoft.Storage'

Creación de una cuenta que use la clave de cifrado de la cuentaCreate an account that uses the account encryption key

Debe configurar una nueva cuenta de almacenamiento para usar la clave de cifrado de la cuenta para las colas y tablas en el momento de crear la cuenta de almacenamiento.You must configure a new storage account to use the account encryption key for queues and tables at the time that you create the storage account. El ámbito de la clave de cifrado no se puede cambiar una vez creada la cuenta.The scope of the encryption key cannot be changed after the account is created.

La cuenta de almacenamiento debe ser de tipo de uso general v2.The storage account must be of type general-purpose v2. Puede crear la cuenta de almacenamiento y configurarla para que se base en la clave de cifrado de la cuenta mediante la CLI de Azure o una plantilla de Azure Resource Manager.You can create the storage account and configure it to rely on the account encryption key by using either Azure CLI or an Azure Resource Manager template.

Nota

Solo puede configurar Queue Storage y Table Storage para cifrar datos con la clave de cifrado de la cuenta cuando se crea la cuenta de almacenamiento.Only Queue and Table storage can be optionally configured to encrypt data with the account encryption key when the storage account is created. Blob Storage y Azure Files siempre usan la clave de cifrado de la cuenta para cifrar los datos.Blob storage and Azure Files always use the account encryption key to encrypt data.

Para usar PowerShell para crear una cuenta de almacenamiento que utilice la clave de cifrado de la cuenta, asegúrese de haber instalado la versión 3.4.0 del módulo de Azure PowerShell, o cualquier versión posterior.To use PowerShell to create a storage account that relies on the account encryption key, make sure you have installed the Azure PowerShell module, version 3.4.0 or later. Para más información, consulte el artículo en el que se indica cómo instalar el módulo de Azure PowerShell.For more information, see Install the Azure PowerShell module.

A continuación, cree una cuenta de almacenamiento de uso general v2. Para ello, debe llamar al comando New-AzStorageAccount, con los parámetros adecuados:Next, create a general-purpose v2 storage account by calling the New-AzStorageAccount command, with the appropriate parameters:

  • Incluya la opción -EncryptionKeyTypeForQueue y establezca su valor en Account a fin de usar la clave de cifrado de la cuenta para cifrar los datos en Queue Storage.Include the -EncryptionKeyTypeForQueue option and set its value to Account to use the account encryption key to encrypt data in Queue storage.
  • Incluya la opción -EncryptionKeyTypeForTable y establezca su valor en Account a fin de usar la clave de cifrado de la cuenta para cifrar los datos en Table Storage.Include the -EncryptionKeyTypeForTable option and set its value to Account to use the account encryption key to encrypt data in Table storage.

En el ejemplo siguiente se muestra cómo crear una cuenta de almacenamiento de uso general v2 configurada para el almacenamiento con redundancia geográfica con acceso de lectura (RA-GRS) y que usa la clave de cifrado de la cuenta para cifrar los datos tanto de Queue Storage como de Table Storage.The following example shows how to create a general-purpose v2 storage account that is configured for read-access geo-redundant storage (RA-GRS) and that uses the account encryption key to encrypt data for both Queue and Table storage. No olvide reemplazar los valores del marcador de posición entre corchetes con sus propios valores:Remember to replace the placeholder values in brackets with your own values:

New-AzStorageAccount -ResourceGroupName <resource_group> `
    -AccountName <storage-account> `
    -Location <location> `
    -SkuName "Standard_RAGRS" `
    -Kind StorageV2 `
    -EncryptionKeyTypeForTable Account `
    -EncryptionKeyTypeForQueue Account

Después de crear una cuenta que se base en la clave de cifrado de cuenta, puede configurar las claves administradas por el cliente que se almacenan en Azure Key Vault o en el modelo de seguridad de hardware administrado de Key Vault (HSM) (versión preliminar).After you have created an account that relies on the account encryption key, you can configure customer-managed keys that are stored in Azure Key Vault or in Key Vault Managed Hardware Security Model (HSM) (preview). Para obtener información sobre cómo almacenar las claves administradas por el cliente en un almacén de claves, consulte Configuración del cifrado con claves que administra el cliente en Azure Key Vault.To learn how to store customer-managed keys in a key vault, see Configure encryption with customer-managed keys stored in Azure Key Vault. Para obtener información sobre cómo almacenar las claves administradas por el cliente en un HSM administrado, consulte Configuración del cifrado con claves que administra el cliente en HSM administrado de Azure Key Vault (versión preliminar).To learn how to store customer-managed keys in a managed HSM, see Configure encryption with customer-managed keys stored in Azure Key Vault Managed HSM (preview).

Verificación de la clave de cifrado de la cuentaVerify the account encryption key

Para verificar que un servicio de una cuenta de almacenamiento usa la clave de cifrado de la cuenta, llame al comando az storage account de la CLI de Azure.To verify that a service in a storage account is using the account encryption key, call the Azure CLI az storage account command. Este comando devuelve un conjunto de propiedades de la cuenta de almacenamiento y sus valores.This command returns a set of storage account properties and their values. Busque el campo keyType de cada servicio dentro de la propiedad de cifrado y verifique que esté establecido en Account.Look for the keyType field for each service within the encryption property and verify that it is set to Account.

Para comprobar que un servicio de una cuenta de almacenamiento usa la clave de cifrado de la cuenta, llame al comando Get-AzStorageAccount.To verify that a service in a storage account is using the account encryption key, call the Get-AzStorageAccount command. Este comando devuelve un conjunto de propiedades de la cuenta de almacenamiento y sus valores.This command returns a set of storage account properties and their values. Busque el campo KeyType en cada servicio dentro de la propiedad Encryption y compruebe que esté establecida en Account.Look for the KeyType field for each service within the Encryption property and verify that it is set to Account.

$account = Get-AzStorageAccount -ResourceGroupName <resource-group> `
    -StorageAccountName <storage-account>
$account.Encryption.Services.Queue
$account.Encryption.Services.Table

Pasos siguientesNext steps