以下からプロバイダーを選び、その設定を Replit に渡してシークレットマネージャーを接続し、再利用可能な環境に保存します。例の識別子はご自身の開発用リソースに置き換え、先にプロバイダー側のトラストと権限を設定してください。
これらのモジュールは有効期間の短いプロバイダー認証情報を設定するものであり、シークレットがアプリに自動的に読み込まれるわけではありません。
シークレットマネージャーを接続する
AWS Secrets Manager
Infisical
Azure Key Vault
HashiCorp Vault
Google Secret Manager
前提条件: https://sts.replit.com をオーディエンス sts.amazonaws.com の AWS OIDC プロバイダーとして登録し、上記のロールを作成します。
トラストは Replit ワークスペースに限定し、必要なシークレットへの読み取りアクセスを付与してください。
AWS の詳細な手順を参照してください。接続したプロバイダーからアプリに必要なシークレットを取得し、アプリがそれらを使用するよう設定することを Agent に依頼します。特定のプロジェクト、vault、シークレットパスなど、Agent が確認すべき場所を伝えてください。 前提条件: Replit の JWKS、オーディエンス infisical、ワークスペースの org_id を使用する JWT 認証のマシンアイデンティティを作成します。
対象プロジェクトの開発環境とパスへの読み取りアクセスを付与してください。
Infisical の詳細な手順を参照してください。接続したプロバイダーからアプリに必要なシークレットを取得し、アプリがそれらを使用するよう設定することを Agent に依頼します。特定のプロジェクト、vault、シークレットパスなど、Agent が確認すべき場所を伝えてください。 前提条件: https://sts.replit.com を信頼するマネージド ID またはアプリ登録を作成します。オーディエンスは api://AzureADTokenExchange、サブジェクトは //replit.com/customer/<customer-id>/org/<org-id> です。
開発用 Key Vault のシークレットへの読み取りアクセスを付与してください。
Azure の詳細な手順を参照してください。接続したプロバイダーからアプリに必要なシークレットを取得し、アプリがそれらを使用するよう設定することを Agent に依頼します。特定のプロジェクト、vault、シークレットパスなど、Agent が確認すべき場所を伝えてください。 前提条件: Replit を信頼する JWT ロールを作成し、ワークスペースの org_id と、オーディエンスとしての Vault ホスト名にバインドします。
対象のシークレットパスへの読み取りアクセスを付与し、環境から Vault サーバーに到達できることを確認してください。
Vault の詳細な手順を参照してください。接続したプロバイダーからアプリに必要なシークレットを取得し、アプリがそれらを使用するよう設定することを Agent に依頼します。特定のプロジェクト、vault、シークレットパスなど、Agent が確認すべき場所を伝えてください。 前提条件: https://sts.replit.com を信頼し、Replit ワークスペースに限定した Google ワークロード ID プロバイダーを作成します。
許可されるオーディエンスは //iam.googleapis.com/<provider-resource-name> と一致する必要があります。--workload-identity-provider に渡す完全なリソース名を使用してください。
上記のサービスアカウントの権限借用 (impersonation) を許可し、そのアカウントに Secret Manager へのアクセスを付与します。
Google の詳細な手順を参照してください。接続したプロバイダーからアプリに必要なシークレットを取得し、アプリがそれらを使用するよう設定することを Agent に依頼します。特定のプロジェクト、vault、シークレットパスなど、Agent が確認すべき場所を伝えてください。
非対話型のアプリコマンドでは、~/.config/replit-oidc/env.sh を読み込み、リンク先のプロバイダー README にある実行時の手順に従うよう Agent に依頼してください。
CLI 認証は、SDK 認証や認証情報の更新を保証するものではありません。Vault および Infisical の CLI ヘルパーは、無関係な SDK プロセスに認証情報を提供しません。
メッセージに値を入力せず、名前を指定して Agent にシークレットの追加を依頼します。例:Agent は、値を入力するための安全な入力フォームを開くことができます。シークレットはプロンプトに含まれたり Git にコミットされたりすることなく、安全に保存され、プライベートチャットにスコープが限定されます。必要な権限だけを持つ開発用の認証情報を使用し、送信する前にフォームに表示される変数名とスコープを確認してください。チャットスコープのシークレットが、別のチャットや再利用可能な環境ビルドで利用できるとは想定しないでください。
または、エディターのタブバーで +、続いて Secrets を選択します。
New Secret を選択し、Key と Value を入力して、Add Secret を選択します。認証情報はフォームに入力し、チャットには決して入力しないでください。