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.

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 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.

Importante

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 obtener más información sobre el uso de la autorización de Microsoft Entra desde las aplicaciones, consulte Cómo autenticar aplicaciones .NET con servicios de Azure. En el caso de los recursos compartidos de archivos SMB de Azure, Microsoft recomienda usar la integración de Active Directory Domain Services (AD DS) local 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 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 detalles, consulte Acceso de confianza para los recursos registrados en su suscripción.

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.

    Screenshot showing how to view access keys in the 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.

Screenshot showing how to create a key expiration policy in the 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.

    Screenshot showing how to select the built-in policy to monitor key rotation intervals for your storage accounts

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

    Screenshot showing how to create the policy assignment

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.

    Screenshot showing how to view the compliance report for the key expiration built-in policy

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

Pasos siguientes