Administración del ciclo de vida de las claves de acceso de la cuenta de almacenamiento

Completado

Cuando se crea una cuenta de almacenamiento, Azure genera dos claves de acceso de cuenta de almacenamiento de 512 bits para esa cuenta. Estas claves se pueden usar para autorizar el acceso a los datos de su cuenta de almacenamiento mediante la autorización de clave compartida o tokens de SAS firmados con la clave compartida.

Microsoft recomienda usar Azure Key Vault para administrar las claves de acceso, así como rotar y volver a generar las claves de forma periódica. El uso de Azure Key Vault facilita la rotación de las claves sin ocasionar interrupciones en las aplicaciones. También puede rotar las claves de forma manual.

Protección de las claves de acceso

Las claves de acceso de la cuenta de almacenamiento proporcionan acceso total a la configuración de una cuenta de almacenamiento, así como a los datos. Siempre debe proteger las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura. El acceso a la clave compartida concede a un usuario acceso total a la configuración de una cuenta de almacenamiento y sus datos. El acceso a las claves compartidas debe estar cuidadosamente limitado y supervisado. Use tokens de firma de acceso compartido (SAS) con un ámbito limitado de acceso en escenarios en los que no se puede usar la autorización basada en Microsoft Entra ID. Evite codificar de forma rígida las claves de acceso o guardarlas en cualquier lugar en texto sin formato que sea accesible a otras personas. Rote las claves si cree que se pudieron haber puesto en peligro.

Microsoft recomienda usar Microsoft Entra ID para autorizar solicitudes de datos de blobs, colas y tablas si es posible, en lugar de usar las claves de cuenta (autorización con clave compartida). La autorización con Microsoft Entra ID proporciona más seguridad y facilidad de uso que la autorización con clave compartida. Para los recursos compartidos de archivos de Bloque de mensajes del servidor (SMB) de Azure, Microsoft recomienda utilizar la integración local de Active Directory Domain Services (AD DS) o la autenticación Kerberos de Microsoft Entra.

Para evitar que los usuarios accedan a los datos de la cuenta de almacenamiento con una clave compartida, puede impedir la autorización con clave compartida para la cuenta de almacenamiento. Se recomienda un acceso granular a los datos con privilegios mínimos necesarios como procedimiento recomendado de seguridad. La autorización basada en Microsoft Entra ID se debe usar para escenarios que admiten OAuth. Kerberos o SMTP se deben usar para Azure Files a través de SMB. Para Azure Files a través de REST, se pueden usar tokens de SAS. El acceso a la clave compartida debe deshabilitarse si no es necesario para evitar su uso accidental.

Para proteger una cuenta de Azure Storage con las directivas de acceso condicional de Microsoft Entra, no debe permitir la autorización de clave compartida para la cuenta de almacenamiento.

Si ha deshabilitado el acceso con claves compartidas y está viendo la autorización de clave compartida notificada en los registros de diagnóstico, esto indica que se usa el acceso de confianza para acceder al almacenamiento.

Visualización de claves de acceso de cuenta

Puede ver y copiar las claves de acceso a la cuenta con Azure Portal, PowerShell o la CLI de Azure. Azure Portal también proporciona una cadena de conexión para la cuenta de almacenamiento que puede copiar.

Para ver y copiar la cadena de conexión o las claves de acceso de la cuenta de almacenamiento desde Azure Portal:

  1. En Azure Portal, vaya a la cuenta de almacenamiento.

  2. En Seguridad y redes, seleccione Claves de acceso. Aparecen las claves de acceso de la cuenta, así como la cadena de conexión completa de cada clave.

  3. Seleccione Mostrar claves para mostrar las claves de acceso y las cadenas de conexión y habilitar los botones para copiar los valores.

  4. En key1, busque el valor de Clave. Seleccione el botón Copiar para copiar la clave de la cuenta.

  5. Como alternativa, puede copiar la cadena de conexión completa. En key1, busque el valor Cadena de conexión. Seleccione el botón Copiar para copiar la cadena correspondiente.

    Recorte de pantalla que muestra un ejemplo de la cadena de conexión del portal.

