API7 Enterprise v3.2.16:統合されたSecret Providers

Zhihuang Lin

Zhihuang Lin

October 10, 2024

Products

API7 Enterpriseでは、SSL証明書や秘密鍵、コンシューマ認証情報のユーザー名とパスワード、特定のプラグインが外部システムに接続するために必要な情報など、大量の機密情報を保存する場合があります。

API7 Enterprise v3.2.16では、「Secret Providers」の概念が導入されました。これにより、HashiCorp VaultAWS Secrets ManagerGCP Secret Managerなどのサードパーティのシークレットマネージャーと統合するためのシークレットプロバイダーリソースを簡単に追加できるようになりました。これにより、外部に保存された機密情報をAPI7で変数として参照することが可能になります。参照形式は以下の通りです:

$secret://$manager/$id/$secret_name/$key

シークレットプロバイダーの使用方法

シークレットプロバイダーの追加

Gateway Groupメニューに新しい「Secret Provider」オプションが追加されました。ボタンをクリックしてシークレットプロバイダーリストページにアクセスします。その後、ページの右上にある「Add Secret Provider」ボタンをクリックします。

API7 Enterpriseでのシークレットプロバイダーの追加

ポップアップウィンドウで、シークレットプロバイダーの基本情報を入力し、シークレット管理サービスの種類(例:HashiCorp Vault)を選択します。その後、HashiCorp Vaultの設定に必要なサービスアクセスアドレスと認証トークンを提供します。

シークレットプロバイダーの表示

作成後、シークレットプロバイダーの詳細ページで具体的な設定内容とシークレット変数の例を確認できます。

API7 Enterpriseでのシークレットプロバイダーの詳細

シークレット変数の形式は次の通りです:secret://manager/$id/$secret_name/$key。各要素の意味は以下の通りです:

  • $secret: 固定のプレフィックス、変更不要
  • $manager: シークレット管理サービス
  • $id: シークレットプロバイダーリソースのID
  • $secret_name: シークレット管理サービス内のシークレット名
  • $key: シークレット管理サービス内のシークレットに対応するキー

例えば、シークレットプロバイダーIDがmy-providerで、シークレット管理サービスの種類がHashiCorp Vaultの場合、my-secretという名前のシークレットとpasswordというキーを参照する場合、対応するシークレット変数は次のようになります:

$secret://vault/my-hashicorp-vault/my-secret/password

現在、HashiCorp Vaultがサポートされているシークレット管理サービスです。AWS Secrets ManagerとGCP Secret Managerも近日中に利用可能になる予定です。

シークレット変数の参照

シークレットプロバイダーを作成した後、API7 Enterprise内のさまざまなリソースで外部に保存された機密情報を変数として参照できます。例えば、コンシューマのBasic Authentication認証情報を追加する際に、パスワードなどの機密情報を外部のシークレット管理サービスに保存し、API7 Enterpriseで参照することで、セキュリティを強化できます。

API7 Enterpriseでのシークレットプロバイダーの参照

同様に、フォームページ以外のプラグインエディタなどでも、シークレット変数の値を文字列として直接入力し、シークレットを参照できるフィールドに使用できます。

プラグイン有効化時のシークレット情報の参照

参照関係の表示

my-providerからの変数をコンシューマ認証情報で参照すると、シークレットプロバイダーの参照リストでこの参照関係を確認できます。他の参照リソースもこのリストに表示され、シークレットプロバイダーの使用状況を簡単に追跡できます。

シークレットプロバイダーの参照関係

シークレットプロバイダーの編集または削除

シークレットプロバイダーを編集または削除する際、システムは参照関係をチェックし、リソース内で無効な変数が参照されないようにして、設定エラーを防ぎます。

API7 Enterpriseでのシークレットプロバイダーの編集または削除

まとめ

HashiCorp Vaultなどの外部シークレット管理サービスと統合することで、API7 Enterpriseは外部に保存された機密情報をさまざまなリソースで簡単に参照できるようになりました。これにより、手動での機密情報管理に伴うリスクとコストを削減できます。今後、さらに多くの種類のシークレット管理サービスをサポートし、ユーザーのニーズに応え、機密情報の管理における柔軟性とセキュリティを確保する予定です。

Tags: