Notification Hubs-beveiliging
Overzicht
In dit onderwerp wordt het beveiligingsmodel van Azure Notification Hubs beschreven.
Shared Access Signature-beveiliging
Notification Hubs implementeert een beveiligingsschema op entiteitsniveau dat een Shared Access Signature (SAS) wordt genoemd. Elke regel bevat een naam, een sleutelwaarde (gedeeld geheim) en een set rechten, zoals verderop in beveiligingsclaims wordt uitgelegd.
Bij het maken van een hub worden automatisch twee regels gemaakt: één met listen-rechten (die de client-app gebruikt) en één met alle rechten (die door de back-end van de app worden gebruikt):
- DefaultListenSharedAccessSignature: verleent alleen listen-machtigingen .
- DefaultFullSharedAccessSignature: verleent machtigingen voor luisteren, beheren en verzenden . Dit beleid moet alleen worden gebruikt in de back-end van uw app. Gebruik het niet in clienttoepassingen; gebruik een beleid met alleen listen-toegang . Zie SAS-tokens voor toegangsbeleid verderop in dit artikel als u een nieuw aangepast toegangsbeleid wilt maken met een nieuw SAS-token.
Wanneer u registratiebeheer uitvoert vanuit client-apps, als de informatie die via meldingen wordt verzonden niet gevoelig is (bijvoorbeeld weerupdates), is het gebruikelijk om toegang te krijgen tot een Notification Hub om de sleutelwaarde van de regel alleen-luisteren-toegang tot de client-app te geven en de sleutelwaarde van de regel volledige toegang tot de app-back-end te geven.
Apps mogen de sleutelwaarde niet insluiten in Windows Store-client-apps; Laat in plaats daarvan de client-app deze ophalen uit de back-end van de app bij het opstarten.
Met de sleutel met Listen-toegang kan een client-app zich registreren voor elke tag. Als uw app registraties moet beperken tot specifieke tags voor specifieke clients (bijvoorbeeld wanneer tags gebruikers-id's vertegenwoordigen), moet uw app-back-end de registraties uitvoeren. Zie Registratiebeheer voor meer informatie. Op deze manier heeft de client-app geen directe toegang tot Notification Hubs.
Beveiligingsclaims
Net als bij andere entiteiten zijn Notification Hub-bewerkingen toegestaan voor drie beveiligingsclaims: Luisteren, Verzenden en Beheren.
Claimen | Beschrijving | Toegestane bewerkingen |
---|---|---|
Luisteren | Enkele registraties maken/bijwerken, lezen en verwijderen | Registratie maken/bijwerken Registratie lezen Alle registraties voor een ingang lezen Registratie verwijderen |
Verzenden | Berichten verzenden naar de Notification Hub | Bericht verzenden |
Beheren | CRUD's op Notification Hubs (inclusief het bijwerken van PNS-referenties en beveiligingssleutels) en leesregistraties op basis van tags | Hubs maken/bijwerken/lezen/verwijderen Registraties lezen per tag |
Notification Hubs accepteert SAS-tokens die zijn gegenereerd met gedeelde sleutels die rechtstreeks op de hub zijn geconfigureerd.
Het is niet mogelijk om een melding naar meer dan één naamruimte te verzenden. Naamruimten zijn logische containers voor Notification Hubs en zijn niet betrokken bij het verzenden van meldingen.
Gebruik het toegangsbeleid op naamruimteniveau (referenties) voor bewerkingen op naamruimteniveau; bijvoorbeeld: hubs weergeven, hubs maken of verwijderen, enzovoort. Alleen met het toegangsbeleid op hubniveau kunt u meldingen verzenden.
SAS-tokens voor toegangsbeleid
Ga als volgt te werk om een nieuwe beveiligingsclaim te maken of om bestaande SAS-sleutels weer te geven:
- Meld u aan bij het Azure-portaal.
- Selecteer Alle resources.
- Selecteer de naam van de Notification Hub waarvoor u de claim wilt maken of de SAS-sleutel wilt weergeven.
- Selecteer Toegangsbeleid in het linkermenu.
- Selecteer Nieuw beleid om een nieuwe beveiligingsclaim te maken. Geef het beleid een naam en selecteer de machtigingen die u wilt verlenen. Selecteer vervolgens OK.
- De volledige verbindingsreeks (inclusief de nieuwe SAS-sleutel) wordt weergegeven in het venster Toegangsbeleid. U kunt deze tekenreeks naar het klembord kopiëren voor later gebruik.
Als u de SAS-sleutel wilt extraheren uit een specifiek beleid, selecteert u de knop Kopiëren naast het beleid met de gewenste SAS-sleutel. Plak deze waarde in een tijdelijke locatie en kopieer vervolgens het SAS-sleutelgedeelte van de verbindingsreeks. In dit voorbeeld wordt een Notification Hubs-naamruimte met de naam mytestnamespace1 en een beleid met de naam policy2 gebruikt. De SAS-sleutel is de waarde aan het einde van de tekenreeks, opgegeven door SharedAccessKey:
Endpoint=sb://mytestnamespace1.servicebus.windows.net/;SharedAccessKeyName=policy2;SharedAccessKey=<SAS key value here>