Puede utilizar cualquiera de las dos claves para acceder a Azure Storage, pero en general es recomendable usar la primera clave y reservar el uso de la segunda clave para cuando se roten las claves.

Para ver o leer las claves de acceso de una cuenta, el usuario debe ser un administrador de servicios o debe tener asignado un rol de Azure que incluya Microsoft.Storage/storageAccounts/listkeys/action. Algunos de los roles integrados de Azure que incluyen esta acción son los de Propietario, Colaborador y los Roles de servicio del operador de claves de cuentas de almacenamiento.

Uso de Azure Key Vault para administrar las claves de acceso

Microsoft recomienda usar Azure Key Vault para administrar y rotar las claves de acceso. La aplicación puede acceder de forma segura a las claves en Key Vault, de modo que puede evitar almacenarlas en el código de la aplicación.

Rotación manual de las claves de acceso

Microsoft recomienda rotar las claves de acceso periódicamente para ayudar a proteger la cuenta de almacenamiento. De ser posible, use Azure Key Vault para administrar las claves de acceso. Si no está usando Key Vault, deberá rotar las claves manualmente.

Para poder rotar las claves, se asignan dos claves de acceso. De este modo, se garantiza que la aplicación mantiene el acceso a Azure Storage a lo largo del proceso.

La regeneración de las claves de acceso puede afectar a aplicaciones o servicios de Azure que dependen de la clave de cuenta de almacenamiento. Los clientes que usan la clave de cuenta para acceder a la cuenta de almacenamiento se deben actualizar para usar la nueva clave, lo que incluye los servicios multimedia, las aplicaciones de nube, escritorio y móviles y las aplicaciones de interfaz gráfica de usuario de Azure Storage, como el Explorador de Azure Storage.

Además, la rotación o regeneración de claves de acceso revoca las firmas de acceso compartido (SAS) que se generan en función de esa clave. Después de la rotación de claves de acceso, debe volver a generar los tokens de SAS de cuenta y servicio para evitar interrupciones en las aplicaciones. Tenga en cuenta que los tokens SAS de delegación de usuarios están protegidos con credenciales de Microsoft Entra y no se ven afectados por la rotación de claves.

Si tiene previsto girar manualmente las claves de acceso, Microsoft recomienda establecer una directiva de expiración de claves.

Después de crear la directiva de expiración de claves, puede usar la directiva de Azure para supervisar si las claves de una cuenta de almacenamiento se han girado dentro del intervalo recomendado.

Para rotar las claves de acceso a la cuenta de almacenamiento en Azure Portal:

  1. Actualice las cadenas de conexión en el código de su aplicación para hacer referencia a la clave de acceso secundaria de la cuenta de almacenamiento.
  2. Vaya a la cuenta de almacenamiento en Azure Portal.
  3. En Seguridad y redes, seleccione Claves de acceso.
  4. Para regenerar la clave de acceso principal de la cuenta de almacenamiento, seleccione el botón Regenerar que se encuentra junto a la clave de acceso principal.
  5. Actualice las cadenas de conexión en su código para hacer referencia a la nueva clave de acceso primaria.
  6. Vuelva a generar la clave de acceso secundaria de la misma forma.

Precaución

Microsoft recomienda usar solo una de las claves en todas las aplicaciones al mismo tiempo. Si utiliza la Clave 1 en algunos lugares y la Clave 2 en otros, no podrá rotar las claves sin que alguna aplicación pierda el acceso.

Para rotar las claves de acceso de una cuenta, el usuario debe ser un administrador de servicios o debe tener asignado un rol de Azure que incluya Microsoft.Storage/storageAccounts/regeneratekey/Action. Algunos de los roles integrados de Azure que incluyen esta acción son los de Propietario, Colaborador y los Roles de servicio del operador de claves de cuentas de almacenamiento.

