Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar una firma de acceso compartido (SAS) para delegar el acceso a los recursos a su cuenta de Azure Storage. Un token de SAS incluye el recurso de destino, los permisos concedidos y el intervalo durante el cual se permite el acceso. Los procedimientos recomendados sugieren limitar el intervalo de una SAS en caso de que se vea comprometida. Al establecer una directiva de expiración de SAS para las cuentas de almacenamiento, puede recomendar o aplicar un límite de expiración superior (intervalo máximo de validez) cuando un usuario crea una SAS de delegación de usuarios, una SAS de servicio o una SAS de cuenta.
Para obtener más información sobre las firmas de acceso compartido, consulte Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido (SAS).
Importante
En escenarios en los que se utilizan firmas de acceso compartido, Microsoft recomienda usar una SAS de delegación de usuarios. Una SAS de delegación de usuarios se protege con credenciales de Microsoft Entra en lugar de la clave de cuenta, lo que proporciona una seguridad superior.
Acerca de las directivas de expiración de SAS
Puede configurar una directiva de expiración de SAS para la cuenta de almacenamiento. La directiva de expiración de SAS especifica el límite superior para el intervalo de validez en una SAS de delegación de usuarios, una SAS de servicio o una SAS de cuenta. El límite superior se especifica como un valor de fecha y hora que es un número combinado de días, horas, minutos y segundos.
El intervalo de validez de la firma SAS se calcula restando el valor de fecha y hora del campo de inicio firmado al valor de fecha y hora del campo de expiración firmado. Si el valor resultante es menor o igual que el límite superior recomendado, la firma SAS cumple la directiva de expiración de SAS.
Cuando una directiva de expiración de SAS está en vigor para la cuenta de almacenamiento, se requiere el campo de inicio firmado para cada firma SAS. Si el campo de inicio firmado no está incluido en la firma SAS y ha configurado una opción de diagnóstico para la elaboración de registros con Azure Monitor, Azure Storage escribe un mensaje en la propiedad SasExpiryStatus en los registros cada vez que un usuario usa una firma SAS sin un valor para el campo de inicio firmado.
Después de configurar la directiva de expiración de SAS, cualquier usuario que cree una SAS con un intervalo que supere el límite superior recomendado verá una advertencia, junto con el intervalo máximo recomendado.
Definir la acción de expiración de SAS
La directiva de expiración de SAS admite dos acciones:
[Valor predeterminado] Registro: Se permiten solicitudes realizadas con SAS fuera de directiva. Si ha configurado una opción de diagnóstico para la elaboración de registros con Azure Monitor, Azure Storage escribe un mensaje en la propiedad SasExpiryStatus en los registros cada vez que un usuario usa una firma SAS que expira después del intervalo recomendado. El mensaje indica que el intervalo de validez de la firma SAS supera el intervalo recomendado. Esta opción se recomienda para supervisar y auditar el acceso sin interrumpir los flujos de trabajo.
Bloquear: Se deniegan las solicitudes realizadas con SAS fuera de directiva. Esta es la opción más estricta para aplicar controles de acceso en línea con los requisitos de la organización.
SaS fuera de directiva son aquellos que no tienen un inicio firmado o tienen un intervalo de validez mayor que el límite superior.
Empiece por revisar el uso actual del token de SAS y establecer una directiva de expiración adecuada para las cuentas de almacenamiento. Se recomienda comenzar con la acción Registro para supervisar los registros de diagnóstico de infracciones de directivas. Se recomienda encarecidamente usar la acción Bloquear para asegurarse de que si un token de SAS ha superado la validez del período de expiración establecido en la cuenta de almacenamiento, se debe bloquear el acceso al almacenamiento.
Importante
La acción de expiración de SAS no se admite para saS de delegación de usuarios a través del punto de conexión de HDFS o las firmas de acceso compartido de nivel de servicio con una directiva de acceso almacenada.
Configuración de una directiva de expiración de SAS
Al configurar una directiva de expiración de SAS en una cuenta de almacenamiento, la directiva se aplica a cada tipo de SAS: SAS de delegación de usuarios, SAS de servicios y SAS de cuentas. Los tipos SAS de servicios y SAS de cuentas están firmados con la clave de cuenta, mientras que la SAS de delegación de usuarios está firmada con las credenciales de Microsoft Entra.
Una SAS de delegación de usuarios se firma con una clave de delegación de usuarios, que se obtiene mediante las credenciales de Microsoft Entra. La clave de delegación de usuarios tiene su propio intervalo de expiración que no está sujeto a la directiva de expiración de SAS. La directiva de expiración de SAS solo se aplica a la SAS de delegación de usuarios, no a la clave de delegación de usuarios con la que está firmada.
Una SAS de delegación de usuarios tiene un intervalo de expiración máximo de 7 días, independientemente de la directiva de expiración de SAS. Si la directiva de expiración de SAS se establece en un valor superior a 7 días, la directiva no tiene ningún efecto para una SAS de delegación de usuarios. Si la clave de delegación de usuarios expira, cualquier SAS de delegación de usuarios firmada con esa clave no es válida y cualquier intento de usar la SAS devuelve un error.
Azure File Sync requiere un intervalo de expiración de SAS mínimo de 3 días. La configuración del límite superior para el intervalo de expiración de SAS a menos de 3 días impide que el agente de File Sync renueve su token de SAS, lo que interrumpe las operaciones de sincronización y recuperación en la nube. Establezca el límite superior en 3 días o superior.
¿Es necesario rotar primero las claves de acceso de la cuenta?
Esta sección se aplica a los tipos SAS de servicios y SAS de cuentas, que están firmados con la clave de cuenta. Antes de configurar una directiva de expiración de SAS, es posible que deba rotar cada una de las claves de acceso de la cuenta al menos una vez. Si la propiedad keyCreationTime de la cuenta de almacenamiento tiene un valor null para cualquiera de las claves de acceso de la cuenta (key1 y key2), deberá rotarlas. Para determinar si la propiedad keyCreationTime es NULL, consulte Obtención la hora de creación de las claves de acceso de la cuenta para una cuenta de almacenamiento. Si intenta configurar una directiva de expiración de SAS y las claves deben rotarse primero, se produce un error en la operación.
Configuración de una directiva de expiración de SAS
Puede configurar una directiva de expiración de SAS mediante Azure Portal, PowerShell o la CLI de Azure.
Para configurar una directiva de expiración de SAS en Azure Portal, siga estos pasos:
Vaya a la cuenta de almacenamiento en Azure Portal.
En Configuración, seleccione Configuración.
Busque la configuración de directiva de expiración de firma de acceso compartido (SAS) y establézcala en Habilitado.
Nota:
Si la configuración está atenuada, es posible que tenga que rotar ambas claves de acceso de cuenta para poder establecer una directiva de expiración.
Especifique un valor de tiempo bajo Límite superior para el intervalo de expiración de SAS para el intervalo máximo deseado para las nuevas firmas de acceso compartido que se crean en los recursos de esta cuenta de almacenamiento.
[Opcional] Defina la acción de expiración. La acción de registro predeterminada le ayuda a detectar tendencias e investigar el acceso sin interrumpir a los usuarios, mientras que la acción Bloquear le permite aplicar tolerancia cero a los tokens saS fuera de directiva.
Haga clic en Guardar para guardar los cambios.
Consulta de registros de infracciones de la directiva
Para registrar el uso de una SAS que sea válida durante un intervalo más largo del que recomienda la directiva de expiración de SAS, cree primero una configuración de diagnóstico que envíe registros a un área de trabajo de Azure Log Analytics. Para más información, consulte Enviar registros a Azure Log Analytics.
A continuación, use una consulta de registro de Azure Monitor de registro para comprobar si se ha infringido la directiva. Cree una nueva consulta en el área de trabajo de Log Analytics, agregue el siguiente texto de consulta y presione Ejecutar.
StorageBlobLogs
| where SasExpiryStatus startswith "Policy violated"
| summarize count() by AccountName, SasExpiryStatus
Uso de una directiva integrada para supervisar el cumplimiento
Puede supervisar sus cuentas de almacenamiento con Azure Policy para asegurarse de que las cuentas de almacenamiento de su suscripción tienen directivas de expiración de SAS configuradas. Azure Storage proporciona una directiva integrada para garantizar que las cuentas tengan definida esta configuración. Para obtener más información sobre la directiva integrada, consulte Las cuentas de almacenamiento deben tener directivas de firma de acceso compartido (SAS) configuradas en la lista de definiciones de directivas 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:
En Azure Portal, busque Directiva para mostrar el panel Azure Policy.
Seleccione Asignaciones en la sección Creación.
Seleccione Asignar directiva.
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.
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.
Seleccione Revisar + crear para asignar la definición de directiva al ámbito especificado.
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:
En el panel Azure Policy, busque la definición de directiva integrada para el ámbito especificado en la asignación de directivas. Puede buscar
Storage accounts should have shared access signature (SAS) policies configureden el cuadro Buscar para filtrar la directiva integrada.Seleccione el nombre de la directiva con el ámbito deseado.
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.
A fin de lograr el cumplimiento de una cuenta de almacenamiento, configure una directiva de expiración de SAS para esa cuenta, tal como se describe en Configuración de una directiva de expiración de SAS.
Consulte también
- Grant limited access to Azure Storage resources using shared access signatures (SAS) (Otorgar acceso limitado a recursos de Azure Storage con firmas de acceso compartido [SAS])
- Create a service SAS (Creación de una SAS de servicio)
- Creación de una SAS de cuenta