2011年1月28日金曜日

download_app

appcfg.py の download_app でソースコードをcheck outしようとしたら,

you do not have permission to download this app version.

とエラーで落ちてしまう。
何か権限的なものであろうとコンソール上を調べていていたら、Permissionsの項目の中に

permanently prohibit code downloads

ってリンクを発見。
ちゃんと訳さずにリンク押下してその先も適当にぽちぽちやっていたら、

Note: code downloads are prohibited.

って出てしまい、downloadが不可能に!
戻す方法はどこにも書いてなく、絶望的な状況に。
一番最初のエラーの回避は以下のオプションを付ければ良かった様である。

$ appcfg.py --secure --no_cookies -e mailaddress download_app -A app_id dest_directory

英語のドキュメントにはちゃんと書いてあった

http://code.google.com/intl/en/appengine/docs/python/tools/uploadinganapp.html#Downloading_Source_Code

Warning! This action is irreversible. After you prohibit code download, there is no way to re-enable this feature.

戻せないのか。。
以後気をつけよう。

一度でもuploadしたことないuserではdownloadできないとも書いてあるな。上で書いた事は嘘だった。

2011年1月26日水曜日

GnuPGでデータデリバリー#1

ちょっとしたやりとりでも実は機密情報だった!なんてことがあると嫌なのでなるべく暗号化なるものを取り入れいこうかと。
先ずはメールの添付やら,DropBox(SocialStorage?)なんかに置いてあるものなどを暗号化してみることに。
ツールはGnuPGを採用。採用理由は昔からよく耳にするってだけの理由、それが良いのか悪いのかは今後判定。

先ずは、単純な共通鍵暗号方式でのファイルの暗号化。
何だか難しい日本語だけど、パスワード入力のみで暗号化/復号化を行うもの。
コマンドも単純で以下のもので暗号化完了。

  • 暗号化

    $ gpg -c {file path}
    Enter passphrase: {input pass phrase}
    Repeat passphrase: {input pass phrase}

    ファイル名 {file path}.gpg で暗号化されたファイルが生成される

  • 復号化

    $ pgp {file path}.gpg
    gpg: CAST5 encrypted data
    Enter passphrase: {input pass phrase}

2011年1月20日木曜日

Google App Engineでgmailアカウントを使用する

わざわざ新規にIDサービスを作るのも結構しんどいし、最近は皆gmailアカウントを所有してるし、GAE使っているし、ってことでgmailアカウントでsing-onする方法を調べてみた。
自分はpythonのSDKを使っているのだけど非常に簡単に設定ができた。
独自のlogin画面などを用意しないのであれば、設定ファイル(app.yaml)に一行足すのみ。
app.yamlのパス毎に設定できるので、必要に応じて設定を付け足すのみ。
付け足す1行はこれ。
- url: /.*
script: xxx.py
login: required

この行を入れるだけで、次回からのアクセス時 gmailアカウントにログインしてない場合はログイン画面に飛ばされる。
ログアウト用のurlの生成もちゃんと用意してあって users をimportしてメソッド呼ぶのみ。
from google.appengine.api import users
logout_url = users.create_login_url("")