環境変数 Vault
ビルド時に注入できるシークレットの環境変装への保存は一般的な方法です。
環境変数による構成
環境変数でシークレットを定義します。
export MY_SECRET_VALUE=EXAMPLE_VALUE
これで、次のシークレットを参照できます。
{vault://env/my-secret-value}
複数のシークレットを単一の環境変数で保存したい場合は、フラットな json
文字列を定義することもできます。ネストされた json
はサポートされていません。
export PG_CREDS='{"username":"user", "password":"pass"}'
これにより、シークレットを個別に参照できます。
{vault://env/pg-creds/username}
{vault://env/pg-creds/password}
Helmで環境変数を追加する場合は、渡される変数の前に
kong-
が追加されていることを確認してください。
vaultsエンティティによる構成
Vault エンティティは、データベースが初期化された後にのみ使用できます。データベースが初期化される 前に 使用された値のシークレットは、Vaultsエンティティを使用できません。
エンティティを配置すると、次のようにシークレットを参照できます。
{vault://my-env-vault/my-secret-value}
Vault構成オプション
サポートされているツールのいずれかを使用してVaultsエンティティを設定するには、以下の設定オプションを使用します。
- Admin API
- 宣言型構成
- Kong Manager
- Konnect
Kong Gatewayの環境変数Vaultの構成オプション:
パラメータ | フィールド名 | 説明 |
---|---|---|
vaults.config.prefix |
config-prefix (Kong Manager) 環境変数接頭辞 (Konnect) |
値が格納される環境変数の接頭辞。 |
一般的なオプション:
パラメータ | フィールド名 | 説明 |
---|---|---|
vaults.description オプション |
説明 | Vaultのオプションの説明です。 |
vaults.name |
名前 | Vaultのタイプ。env 、 gcp 、 aws 、またはhcv のいずれかを受け入れます。環境変数vaultにenv を設定します。 |
vaults.prefix |
プレフィックス | 参照プレフィックス(接頭辞)。このボールトに保存されているシークレットにアクセスするには、この接頭辞が必要です。たとえば、 {vault://my-env-vault/<some-secret id="sl-md0000000">} などです。 |