2

Ich habe gerade eine neue Azure Mobile App eingerichtet (zum ersten Mal mit einer seit den alten Mobile Services).Azure Mobile App und Sicherheit

Nachdem Sie die App eingerichtet haben, können Sie eines der "Quick Start" Angebote verwenden, um eine Xamarin.Forms App zu erstellen, die eine Verbindung zu Ihrem Dienst herstellt und eine Dummy ToDoItem Tabelle für Sie erstellt. Dann können Sie die Quelle für die App herunterladen, die hilfreich ist.

Das Bit, wo ich mir den Kopf kratze ist, dass zuvor mit den Mobile Services Ihre Mobile Services URL und ein API Schlüssel, der geheim bleiben sollte (wie geheim Sie dies behalten können, ist offen für Diskussionen wie bei das Ende des Tages ist es in Ihrem Code und ist wahrscheinlich für jemanden möglich, die APK oder was auch immer zurückzuentwickeln und es zu bekommen) ... ABER mit dem neuen Mobile App-Dienst scheint es keine Vorstellung von diesem geheimen API-Schlüssel zu geben . Ich habe die Beispiel-App-Quelle gejagt und kann nur die URL für den App-Service und sonst nichts finden.

Also meine Frage ist, was ist zu stoppen jemand anderes mit meinem Mobile App Service URL und Lesen/Schreiben zu (oder schlechter, Löschen von) meine SQL Server-Tabellen?

Vielleicht vermisse ich etwas ... Wenn jemand etwas Licht auf das Thema werfen kann, wäre das großartig.

Antwort

3

Der Anwendungsschlüssel wurde als Sicherheitsmechanismus verworfen, da er ein falsches Sicherheitsgefühl vermittelt. Wie Sie bereits erwähnt haben, gibt es nichts, was die Leute davon abhalten könnte, den Schlüssel durch Reverse-Engineering der App oder Erfassen des Netzwerkverkehrs zu erhalten - in mancher Hinsicht ist es schlimmer als gar keine Sicherheit!

Wir empfehlen Ihnen dringend, Ihre Tabellen so einzurichten, dass nur authentifizierte Zugriffe möglich sind. Die Verwendung der Identitätsanbieter für soziale Medien bietet keine rollenbasierte Zugriffssteuerung, aber mit Azure Active Directory können Sie Gruppen relativ einfach einrichten.

Sie können einige grundlegende Informationen und Tutorials finden (Xamarin.Forms ist enthalten) unter https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-auth/. Es gibt auch eine Fülle von Informationen über Mobile Apps im Allgemeinen unter https://shellmonger.com/30-days-of-azure-mobile-apps-the-table-of-contents/.

+0

Danke, das macht Sinn. Habe ich recht, wenn ich daran denke, dass der Benutzer, um sich mit AAD einzuloggen/authentifizieren, zuerst an eine Microsoft-Login-Webansicht weitergeleitet wird? Ich würde mich lieber selbst um die Registrierung kümmern, damit sich Benutzer mit einer nativen Anmeldeseite in-app anmelden können und dann eine Möglichkeit haben, Anfragen an den mobilen Dienst zu authentifizieren, nachdem sie sich registriert und eingeloggt haben. – xceed

+0

In gewisser Weise ist es wahrscheinlich einfacher Code, der HTTP-GET/POST-Anforderungen an meine eigene API vor dem Speichern in Azure verwendet und auf diese Weise sicherstellen kann, dass nur authentifizierte Benutzer auf die Azure SQL Server-Tabellen zugreifen (und nur auf die Rechte zugreifen, auf die sie Anspruch haben). – xceed

+1

Sie können sich die benutzerdefinierte Authentifizierung ansehen, z. B. ein einfaches Authentifizierungs-Setup für Benutzername/Passwort. Sehen Sie sich das Beispiel unter https://github.com/Azure/azure-mobile-apps-node/tree/master/samples/custom-authentication an. Es gibt auch eine Anleitung zur Verwendung von auth0 unter https://shellmonger.com/2016/04/08/30-days-of-zumo-v2-azure-mobile-apps-day-5-custom-authentication/ –