このプロジェクトについて
Vaultは、HashiCorp製のシークレット管理ツールです。シークレットとは、APIキー、パスワード、証明書などの認証情報のように、アクセスを厳密に制御したいものすべてを指します。Vaultは、あらゆるシークレットへの統一インターフェースを提供するとともに、厳格なアクセス制御と詳細な監査ログを提供します。
READMEに記載されている主な機能は次のとおりです。
- 安全なシークレットストレージ: Vaultは任意のキーと値のペアを保存し、永続ストレージに書き込む前にデータを暗号化するため、生のストレージにアクセスするだけではシークレットを読み取ることはできません。ディスク、Consul、その他のバックエンドに書き込むことができます。
- 動的シークレット: Vaultは、AWSやSQLデータベースなどのシステム向けに、オンデマンドでシークレットを生成できます。例えば、アプリケーションがS3バケットの認証情報を要求すると、Vaultは有効な権限を持つAWSキーペアをオンデマンドで生成し、リースの期限が切れると自動的に失効させます。
- データ暗号化: Vaultはデータを保存せずに暗号化および復号化できるため、セキュリティチームが暗号化パラメータを定義し、開発者は独自の暗号化を設計することなく、SQLデータベースなどの場所に暗号化されたデータを保存できます。
- リースと更新: 各シークレットにはリースが関連付けられています。リースの終了時にVaultは自動的にシークレットを失効させ、クライアントは組み込みの更新APIを介してリースを更新できます。
- 失効: Vaultは、単一のシークレットまたはシークレットのツリーの失効をサポートしています。例えば、特定のユーザーが読み取ったすべてのシークレットや、特定の種類のすべてのシークレットを失効させることができ、キーローテーションや侵入後のシステムのロックダウンに役立ちます。
READMEには、HashiCorpのラーニングプラットフォーム上のドキュメント、入門ガイド、チュートリアル、認定試験へのリンクに加え、さまざまな言語のアプリケーションからVaultを操作するためのサンプルリポジトリとサンプルアプリケーションへのリンクがあります。
開発について、VaultはGoで書かれています。READMEには、GoのインストールとGOPATH/GOBINの設定、GOPATHの外にリポジトリをクローンすること、`make bootstrap`によるブートストラップが説明されています。開発ビルドは`make`または`make dev`で生成され、UIビルドは`make static-dist dev-ui`で生成されます。テストは`make test`で実行され(Dockerが必要)、パッケージ固有のテストはTEST変数を使用して実行できます。受け入れテストは`make testacc`で実行され、実際のリソースを作成、変更、または破棄する可能性があるため、注意して実行する必要があります。リポジトリには、`sdk/helper/testcluster/docker`パッケージを使用した実験的なDockerベースのテストメカニズムも文書化されており、カスタムバイナリやEnterpriseライセンスのオプションが含まれています。
リポジトリは、`github.com/hashicorp/vault/api`と`github.com/hashicorp/vault/sdk`の2つのインポート可能なライブラリを公開しています。READMEには、メインのVault製品を依存関係としてインポートすることはサポートされていないユースケースであると記載されています。セキュリティの問題は、security@hashicorp.comに責任を持って開示する必要があります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.