Google App Engineで実行されているアプリで利用できるアクセス制御ソリューションはありますか?特にIPホワイトリストに興味があります。
2 に答える
管理コンソールに関して使用できる役割は3つあります。
ビューア、開発者、所有者。
https://developers.google.com/appengine/docs/adminconsole/roles
さらに、特定のドメインのユーザーへのアクセスを制限できます。
しかし、あなたはおそらくこれが欲しいでしょう:
https://developers.google.com/appengine/docs/python/gettingstarted/usingusers
次に、ユーザーにgoogle(または他のいくつかの選択肢)を介してサインインさせることができ、ユーザーの一意のIDを確認できます。次に、その一意のIDを使用して、サイトのさまざまな部分へのアクセスを許可または拒否できます。
https://developers.google.com/appengine/docs/python/tools/webapp/utilmodule
Google App Engineは、SDKに含まれているライブラリを使用するアプリケーションからアクセスできる、Googleインフラストラクチャに基づくいくつかの便利なサービスを提供します。そのようなサービスの1つがユーザーサービスです。これにより、アプリケーションをGoogleユーザーアカウントと統合できます。ユーザーサービスを使用すると、ユーザーはアプリケーションにログインする必要があるGoogleアカウントを使用できます。ブロッククォート
ホワイトリストIPも同様に必要です。データストアに許可されたIPのリストがあり、AppEngineへのすべてのリクエストで、呼び出し元のIPアドレスをチェックし、それがmemcacheにリストされているかどうかを確認します。リストされていない場合は、データストアでクエリします。見つかった場合は、今後のリクエストのためにmemcacheに保持し、リクエストを返します。見つからない場合はログに記録してエラーを返します。
memcacheにIPを保持する理由は、IPから1つのリクエストが届くと、すぐにさらに多くのリクエストが送信される可能性があるためです(ログインして何かをしているため)。
appengine(Java)でIPを取得するには、
String IPString = getThreadLocalRequest().getRemoteAddr();