2

新しいAzure Mobile Appをインストールしました(以前のMobile Servicesから初めてAzure Mobile Appを使用しました)。Azureモバイルアプリケーションとセキュリティ

アプリを設定した後、サービスに接続するXamarin.Formsアプリを作成し、ダミーのToDoItemテーブルを作成する「クイックスタート」サービスのいずれかを使用できます。その後、あなたは有用なアプリのためのソースをダウンロードすることができます。

私は自分の頭を傷つけているビットは、以前はモバイルサービスで、モバイルサービスのURLと秘密にしておくAPIキーを持っていたということです。(これを秘密にする方法はその日の終わりはあなたのコードの中にあり、誰かがAPKなどをリバースエンジニアリングして入手することはおそらく可能です)...しかし、新しいモバイルアプリサービスでは、この秘密のAPIキーの概念はないようです。私はサンプルのアプリソースを狩り、アプリサービスのURLだけを見つけることができます。

私の質問は、私のMobile AppサービスのURLを使用して他の人を止め、私のSQL Serverテーブルを読み書きする(または悪化させる)ことです。

多分私は何かを見逃しています...誰かが偉大になるだろう被写体に光を当てることができる場合。

答えて

3

アプリケーションキーは、セキュリティの誤った感覚を与えるため、セキュリティメカニズムとして削除されました。あなたが言及したように、アプリケーションのリバースエンジニアリングやネットワークトラフィックの捕捉によって人々がキーを取得するのを止めるものは何もありません。

認証されたアクセスのみを許可するようにテーブルを設定することを強くお勧めします。ソーシャルメディアのアイデンティティプロバイダを使用すると、ロールベースのアクセス制御は提供されませんが、Azure Active Directoryでは、グループをかなり簡単に設定できます。

https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-auth/には基本的な情報とチュートリアル(Xamarin.Formsが含まれています)があります。モバイルアプリに関する情報は、一般的にhttps://shellmonger.com/30-days-of-azure-mobile-apps-the-table-of-contents/という豊富な情報もあります。

+0

ありがとうございます。 AADを使用してログイン/認証するには、最初にユーザーがMicrosoftログインWebビューに転送されるのではないでしょうか。私はむしろ登録を自分で処理するので、ユーザーはアプリ内のネイティブ登録ページにサインアップしてから、登録してログインした後にモバイルサービスへのリクエストを認証する何らかの方法があります。 – xceed

+0

いくつかの点では、 Azureに保存する前に自分のAPIにHTTP GET/POSTリクエストを使用してコードを作成することで、認証されたユーザーだけがAzure SQL Serverテーブルにアクセスしていることを保証できます。 – xceed

+1

単純なユーザー名/パスワード認証の設定など、カスタム認証を調べることができます。サンプルをhttps://github.com/Azure/azure-mobile-apps-node/tree/master/samples/custom-authenticationからチェックしてください。また、https://shellmonger.com/2016/04/08/30-days-of-zumo-v2-azure-mobile-apps-day-5-custom-authentication/でauth0を使用するためのガイドもあります。 –