環境変数とシークレットとは?
環境変数は、データベースの住所などの設定を、コードの中ではなく実行環境から読み込む仕組みです。シークレットは、APIキーやパスワードなどの機密な値で、利用者に見せたり、コードにコミットしたりしてはいけません。
設定をコードの外に置くと、同じアプリをテスト用と本番用など、別々の場所で動かせます。それぞれに独自のデータベースとキーを持たせられます。
シークレットとは、他の人があなたのアプリになりすますことができてしまう値すべてです。決済キー、AIプロバイダーのキー、メールサービスのパスワード、データベースのパスワードなどが該当します。サーバー側に置き、必要なときに環境から読み込むべきものです。
よくある間違いは、キーをフロントエンドのコードに貼り付けることです。その場合は誰でもブラウザでキーを読めてしまいます。公開リポジトリに入ってしまうファイルに書くのも同じ間違いです。キーが漏れたら、すぐに無効化して新しいキーを作成してください。
Mythexでは、キーをチャットに貼り付けなくても、プロジェクトにシークレットを追加できます。
例
- 決済のためのSTRIPE_SECRET_KEY
- データベース接続のためのDATABASE_URL
- AIプロバイダーのAPIキー
よくある質問
APIキーをフロントエンドのコードに入れてもよいですか?
プロバイダーがそのキーを公開用と定めている場合、たとえば一部の地図や分析のキーに限ります。シークレットキーは必ずサーバー側に置いてください。
シークレットキーが漏れたらどうすればよいですか?
すぐにプロバイダーのダッシュボードで無効化または再発行し、新しいキーでアプリを更新してください。また、プロバイダーのログで不正利用がないか確認してください。
関連項目
Mythex · Pricing · AIでなんでも作ろう · ウェブサイト・アプリのテンプレート · Mythexを比較 · AIアプリ開発用語集 · AIアプリ開発の無料ツール · English