Skip to main content
Secretsツールはシークレット(APIキー、認証トークン、データベース接続文字列など、Replitプロジェクトが外部サービスへの接続に使用する機密情報)を保存・暗号化します。 たとえば、サードパーティAPIの呼び出し、認証プロバイダーへの接続、データベースへのアクセスに認証情報が必要になることがあります。 シークレットを追加すると、ツールは自動的にデータを暗号化し、Replitプロジェクトの環境変数として利用可能にします。 このアプローチにより、コードにシークレットをハードコーディングする必要がなくなり、漏洩リスクを軽減できます。
コードベースにシークレットをハードコーディングすると、以下のシナリオで偶発的な漏洩につながる可能性があります:
  • 公開Replitプロジェクトやコピーペーストでコードを他の人と共有する
  • パブリックリポジトリのバージョン管理にコードをチェックインする
  • ライブストリームやスクリーン共有でコードを表示する
Secretsツールを使用して、認証情報の漏洩を心配せずに安心してコードを共有しましょう。
マスクされたシークレット値と、機密性のない情報用の別個の構成セクションを表示するSecretsツール

Secretsツールのシークレットと構成。プロジェクト固有のシークレット名は伏せられています。

シークレットと構成の違い

Secretsツールには、シークレット用と構成用の別々のセクションがあります。どちらも、ハードコーディングせずにプロジェクトのコードから値を環境変数として読み取れます。 構成は、Replitでのテストと公開済みプロジェクトの実行とで設定が異なる場合に便利です。 値に認証情報やその他の機密データが含まれる場合は、必ずシークレットを使用してください。

機能

Secretsには以下の機能が含まれています:
  • 暗号化:保存時はAES-256暗号化、転送時はTLS暗号化を使用してシークレットを保護
  • プロジェクトレベルのシークレット:特定のReplitプロジェクトに固有のシークレットを保存・管理
  • 構成:機密性のない環境変数をシークレットと並べて管理
  • 環境変数アクセス:環境変数を使用してコードからシークレットにアクセス
  • コラボレーションアクセス:コラボレーターやチームメンバーとシークレットを共有

使い方

シークレットは静的デプロイメントを除くすべてのデプロイメントタイプで利用できます。

Secretsの見つけ方

プロジェクトのツールペインからSecretsツールを開きます:
  1. プロジェクトエディターでプロジェクトを開きます。
  2. 上部のツールを選択してツールペインを開きます。
  3. セットアップセクションを見つけ、Secretsを選択します。
上部にツールボタン、セットアップの見出しの下にSecretsがあるプロジェクトエディターのツールペイン

ツールを選択し、セットアップの下のSecretsを選択します。

Secretsツールには、プロジェクトのシークレットに続いて構成セクションが表示されます。

プロジェクトシークレットを管理する

プロジェクトのシークレットはSecretsツールで直接管理できます。 シークレットを探すにはシークレットを名前で絞り込むを使用します。 シークレットを追加する
  1. 新しいシークレットを選択します。
  2. キー(シークレットの名前)と値(シークレット自体)を入力します。
  3. シークレットを追加を選択してエントリを保存します。
キーの例としてGOOGLE_API_KEY、空の値フィールド、シークレットを追加ボタンが表示された新しいシークレットのフォーム

キーと値でシークレットを追加します。既存のシークレット名は伏せられています。

シークレットを編集する
  1. シークレットの横にある縦三点アイコン縦三点メニューを選択します。
  2. コンテキストメニューから編集を選択します。
  3. キーまたは値フィールドのテキストを更新し、変更を保存するにはシークレットを更新を、変更を破棄するにはキャンセルを選択します。
シークレットを表示または非表示にする シークレットを表示するには、シークレットの横にある目のアイコン目のアイコンを選択します。 シークレットを非表示にするには、斜線付き目のアイコン斜線付き目のアイコンを選択します。 シークレットを削除する シークレットを削除するには、シークレットの横にある縦三点アイコン縦三点メニューを選択して削除を選択します。 シークレットを一括編集する Secretsヘッダーの縦三点メニューを開き、JSONで編集または**.envで編集**を選択します。 保存する前にリスト全体を確認してください。一括編集はプロジェクトの既存のシークレットを置き換えます。

アカウントシークレットを管理する

アカウントシークレットを使うと、プロジェクト間で認証情報を再利用できます。アカウント設定 > アカウントシークレットで管理します。 所有するプロジェクトにアカウントシークレットをリンクするには:
  1. プロジェクトのSecretsツールを開きます。
  2. ヘッダーにあるアカウントシークレットをリンクというラベルのチェーンリンクアイコンを選択します。
  3. 使用したいシークレットの横のチェックボックスを選択します。
  4. このアプリにリンクを選択します。
リンクされたシークレットはアカウントシークレットと同期されます。リンクを解除するには、リンクされたシークレットのオプションメニューを開き、リンクを解除を選択します。

構成を管理する

機密性のない値には、Secretsツールの構成セクションを使用します。 構成を追加するには:
  1. 新しい構成を選択します。
  2. LOG_LEVELなどのキーと、debugなどの値を入力します。
  3. 構成を追加を選択します。
特定の環境に固有の値には、新しい構成の横のその他を選択し、新しい公開済みアプリの構成または新しいテスト用の構成を選択します。
空のキーと値のフィールド、および構成を追加ボタンがある構成セクション

構成セクションで機密性のない設定を追加します。

APIキー、パスワード、認証トークンを構成として保存しないでください。機密性の高い値にはシークレットを使用してください。

本番シークレットを管理する

公開済みプロジェクトのシークレットを見つけるには、公開を開き、設定を調整を選択して、本番アプリのシークレットを探します。 公開済みプロジェクトに必要な値、特にテストと本番で異なる認証情報を使用する場合は、その値を確認してください。

シークレットの可視性を管理する

シークレットの可視性は、Replitアプリへのアクセス方法と作成者かどうかによって異なります。 Replitアプリを共有するには以下のいずれかのオプションを使用できます:
  • マルチプレイヤー:Replitユーザーをリアルタイムコラボレーションに招待
  • カバーページ:リミックスオプション付きでReplitアプリのプレビューを表示
  • リミックス:個人または組織のReplitアプリを公開して、他の人が独自のバージョンを作成できるようにする
以下の表は、さまざまなシナリオでのシークレットの名前と値の可視性を示しています:
オーナーロールを持たない組織メンバーはReplitアプリのシークレット値を表示できませんが、環境変数を出力することで値にアクセスできます。

データベース関連のシークレット

ReplitのDatabaseを追加すると、プロジェクトエディターは自動的に以下のシークレットを作成します:
レガシーのNeon開発データベースには PGHOST、PGUSER、PGPASSWORD、PGDATABASE、PGPORT も含まれる場合があります。現在のReplit開発データベースは代わりに DATABASE_URL を使用します。
Replitプロジェクトのすべての環境変数を表示するには、Shellプロジェクトエディターツールで printenv を実行するか、コードから出力してください。

定義済み環境変数

Replitはプロジェクトのコードからアクセスできる以下の環境変数を自動的に設定します: これらはSecretsツールには表示されませんが、プロジェクトのコードから他の環境変数と同様に読み取れます。