HashiCorp Vault の構成
HashiCorp Vault をツールチェーン内の 1 つのツール統合として構成して、HashiCorp Vault サーバー内に安全に保管されたシークレットにアクセスしたり参照したりできるようにすることができます。
ツールチェーンに HashiCorp Vault ツール統合を構成する前に、接続先の HashiCorp Vault サーバーへのアクセス権を持つ認証方式と、関連する資格情報が必要です。 例えば、authentication_method
が github
である場合、token
資格情報が必要です。 また、server url
、integration url
、および
secrets path
の値が必要です。 HashiCorp Vault サーバーが特定のポートにバインドされている場合、サーバー URL にポート番号を含めてください。 例えば、https://192.168.0.100:8200
です。
HashiCorp Vault ツール統合では、名前による秘密参照のみがサポートされます。 CRN による秘密参照を使用する場合は、 Secrets Manager ツール統合 を使用する必要があります。
API キーなどのシークレットおよびツールチェーンやデリバリー・パイプラインの一部であるシークレットをセキュアに管理するように、HashiCorp Vault を構成します。
-
ツールチェーン作成時にこのツール統合を構成する場合は、HashiCorp Vault ツール統合が構成中のテンプレート内に存在すれば、**「HashiCorp Vault」タブをクリックします。 あるいは、「その他のツール (More tools)」セクションで「HashiCorp Vault」**をクリックします。
-
ツールチェーンがあり、そこにこのツール統合を追加する場合、IBM Cloudコンソールから、メニューアイコンの
>Platform Automation>Toolchains をクリックします。 「ツールチェーン」ページで、ツールチェーンをクリックしてその「概要」ページを開きます。 あるいは、アプリの「概要」ページの「継続的デリバリー」カードで、**「ツールチェーンの表示」をクリックします。 次に、「概要」**をクリックします。
a. **「ツールの追加」**をクリックします。
b. 「ツール統合」セクションで**「HashiCorp Vault」**をクリックします。
-
ツールチェーン内の HashiCorp Vault カードでこのツール統合に対して表示する名前を入力します。 シークレット名は、
a-z
、A-Z
、および0-9
までの範囲内の文字、およびスペース文字をサポートします。 これらの範囲外の文字は許可されておらず、シークレットを解決することはできません。 例えば、my.secret
は無効なシークレット名ですが、my-secret
は有効です。 -
ツールチェーンから HashiCorp Vault カードをクリックしたときに開く HashiCorp Vault サーバーの URL を入力します。 この URL の前に
http
またはhttps
プロトコルという接頭部があり、https://www.acme.com:8200
などの HashiCorpVault ポート番号で終わっていることを確認してください。 -
HashiCorp Vault ツール統合の URL を入力します。 この値は、組織の HashiCorp Vault サーバーの Web UI コンソールまたはドキュメントに関連する組織固有の URL などの任意の有効な URL にすることができます。
-
構成済みの認証方式および関連した認証資格情報を使用する際にアクセス可能な HashiCorp Vault サーバー上のシークレットへのパスを入力します。 この値には、シークレット・パスのみを含める必要があり、シークレット・パスの最後にシークレット名を含めることはできません。 認証資格情報に、指定されたシークレット・パス内の関連する LIST 権限が含まれている場合、そのパス内のシークレットのリストを表示できます。
-
「統合の作成」 をクリックします。
-
ツールチェーンの「概要」ページの**「サード・パーティー・ツール」カードで、「HashiCorp Vault」**をクリックして、ツールチェーンまたはデリバリー・パイプライン内で使用するシークレットを HashiCorp Vault シークレット・ピッカー・コンポーネントおよび Pusher コンポーネントで選択します。
API を使用した HashiCorp Vault の構成
HashiCorp Vault ツール統合では、 、 read、および update ツール統合を作成するときに Toolchain HTTP API および SDK で使用できる以下の構成パラメーターがサポートされます。
hashicorpvault
値を使用して、要求本体に tool_type_id
プロパティーを指定する必要があります。
パラメーター | 使用法 | タイプ | Terraform 引数 | 説明 |
---|---|---|---|---|
認証方式 | 必須、更新可能 | ストリング | 認証方式 | HashiCorpVaultインスタンスの認証方法。 |
dashboard_url | 必須、更新可能 | ストリング | dashboard_url | このツール統合の HashiCorp Vault サーバー・ダッシュボードの URL。 グラフィカル UI では、 HashiCorp Vault ツール統合カードをクリックすると、ブラウザーがこのダッシュボードに移動します。 |
デフォルトの秘密 | オプション、更新可能 | ストリング | デフォルトの秘密 | HashiCorp Vault インスタンスでシークレット名のリストが返されない場合に使用されるデフォルトのシークレット名。 |
名前 | 必須、更新可能 | ストリング | 名前 | このツール統合の名前。 シークレット参照には、シークレットが存在するシークレット・ストアを識別するためのこの名前が含まれます。 ツールチェーンに統合されたすべてのシークレット・ストア・ツールには、シークレットの解決が適切に機能するように固有の名前を付ける必要があります。 |
パスワード | オプション、更新可能 | パスワード | パスワード | userpass 認証方式を使用する場合の HashiCorp Vault インスタンスの認証パスワード。 その他の認証方式では、このパラメーターは無視されます。 このパラメーターには、ツールチェーン秘密参照を使用できます。 秘密参照の使用について詳しくは、 Continuous Deliveryでの機密データの保護 を参照してください。 |
パス | 必須、更新可能 | ストリング | パス | HashiCorpVaultインスタンスに秘密が保存されているマウントパス。 |
role_id | オプション、更新可能 | パスワード | role_id | approle 認証方式を使用する場合の HashiCorp Vault インスタンスの認証役割 ID。 その他の認証方式では、このパラメーターは無視されます。 role_id をシークレットとして管理し、このパラメーターをプレーン・テキストで共有しないでください。 このパラメーターには、ツールチェーン秘密参照を使用できます。 秘密参照について詳しくは、 Continuous Delivery を参照してください。 |
秘密フィルター | オプション、更新可能 | ストリング | 秘密フィルター | HashiCorp Vault インスタンスから返される秘密の名前のリストをフィルタリングするための正規表現。 |
秘密 ID | オプション、更新可能 | パスワード | 秘密 ID | approle 認証方式を使用する場合の HashiCorp Vault インスタンスの認証秘密 ID。 その他の認証方式では、このパラメーターは無視されます。 このパラメーターには、ツールチェーン秘密参照を使用できます。 秘密参照について詳しくは、 Continuous Deliveryでの機密データの保護 を参照してください。 |
サーバー URL | 必須、更新可能 | ストリング | サーバー URL | HashiCorpVaultインスタンスのサーバーURL。 |
token | オプション、更新可能 | パスワード | token | github 認証方式および token 認証方式を使用する場合の HashiCorp Vault インスタンスの認証トークン。 その他の認証方式では、このパラメーターは無視されます。 このパラメーターには、ツールチェーン秘密参照を使用できます。 秘密参照について詳しくは、 Continuous Deliveryでの機密データの保護 を参照してください。 |
ユーザー名 | オプション、更新可能 | ストリング | ユーザー名 | userpass 認証方式を使用する場合の HashiCorp Vault インスタンスの認証ユーザー名。 その他の認証方式では、このパラメーターは無視されます。 |
HashiCorp Vault に関する詳細
HashiCorpVaultの詳細については、HashiCorpVaultをご覧ください。