GASで作ったWebアプリへのhttpリクエストでのアクセスの制限について

5,035 views
Skip to first unread message

Tsuyoshi KUSAKA

unread,
Jul 10, 2013, 6:59:50 AM7/10/13
to google-app...@googlegroups.com
日下@KyotoGASです。
#連投となり、申し訳ございません。

Google Apps ScriptでdoGet(),doPost()によりhttpリクエストを受けるようにしている処理について
セキュリティを考慮して、余計なアクセスを除外したいと考えています。

ただ、サーバアプリケーションからのhttpリクエスト送付のため、クライアント側でのGoogle Apps認証では制限できないこともあり、
現状のウェブアプリケーション公開時の設定は
 アプリケーションにアクセスできるユーザー:全員(匿名ユーザーを含む)
という一番ゆるい設定にしています。

アクセス元のIPアドレスで制限できないものかとも考えたのですが、以下issueによるとまだIPアドレス取得には対応してないようでした。

今はリクエストパラメータにkeyというものを持たせて、それが不一致であれば無視するロジックにしているのですが、もう少し強化できないかと考えております。
Google Apps Scriptの持つ仕組みをうまく活かして強化できる方法があれば、ぜひご教示いただきたいと考えています。

どうぞよろしくお願い致します。

Ohashi, Keisuke

unread,
Jul 10, 2013, 8:10:29 AM7/10/13
to google-app...@googlegroups.com

To 日下さん

大橋(soundTricker サントリー)です。

現状は書いてあるような方法が良く聞きますね。

試してはいませんが、
gas側でも暗号化/復号化はできるはず(そういうアプリは見たことがある)なので、
秘密暗号化キー方式で
パラメータを日付付きで暗号化してその日付で、
有効期限チェックをするとかがよりセキュアにできる気がします。
※暗号化キーがばれない限りは平気なハズ

この辺の記事が参考になるかもです。

http://barnes-storming.blogspot.com/2011/08/encrypting-data-in-google-documents.html?m=1

あとはリクエストの前にサーバ側でGASのみ見える場所(spreadsheetなど)にapi経由でキューみたいなものを置くとかやってます。
keyとそのキューがあれば処理を行うとかです。

ただそういう事をするのであれば、
すべてサーバ側で物事をしてしまったほうが楽かもしれません、、、

Tsuyoshi KUSAKA

unread,
Jul 11, 2013, 9:34:36 AM7/11/13
to google-app...@googlegroups.com
大橋様

日下です。

早々にご返信いただき、ありがとうございます。

キーを複雑にするか、情報伝達経路を複数にするかということですね。

#今回はサーバアプリ側も制約があるので悩ましいところです・・・
 いただいた情報を踏まえて再度検討してみます。

ご教示いただき、ありがとうございました。

Reply all
Reply to author
Forward
0 new messages