Individuare le firme di accesso condiviso

Completato

Una firma di accesso condiviso è un URI con firma che punta a una o più risorse di archiviazione e include un token che contiene un set di parametri di query speciale. Il token indica in che modo il client può accedere alle risorse. Uno dei parametri di query, ovvero la firma, viene creato dai parametri della firma di accesso condiviso e viene firmato con la chiave usata per creare la firma di accesso condiviso. Questa firma viene usata da Archiviazione di Azure per autorizzare l'accesso alla risorsa di archiviazione.

Tipi di firme di accesso condiviso

Archiviazione di Azure supporta tre tipi di firme di accesso condiviso:

  • Firma di accesso condiviso di delega utente: Una firma di accesso condiviso di delega utente è protetta con le credenziali di Microsoft Entra e anche dalle autorizzazioni specificate per la firma di accesso condiviso. Una firma di accesso condiviso di delega utente si applica solo all'archiviazione BLOB.

  • Firma di accesso condiviso del servizio: una firma di accesso condiviso del servizio è protetta con la chiave dell'account di archiviazione. Una firma di accesso condiviso del servizio delega l'accesso a una risorsa nei servizi di Archiviazione di Azure seguenti: archiviazione BLOB, archiviazione code, archiviazione tabelle o File di Azure.

  • Firma di accesso condiviso dell'account: una firma di accesso condiviso dell'account è protetta con la chiave dell'account di archiviazione. Una firma di accesso condiviso dell'account delega l'accesso alle risorse in uno o più servizi di archiviazione. Tutte le operazioni disponibili tramite una firma di accesso condiviso del servizio o di delega utente sono disponibili anche tramite una firma di accesso condiviso dell'account.

Nota

Microsoft raccomanda di usare le credenziali di Microsoft Entra, quando è possibile, come procedura consigliata per la sicurezza, invece di usare la chiave dell'account, che può essere compromessa più facilmente. Quando la progettazione dell'applicazione richiede firme di accesso condiviso per accedere ad Archiviazione BLOB, usare le credenziali di Microsoft Entra per creare una firma di accesso condiviso di delega utente, quando è possibile, per una maggiore sicurezza

Come funzionano le firme di accesso condiviso

Quando si usa una firma di accesso condiviso per accedere ai dati archiviati in archiviazione di Azure, sono necessari due componenti. Il primo è un URI della risorsa a cui si vuole accedere. La seconda parte è un token di firma di accesso condiviso creato per autorizzare l'accesso a tale risorsa.

In un singolo URI, ad esempio https://medicalrecords.blob.core.windows.net/patient-images/patient-116139-nq8z7f.jpg?sp=r&st=2020-01-20T11:42:32Z&se=2020-01-20T19:42:32Z&spr=https&sv=2019-02-02&sr=b&sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D, è possibile separare l'URI dal token di firma di accesso condiviso come indicato di seguito:

  • URI:https://medicalrecords.blob.core.windows.net/patient-images/patient-116139-nq8z7f.jpg?
  • Token di firma di accesso condiviso:sp=r&st=2020-01-20T11:42:32Z&se=2020-01-20T19:42:32Z&spr=https&sv=2019-02-02&sr=b&sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D

Il token di firma di accesso condiviso è costituito da diversi componenti.

Componente Descrizione
sp=r Controlla i diritti di accesso. I valori possono essere a per l'aggiunta, c per la creazione, d per l'eliminazione, l per l'elenco, r per la lettura o w per la scrittura. Questo esempio è di sola lettura. L'esempio sp=acdlrw concede tutti i diritti disponibili.
st=2020-01-20T11:42:32Z Data e ora di inizio dell'accesso.
se=2020-01-20T19:42:32Z Data e ora di fine dell'accesso. Questo esempio concede otto ore di accesso.
sv=2019-02-02 Versione dell'API di archiviazione da usare.
sr=b Tipo di archiviazione a cui si accede. In questo esempio b sta per BLOB.
sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D Firma crittografica.

Procedure consigliate

Per ridurre i potenziali rischi derivanti dall'uso delle firme di accesso condiviso, Microsoft raccomanda alcune procedure consigliate:

  • Per distribuire in modo sicuro una firma di accesso condiviso e impedire attacchi man-in-the-middle, usare sempre HTTPS.
  • La firma di accesso condiviso più sicura è una firma di accesso condiviso di delega utente. Usarla laddove possibile, perché evita di dover archiviare la chiave dell'account di archiviazione nel codice. È necessario usare Microsoft Entra ID per gestire le credenziali. Questa opzione potrebbe non essere possibile per la soluzione.
  • Provare a impostare la data di scadenza sul valore più piccolo utile. Se una chiave di firma di accesso condiviso viene compromessa, potrà così essere sfruttata solo per un breve periodo di tempo.
  • Applicare la regola dei privilegi minimi richiesti. Concedere solo l'accesso necessario. Nell'app di questo modulo, ad esempio, è sufficiente l'accesso in sola lettura.
  • Ci sono alcune situazioni in cui una firma di accesso condiviso non è una soluzione appropriata. Quando l'uso di una firma di accesso condiviso comporta rischi inaccettabili, creare un servizio di livello intermedio per gestire gli utenti e il loro accesso alle risorse di archiviazione.