Creación de una directiva de expiración de clave

Una directiva de expiración de claves le permite establecer un aviso para rotar las claves de acceso de la cuenta. El aviso se muestra si ha transcurrido el intervalo especificado y las claves aún no se han rotado. Después de crear una directiva de expiración de clave, puede supervisar el cumplimiento de las cuentas de almacenamiento para asegurarse de que las claves de acceso a la cuenta se rotan periódicamente.

Para crear una directiva de expiración de claves en Azure Portal, haga lo siguiente:

  1. En Azure Portal, vaya a la cuenta de almacenamiento.

  2. En Seguridad y redes, seleccione Claves de acceso. Aparecen las claves de acceso de la cuenta, así como la cadena de conexión completa de cada clave.

  3. Seleccione el botón Establecer recordatorio de rotación. Si el botón Establecer recordatorio de rotación está atenuado, tendrá que rotar cada una de las claves. Siga los pasos descritos en Rotación manual de las claves de acceso para rotar las claves.

  4. En Establecer un recordatorio para rotar las claves de acceso, active la casilla Habilitar recordatorios de rotación de claves y establezca una frecuencia para el recordatorio.

  5. Seleccione Guardar.

    Recorte de pantalla que muestra cómo establecer un recordatorio para rotar las claves.

Comprobación de infracciones de la directiva de expiración de claves

Puede supervisar sus cuentas de almacenamiento con la directiva de Azure para asegurarse de que las claves de acceso a la cuenta se han rotado dentro del período recomendado. Azure Storage proporciona una directiva integrada para asegurarse de que las claves de acceso a la cuenta de almacenamiento no han expirado.

Asignación de la directiva integrada para un ámbito de recursos

Siga estos pasos para asignar la directiva integrada al ámbito adecuado en Azure Portal:

  1. En Azure Portal, busque Directiva para mostrar el panel Azure Policy.

  2. Seleccione Asignaciones en la sección Creación.

  3. Seleccione Asignar directiva.

  4. En la pestaña Conceptos básicos de la página Asignar directiva, en la sección Ámbito, especifique el ámbito de la asignación de directivas. Seleccione el botón Más para elegir la suscripción y el grupo de recursos opcional.

  5. Para el campo Definición de directiva, seleccione el botón Más y escriba las claves de cuenta de almacenamiento en el campo Buscar. Seleccione la definición de directiva denominada Las claves de la cuenta de almacenamiento no deben haber expirado.

    Recorte de pantalla que muestra un ejemplo de definición de directivas para asegurar que las claves de las cuentas de almacenamiento no caducan.

  6. Seleccione Revisar + crear para asignar la definición de directiva al ámbito especificado.

    Recorte de pantalla que muestra cómo asignar la directiva integrada para un ámbito de recursos.

Supervisión del cumplimiento de la directiva de expiración clave

Para supervisar el cumplimiento de las cuentas de almacenamiento con la directiva de expiración de claves, siga estos pasos:

  1. En el panel Azure Policy, busque la definición de directiva integrada para el ámbito especificado en la asignación de directivas. Es posible buscar Claves de cuenta de almacenamiento; no debería haber expirado en el cuadro Buscar para filtrar la directiva integrada.

  2. Seleccione el nombre de la directiva con el ámbito deseado.

  3. En la página Asignación de directivas de la directiva integrada, seleccione Ver compatibilidad. Todas las cuentas de almacenamiento de la suscripción y del grupo de recursos especificados que no cumplen los requisitos de la directiva aparecen en el informe de cumplimiento. Para que una cuenta de almacenamiento cumpla con los requisitos, rote las claves de acceso de la cuenta.

    Recorte de pantalla que muestra el portal de informes de cumplimiento de directivas.