#BotFramework Emulator の機能 #3 ~ bot ファイルの暗号化・復号化

Bot Framework Emulator の機能紹介の 3回目です。

  1. テストクライアント機能
  2. Bot 作成手順の確認
  3. bot ファイル (設定ファイル) の暗号化・復号化(今回)
  4. Bot アプリのエンドポイント管理
  5. 外部サービス (LUIS, QnA Maker) の接続管理
  6. LUIS 再学習
  7. chat ファイル (会話セットの設計) の閲覧
  8. transcript ファイル (保存済み実行結果) の閲覧

 

今回は Bot Framwork の設定ファイルである “.bot” ファイルの暗号化・復号化機能を紹介します。

Bot Framework V4 では、Bot に関するすべての設定は拡張子 “.bot” ファイルに定義するようになっています。
設定値の中にはパスワードや接続文字列などが含まれるため、取り扱いには注意が必要です。

そこで Bot Framework では .bot ファイル内のセキュリティに関する値を暗号化する機能を持っています。これを知らずに .bot ファイルをテキストエディタなどで編集してしまいアプリが動かなってしまうことがあります。

Bot Builder tools に含まれる MSBot でも .bot ファイルの暗号化・復号化が可能ですが、Emulator でも簡単に行えます。

以下では実際の Bot 開発で、

  • Azure Bot Service で Bot アプリケーションを作成した場合
  • Visual Studio のプロジェクトテンプレートからローカルで作成した場合

のそれぞれで復号化・暗号化するタイミングで紹介します。


■ Azure Bot Service で Bot アプリケーションを作成した場合

Azure Bot Service で Bot アプリケーション (Web App Bot) を作成した場合、ソリューションを ZIP ファイルでダウンロードできます。

abs_zip_download

その際、アプリケーション設定の BotFileSecret の値をメモ帳などに必ずコピーしておきます。

abs_botffilesecret

ソースコードの ZIP ファイルを展開したら、”.bot” ファイルを Emulator で開きます。(.bot ファイルはデバッグ実行中のみ開くものだと思っている人がいるようですが、そんなことはありません。いつでも開けます)
初めて .bot ファイルを開くと、暗号化されている旨のメッセージが表示されます。先ほどコピーしておいた BotFileSecret を入力すると、bot ファイル内のパスワードなどが復号化されます。

bfe_botfilesecret

一度復号化すると、次回以降聞かれることはありません。
なおこの操作に限らず Emulator で設定を変更した場合は、特に確認メッセージなど無しに自動的に保存されます。

このまま開発を進めてもいいのですが、個人的なお勧めは、

開発中は暗号化を解除しておく

です。次に暗号化するのは、テストなどが完了して Azure に発行する直前でいいと思います。

開発中はどうしても bot ファイルの中身を見たりちょっと編集したりしたいことがあり、その場合、暗号化されたままだと設定値を壊してしまうことがあります。

Emulator を使って暗号化を解除したままにするには、Emulator 左肩の歯車アイコンをクリックし、[Encrypt keys stored in bot configuration] のチェックを外します。

bfe_decrypt_botfilesecret

Bot アプリケーションが完成し Azure に発行する際には、同じ画面で暗号化(チェックボックスをチェック)します。新しい Secret が自動的に生成されます。
生成された BotFileSecret の値は、Azure のアプリケーション設定の BotFileSecret にコピーすることを忘れずに。


■ Visual Studio のプロジェクトテンプレートからローカルで作成した場合

Bot Builder V4 Template をインストールして Visual Studio で Bot アプリケーションを開発する場合は、bot ファイルは暗号化されていない状態で自動生成されます。

開発中はこのままで進めてもよいと思います。(個人的なお勧めとしては、チーム内だけで共有している範囲は暗号化しないままでもよいかと思います)

Azure に発行する直前に Emulator で暗号化設定することは Azure Bot Service の場合と同じ。


■ まとめ

  • Bot Framework Emulator で bot ファイルの暗号化・復号化ができる
  • 暗号化された bot ファイルを Emulator で開くと BotFileSecret の入力を促されます。
    bfe_botfilesecret
  • bot ファイルを暗号化・復号化したい場合は、いつでも Emulator の設定画面から実施できます。
    bfe_decrypt_botfilesecret
  • (個人的なお勧めは)アプリ実装中は bot ファイルは復号化(暗号化解除)しておくのがラクです。Azure に発行する際には bot ファイルを暗号化します。

bot ファイルの暗号化は少し面倒な気もしますが、安全に運用するための機能だと考えるといいと思います。

そして Bot Framework Emulator は暗号化・復号化を簡単に行う機能を持っています。
一見地味な機能なのですが、Bot 開発には必須の機能です。覚えておくといいでしょう。(と言っても、まったく難しい操作ではないですよね)

 

広告
カテゴリー: Bot Builder SDK, Bot Framework, Bot Service タグ: , , , , パーマリンク

#BotFramework Emulator の機能 #3 ~ bot ファイルの暗号化・復号化 への3件のフィードバック

  1. ピンバック: #BotFramework Emulator の機能 #1 ~ Bot アプリケーションのテストクライアント機能 | 技術との戯れ

  2. ピンバック: #BotFramework Emulator の機能 #2 ~ Bot 作成手順の確認 | 技術との戯れ

  3. ピンバック: #BotFramework Emulator の機能 #4 ~ Bot アプリのエンドポイント管理 | 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中