SicurezzaSecurity

PanoramicaOverview

In questo argomento viene descritto il modello di protezione degli hub di notifica di Azure.This topic describes the security model of Azure Notification Hubs. Poiché gli hub di notifica sono un'entità del bus di servizio, implementano lo stesso modello di sicurezza del bus di servizio.Because Notification Hubs are a Service Bus entity, they implement the same security model as Service Bus. Per altre informazioni, vedere gli argomenti sull’ Autenticazione per il bus di servizio .For more information, see the Service Bus Authentication topics.

Sicurezza della firma di accesso condiviso (SAS)Shared Access Signature Security (SAS)

Gli hub di notifica implementano uno schema di sicurezza a livello di entità denominato firma di accesso condiviso (SAS, Shared Access Signature).Notification Hubs implements an entity-level security scheme called SAS (Shared Access Signature). Questo schema consente alle entità di messaggistica di dichiarare nella descrizione fino a 12 regole di autorizzazione che concedono diritti sull'entità.This scheme enables messaging entities to declare up to 12 authorization rules in their description that grant rights on that entity.

Ogni regola contiene un nome, un valore di chiave (segreto condiviso) e un set di diritti, come illustrato nella sezione "Attestazioni di sicurezza".Each rule contains a name, a key value (shared secret), and a set of rights, as explained in the section “Security Claims.” Quando si crea un hub di notifica, vengono create automaticamente due regole: uno con diritti di ascolto (utilizzata dall'applicazione client) e una con tutti i diritti (utilizzata dal back-end dell’app).When creating a Notification Hub, two rules are automatically created: one with Listen rights (that the client app uses) and one with all rights (that the app backend uses).

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.When performing registration management from client apps, if the information sent via notifications is not sensitive (for example, weather updates), a common way to access a Notification Hub is to give the key value of the rule Listen-only access to the client app, and to give the key value of the rule full access to the app backend.

Non è consigliabile integrare il valore della chiave nelle applicazioni client di Windows Store.It is not recommended that you embed the key value in Windows Store client apps. Un modo per evitare di integrare il valore della chiave è consentire all'app client di recuperarlo dal back-end dell'app all'avvio.A way to avoid embedding the key value is to have the client app retrieve it from the app backend at startup.

È importante comprendere che la chiave con accesso in ascolto consente a un’app client la registrazione per qualsiasi tag.It is important to understand that the key with Listen access allows a client app to register for any tag. Se l'app deve limitare le registrazioni a tag specifici su client specifici (ad esempio, quando i tag rappresentano gli ID utente), il back-end dell’app deve eseguire le registrazioni.If your app must restrict registrations to specific tags to specific clients (for example, when tags represent user IDs), then your app backend must perform the registrations. Per ulteriori informazioni, vedere Gestione della registrazione.For more information, see Registration Management. Si noti che in questo modo, l'app client non avrà accesso diretto agli hub di notifica.Note that in this way, the client app will not have direct access to Notification Hubs.

Attestazioni di sicurezzaSecurity claims

Analogamente ad altre entità, le operazioni degli hub di notifica sono consentite per tre attestazioni di sicurezza: ascolto, invio e gestione.Similar to other entities, Notification Hub operations are allowed for three security claims: Listen, Send, and Manage.

AttestazioneClaim DescrizioneDescription Operazioni consentiteOperations allowed
AttesaListen Creare o aggiornare, leggere ed eliminare singole registrazioniCreate/Update, Read, and Delete single registrations Creare o aggiornare una registrazioneCreate/Update registration

Leggere una registrazioneRead registration

Leggere tutte le registrazioni per un handleRead all registrations for a handle

Eliminare una registrazioneDelete registration
InvioSend Inviare messaggi all'hub di notificaSend messages to the notification hub Send messageSend message
ManageManage CRUD negli hub di notifica (incluso l'aggiornamento delle credenziali PNS e le chiavi di sicurezza) e lettura delle registrazioni basata sui tagCRUDs on Notification Hubs (including updating PNS credentials, and security keys), and read registrations based on tags Hub di notifica di creazione, aggiornamento, lettura ed eliminazioneCreate/Update/Read/Delete notification hubs

Leggere le registrazioni per tagRead registrations by tag

Gli hub di notifica accettano attestazioni concesse dai token del Controllo di accesso di Microsoft Azure e dai token di firma generati con chiavi condivise configurate direttamente nell’hub di notifica.Notification Hubs accept claims granted by Microsoft Azure Access Control tokens, and by signature tokens generated with shared keys configured directly on the Notification Hub.