Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

変数とシークレット

変数とシークレットCommunity Edition+

はじめに

環境変数とシークレットを一元的に設定・管理することで、機密データの保存、設定データの再利用、環境設定の分離などを実現します。

.env との違い

特徴.env ファイル動的に設定される環境変数とシークレット
保存場所プロジェクトのルートディレクトリにある .env ファイルに保存されます。データベースの environmentVariables テーブルに保存されます。
ロード方法アプリケーション起動時に dotenv などのツールを使って process.env にロードされます。動的に読み込まれ、アプリケーション起動時に app.environment にロードされます。
変更方法ファイルを直接編集する必要があり、変更を有効にするにはアプリケーションの再起動が必要です。実行時に変更をサポートしており、アプリケーション設定をリロードするだけで変更が適用されます。
環境分離各環境(開発、テスト、本番)で .env ファイルを個別に管理する必要があります。各環境(開発、テスト、本番)で environmentVariables テーブルのデータを個別に管理する必要があります。
適用シナリオアプリケーションのメインデータベース情報など、固定された静的な設定に適しています。外部データベースやファイルストレージ情報など、頻繁な調整が必要な、またはビジネスロジックに紐づく動的な設定に適しています。

インストール

組み込みのプラグインなので、個別のインストールは不要です。

用途

設定データの再利用

例えば、ワークフローの複数の箇所でメールノードが必要で、それぞれSMTPを設定する必要がある場合、共通のSMTP設定を環境変数に保存できます。

20250102181045

機密データの保存

各種外部データベースのデータベース設定情報、クラウドファイルストレージのキーなどの機密データを保存できます。

20250102103513

環境設定の分離

ソフトウェア開発、テスト、本番などの異なる環境において、それぞれの設定やデータが互いに干渉しないように、独立した設定管理戦略を使用します。各環境には独自の独立した設定、変数、リソースがあり、これにより開発、テスト、本番環境間の競合を回避し、システムが各環境で期待通りに動作することを保証します。

例えば、ファイルストレージサービスの設定は、開発環境と本番環境で異なる場合があります。以下に例を示します。

開発環境

FILE_STORAGE_OSS_BASE_URL=dev-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=dev-storage

本番環境

FILE_STORAGE_OSS_BASE_URL=prod-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=prod-storage

環境変数管理

20250102155314

環境変数の追加

  • 単一追加と一括追加をサポートしています。
  • 平文と暗号化の両方をサポートしています。

20250102155509

単一追加

20250102155731

一括追加

20250102155258

注意事項

アプリケーションの再起動

環境変数を変更または削除すると、上部にアプリケーションの再起動を促すメッセージが表示されます。環境変数への変更は、アプリケーションを再起動した後にのみ有効になります。

20250102155007

暗号化ストレージ

環境変数の暗号化データにはAES対称暗号化が使用されます。暗号化と復号化のためのPRIVATE KEYはストレージディレクトリに保存されています。このキーは大切に保管してください。紛失したり上書きされたりすると、暗号化されたデータを復号化できなくなります。

./storage/environment-variables/<app-name>/aes_key.dat

現在、環境変数をサポートしているプラグイン

Action: カスタムリクエスト

20250102180751

Auth: CAS

20250102160129

Auth: DingTalk

20250102160205

Auth: LDAP

20250102160312

Auth: OIDC

20250102160426

Auth: SAML

20250102160652

Auth: WeCom

20250102160758

データソース: 外部MariaDB

20250102160935

データソース: 外部MySQL

20250102173602

データソース: 外部Oracle

20250102174153

データソース: 外部PostgreSQL

20250102175630

データソース: 外部SQL Server

20250102175814

データソース: KingbaseES

20250102175951

データソース: REST API

20250102180109

ファイルストレージ: ローカル

20250102161114

ファイルストレージ: Aliyun OSS

20250102161404

ファイルストレージ: Amazon S3

20250102163730

ファイルストレージ: Tencent COS

20250102173109

ファイルストレージ: S3 Pro

未対応

マップ: AMap

20250102163803

マップ: Google

20250102171524

メール設定

未対応

通知: メール

20250102164059

公開フォーム

20250102163849

システム設定

20250102164139

認証: Aliyun SMS

20250102164247

認証: Tencent SMS

20250102165814

ワークフロー

20250102180537