Notification Hubs-beveiliging

Overzicht

In dit onderwerp wordt het beveiligingsmodel van Azure Notification Hubs beschreven.

Beveiliging van Shared Access Signature

Notification Hubs implementeert een beveiligingsschema op entiteitsniveau, een Shared Access Signature (SAS) genoemd. Elke regel bevat een naam, een sleutelwaarde (gedeeld geheim) en een set rechten, zoals verderop wordt uitgelegd in Beveiligingsclaims.

Bij het maken van een hub worden er automatisch twee regels gemaakt: een met listen-rechten (die de client-app gebruikt) en een met alle rechten (die de back-end van de app gebruikt):

  • DefaultListenSharedAccessSignature: verleent alleen luistermachtigingen .
  • DefaultFullSharedAccessSignature: verleent de machtigingen Luisteren, Beheren en Verzenden . Dit beleid mag 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.

Bij het uitvoeren van registratiebeheer vanuit client-apps en als de informatie die via meldingen wordt verzonden niet gevoelig is (bijvoorbeeld weerupdates), is een veelgebruikte manier om toegang te krijgen tot een Notification Hub door de sleutelwaarde van de regel alleen luisteren toegang te geven tot de client-app en om de sleutelwaarde van de regel volledige toegang te geven tot de back-end van de app.

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. Houd er rekening mee dat de client-app op deze manier geen directe toegang heeft tot Notification Hubs.

Beveiligingsclaims

Net als bij andere entiteiten zijn Notification Hub-bewerkingen toegestaan voor drie beveiligingsclaims: Luisteren, Verzenden en Beheren.

Claim Description Bewerkingen toegestaan
Luisteren Afzonderlijke 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 per tag lezen

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:

  1. Meld u aan bij Azure Portal.
  2. Selecteer Alle resources.
  3. Selecteer de naam van de Notification Hub waarvoor u de claim wilt maken of de SAS-sleutel wilt weergeven.
  4. Selecteer toegangsbeleid in het menu aan de linkerkant.
  5. 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.
  6. De volledige connection string (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 dat de gewenste SAS-sleutel bevat. Plak deze waarde in een tijdelijke locatie en kopieer vervolgens het SAS-sleutelgedeelte van de connection string. 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>

SAS-sleutels ophalen

Volgende stappen