Administración de las claves de acceso de la cuenta de almacenamiento

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.

Importante

Para una seguridad óptima, Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes contra datos de blob, cola y tabla, siempre que sea posible. La autorización con Microsoft Entra ID e identidades administradas proporciona más seguridad y facilidad de uso que la autorización con claves compartidas. Para más información sobre las identidades administradas, consulte ¿Qué son las identidades administradas para recursos de Azure? Para obtener un ejemplo de cómo habilitar y usar una identidad administrada para una aplicación .NET, consulte Autenticación de aplicaciones hospedadas en Azure para recursos de Azure con .NET.

En el caso de los recursos hospedados fuera de Azure, como las aplicaciones locales, puede usar identidades administradas a través de Azure Arc. Por ejemplo, las aplicaciones que se ejecutan en servidores habilitados para Azure Arc pueden usar identidades administradas para conectarse a los servicios de Azure. Para más información, consulte Autenticación en recursos de Azure con servidores habilitados para Azure Arc.

Para escenarios en los que se utilizan firmas de acceso compartido (SAS), Microsoft recomienda usar un SAS de delegación de usuario. Una SAS de delegación de usuarios está protegida con credenciales de Microsoft Entra en lugar de la clave de cuenta. Para obtener información sobre las firmas de acceso compartido, consulte Conceder acceso limitado a los datos con firmas de acceso compartido. Para ver un ejemplo de cómo crear y utilizar un SAS de delegación de usuario con .NET, consulte Crear un SAS de delegación de usuario para un blob con .NET.

Protección de las claves de acceso

Las claves de acceso de la cuenta de almacenamiento proporcionan acceso completo a los datos de la cuenta de almacenamiento y la capacidad de generar tokens de SAS. 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 completo a los datos de una cuenta de almacenamiento. El acceso a las claves compartidas debe estar cuidadosamente limitado y supervisado. Use tokens de SAS de delegación de usuario con alcance limitado de acceso en escenarios donde la autorización basada en Microsoft Entra ID no puede ser usada. 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.

Importante

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 con identidades administradas se debería usar en escenarios que admitan 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 obtener más información, consulte Impedir la autorización con clave compartida para una cuenta de Azure Storage.

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. Para obtener más información, vea Acceso de confianza para los recursos registrados en el inquilino de Microsoft Entra.

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.

    Captura de pantalla que muestra cómo ver las claves de acceso en Azure 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 Propietario, Colaborador y Rol de servicio del operador de claves de cuentas de almacenamiento. Para obtener más información sobre el rol de administrador de servicios, consulte Roles de Azure, roles de Azure AD y roles de administrador de la suscripción clásica. Para obtener información detallada sobre los roles integrados de RBAC para Azure Storage, consulte la sección Almacenamiento en Roles integrados de Azure para RBAC de Azure.

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. Para obtener más información sobre el uso de Key Vault en la administración de claves, consulte los siguientes artículos:

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.

Advertencia

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. Para más información, consulte Creación de una directiva de expiración de clave.

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 obtener más información, vea Comprobar si hay infracciones de directiva de expiración de claves.

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 Propietario, Colaborador y Rol de servicio del operador de claves de cuentas de almacenamiento. Para obtener más información sobre el rol de administrador de servicios, consulte Roles de Azure, roles de Azure AD y roles de administrador de la suscripción clásica. Para obtener información detallada sobre los roles integrados de Azure para Azure Storage, consulte la sección Almacenamiento en Roles integrados de Azure para Azure RBAC.

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.

Nota:

Antes de crear una directiva de expiración de claves, es posible que deba rotar cada una de las claves de acceso de la cuenta al menos una vez.

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 Set a reminder to rotate access keys (Establecer recordatorio de rotación), active la casilla Enable key rotation reminders (Habilitar recordatorios de rotación de claves) y establezca una frecuencia para el recordatorio.
  5. Seleccione Guardar.

Captura de pantalla que muestra cómo crear una directiva de expiración de claves en Azure Portal

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. Para obtener más información sobre la directiva integrada, vea Las claves de la cuenta de almacenamiento no deben haber expirado en Lista de definiciones de directiva integradas.

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.

    Captura de pantalla en la que se muestra cómo seleccionar la directiva integrada para supervisar intervalos de rotación de claves para las cuentas de almacenamiento

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

    Captura de pantalla en la que se muestra cómo crear la asignación de directiva

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. Puede buscar Las claves de la cuenta de almacenamiento no deben 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.

    Captura de pantalla en la que se muestra cómo ver el informe de compatibilidad para la directiva integrada de expiración de claves

Para que una cuenta de almacenamiento cumpla con los requisitos, rote las claves de acceso de la cuenta.

Pasos siguientes