Sicurezza di Hub di notifica
Panoramica
In questo argomento viene descritto il modello di protezione degli hub di notifica di Azure.
Sicurezza della firma di accesso condiviso
Hub di notifica implementa uno schema di sicurezza a livello di entità denominato firma di accesso condiviso . Ogni regola contiene un nome, un valore di chiave (segreto condiviso) e un set di diritti, come illustrato più avanti in Attestazioni di sicurezza.
Quando si crea un hub, vengono create automaticamente due regole: una con diritti di ascolto (che l'app client usa) e una con tutti i diritti (che il back-end dell'app usa):
- DefaultListenSharedAccessSignature: concede solo l'autorizzazione Listen .
- DefaultFullSharedAccessSignature: concede le autorizzazioni Listen, Manage e Send . Questo criterio deve essere usato solo nel back-end dell'app. Non usarlo nelle applicazioni client; usare un criterio con solo Accesso in ascolto . Per creare un nuovo criterio di accesso personalizzato con un nuovo token di firma di accesso condiviso, vedere Token di firma di accesso condiviso per i criteri di accesso più avanti in questo articolo.
Quando si esegue la gestione delle registrazioni dalle app client, se le informazioni inviate tramite notifiche non sono riservate (ad esempio aggiornamenti meteorologici), un modo comune per accedere a un hub di notifica è assegnare il valore della chiave della regola di accesso solo in ascolto all'app client e il valore della chiave della regola di accesso completo al back-end dell'app.
Le app non devono incorporare il valore della chiave nelle app client di Windows Store; Chiedere invece all'app client di recuperarla dal back-end dell'app all'avvio.
La chiave con Accesso in ascolto consente a un'app client di registrarsi per qualsiasi tag. Se l'app deve limitare le registrazioni a tag specifici a client specifici (ad esempio, quando i tag rappresentano gli ID utente), il back-end dell'app deve eseguire le registrazioni. Per altre informazioni, vedere Gestione della registrazione. Si noti che in questo modo, l'app client non avrà accesso diretto agli hub di notifica.
Attestazioni di sicurezza
Analogamente ad altre entità, le operazioni dell'hub di notifica sono consentite per tre attestazioni di sicurezza: Listen, Send e Manage.
Attestazione | Descrizione | Operazioni consentite |
---|---|---|
Ascolto | Creare o aggiornare, leggere ed eliminare singole registrazioni | Creare o aggiornare una registrazione Leggere una registrazione Leggere tutte le registrazioni per un handle Elimina registrazione |
Send | Inviare messaggi all'hub di notifica | Invia messaggio |
Gestione | CRUD negli hub di notifica (incluso l'aggiornamento delle credenziali PNS e le chiavi di sicurezza) e lettura delle registrazioni basata sui tag | Creare/aggiornare/leggere/eliminare hub Leggere le registrazioni per tag |
Hub di notifica accetta i token di firma di accesso condiviso generati con chiavi condivise configurate direttamente nell'hub.
Non è possibile inviare una notifica a più spazi dei nomi. Gli spazi dei nomi sono contenitori logici per Hub di notifica e non sono coinvolti nell'invio di notifiche.
Usare i criteri di accesso a livello di spazio dei nomi (credenziali) per le operazioni a livello di spazio dei nomi; ad esempio: elencare hub, creare o eliminare hub e così via. Solo i criteri di accesso a livello di hub consentono di inviare notifiche.
Token di firma di accesso condiviso per i criteri di accesso
Per creare una nuova attestazione di sicurezza o per visualizzare le chiavi di firma di accesso condiviso esistenti, eseguire le operazioni seguenti:
- Accedere al portale di Azure.
- Seleziona Tutte le risorse.
- Selezionare il nome dell'hub di notifica per cui si vuole creare l'attestazione o visualizzare la chiave di firma di accesso condiviso.
- Nel menu a sinistra selezionare Criteri di accesso.
- Selezionare Nuovo criterio per creare una nuova attestazione di sicurezza. Assegnare un nome al criterio e selezionare le autorizzazioni da concedere. Quindi, seleziona OK.
- Il stringa di connessione completo (inclusa la nuova chiave di firma di accesso condiviso) viene visualizzato nella finestra Criteri di accesso. È possibile copiare questa stringa negli Appunti per usarla in un secondo momento.
Per estrarre la chiave di firma di accesso condiviso da un criterio specifico, selezionare il pulsante Copia accanto al criterio contenente la chiave di firma di accesso condiviso desiderata. Incollare questo valore in una posizione temporanea, quindi copiare la parte della chiave di firma di accesso condiviso del stringa di connessione. Questo esempio usa uno spazio dei nomi di Hub di notifica denominato mytestnamespace1 e un criterio denominato policy2. La chiave di firma di accesso condiviso è il valore vicino alla fine della stringa, specificata da SharedAccessKey:
Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>