キーとデータの安全性
アプリの API キーを保管する場所、ブラウザーに置いても安全なキー、MeDo が確認すること・しないことを説明します。
小規模なアプリで実際に起きるインシデントの多くは、2 つのミスのどちらかが原因です。サーバーに留めておくべきキーが漏れること、あるいはルールが設定されておらず誰でもデータを読めることです。このページでは両方を扱います。
認証情報は Secrets に保管し、ページには決して置かない
アプリが必要とする API キー、トークン、パスワードはすべて、Backend(バックエンド) ビューの Secrets(シークレット) パネル(アプリの Secretsを参照)、またはスキル(Skill)が認証情報を必要とするときに MeDo がチャットに表示する認証情報フォームに入れます。
- 値はアプリのバックエンドに保存されます。あるアプリで保存したキーが別のアプリと共有されることはありません。ただし、それらのアプリがバックエンドを共有する場合を除きます。
- 値は再表示時にマスクされるため、インターフェースから読み出すことはできません。
- アプリをコピーしても、認証情報はコピー されません。コピー先でもう一度設定してください。
キーをページのコンテンツに貼り付けたり、「このキーをコードに入れて」と MeDo に依頼するプロンプトに貼り付けたり、訪問者が見られる場所に貼り付けたりしないでください。
2 種類のキー、2 つの異なるルール
これがアクセス権とロールの管理が重要な理由です。公開キーがブラウザーにある以上、ルールこそが保護になります。
ソースをダウンロードする
プロジェクトをダウンロードすると、MeDo はプロジェクトルートの .env から service key を取り除き、アーカイブとともに持ち出されないようにします。公開 URL と公開キーはそのまま残ります。ローカル実行に必要なのはこの 2 つです。
覚えておくべきことが 2 つあります。
- セルフホストするときは、これらの値を自分のプロジェクトのものに置き換えてください。そうしないと、ローカルコピーは引き続きホスト型バックエンドと通信します。
- それでもアーカイブは機密として扱ってください。データベース構造、ルール、関数が含まれています。
コンテンツポリシーと停止
公開アプリはコンテンツポリシーに従う必要があります。違反したアプリは 停止 されることがあり、その場合は訪問者に利用不可として表示されます。停止されると、公開パネルに理由が表示され、ポリシーへのリンクと、誤りだと思う場合に使う Request manual review(手動レビューをリクエスト) ボタンが表示されます。
MeDo が代わりに行わないこと
存在しない保護があると思い込まないよう、境界をはっきりさせておきます。
- セキュリティスキャンはありません。 MeDo はアプリの脆弱性、露出したテーブル、不足しているアクセスルール、漏えいしたキーをスキャンせず、セキュリティレポートも作成しません。
- ペネトレーションテストはなく、アプリのコンプライアンス認証もありません。
- 品質分析はセキュリティチェックではありません。 機能とコンソールエラーを検証するもので、不正アクセスを試みることはありません。AI 品質分析でのテストを参照してください。
公開前の短いチェックリスト
- すべての認証情報が Secrets にあり、ページのコンテンツには 1 つもない。
- service key がフロントエンドのどこからも参照されていない。
- アクセスルールを依頼し、2 つのテストアカウントで検証した。
- 2 人目のユーザーとしてサインインし、1 人目のユーザーのレコードが見えないことを確認した。
- 電話番号、住所、メモなどの機密項目は、見るべき人にだけ返される。