HashiCorp Vault¶
Virtual DataPort では HashiCorp Vault から資格情報を取得する手段として、次の認証方法をサポートします。
Agent: シンクファイルを使用して、資格情報ボールトに接続します。
App Role: ロールとシークレット ID を使用して、資格情報ボールトに接続します。
LDAP: LDAP ユーザーを使用して、資格情報ボールトに接続します。
TLS Certificate: TLS クライアント証明書を使用して、資格情報ボールトに接続します。
Token: トークンを使用して、資格情報ボールトに接続します。
User/password: ユーザー名とパスワードを使用して、資格情報ボールトに接続します。
Agent¶
このモードでは、資格情報ボールトとの接続に用いる資格情報をシンクファイルから読み込みます。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。例: namespace1。
Certificate of Certification Authority (CA) (オプション): HashiCorp Vault の応答の検証に使用する X509 証明書を含むファイル。
Sink file (オプション): HashiCorp Agent が資格情報を生成するファイル。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
[Ok] をクリックして変更を保存します。
シンクファイルに関する注意点
Virtual DataPort では、[Sink file] からラップされたトークンとアンラップされたトークンを読み込むことができます。
[Sink file] が指定されていない場合、Virtual DataPort では資格情報ボールトに対して認証済みリクエストを使用しません。この場合、[URL] フィールドに HashiCorp エージェントの URL を指定した上で、そのエージェントで [Auto-Auth Token] を有効化する必要があります。
注釈
この認証方法を使用する場合、資格情報は要求されません。
App Role¶
このモードでは、資格情報ボールトへの接続にロールとシークレット ID が必要となります。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。
Authentication path: HashiCorp で認証パスを使用する場合、このフィールドでカスタム認証パスを定義できます。これが必要なのは、デフォルト認証パスを使用しない場合のみです (「 こちら 」を参照)。
Certificate of Certification Authority (CA): HashiCorp Vault の応答の検証に使用する証明書を含むファイルです。X509 証明書を指定する必要があります (オプション)。
Role Id: 既存の App Role のロール ID です。
Secret Id: 既存の App Role にアタッチされたシークレット ID です。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
[Ok] をクリックして変更を保存します。
LDAP¶
このモードでは、資格情報ボールトへの接続に LDAP ユーザーから取得したユーザー名とパスワードが必要となります。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。
Authentication path: HashiCorp で認証パスを使用する場合、このフィールドでカスタム認証パスを定義できます。これが必要なのは、デフォルト認証パスを使用しない場合のみです (「 こちら 」を参照)。
Certificate of Certification Authority (CA): HashiCorp Vault の応答の検証に使用する証明書を含むファイルです。X509 証明書を指定する必要があります (オプション)。
User: LDAP ユーザーのユーザー名です。
Password: 指定したユーザーのパスワードです。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
注釈
LDAP アクセスは HashiCorp Vault が行います。
[Ok] をクリックして変更を保存します。
TLS Certificate¶
資格情報ボールトへの接続にクライアント証明書を要求するモードです。サポートする形式は PEM と PFX/PKCS#12 です。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。
Authentication path: HashiCorp で認証パスを使用する場合、このフィールドでカスタム認証パスを定義できます。これが必要なのは、デフォルト認証パスを使用しない場合のみです (「 こちら 」を参照)。
Certificate of Certification Authority (CA): HashiCorp Vault の応答の検証に使用する証明書を含むファイルです。X509 証明書を指定する必要があります (オプション)。
Certificate name: この証明書に関連付けられたロール名です (オプション)。
Certificate format: 証明書のフォーマットです。
PFX/PKCS#12
Client certificate (private key): 資格情報ボールトによる認証に使用する秘密キーを含むファイルを指定します。
Password: クライアント証明書 を含むファイルのパスワードです。
PEM
Client certificate (private key): 資格情報ボールトによる認証に使用する秘密キーを含むファイルを指定します。このファイルにはパスワードを含めないでください。
PEM certificate: 資格情報ボールトによる認証に使用する証明書を含むファイルを指定します。
Intermediate PEM certificate: 資格情報ボールトによる認証に使用する中間証明書を含むファイルを指定します (オプション)。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
[Ok] をクリックして変更を保存します。
Token¶
このモードでは、資格情報ボールトとの接続にトークンが必要です。このトークンは直接指定することも、環境変数から取得することも可能です。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。
Certificate of Certification Authority (CA): HashiCorp Vault の応答の検証に使用する証明書を含むファイルです。X509 証明書を指定する必要があります (オプション)。
Token: 資格情報ボールトへのアクセスに使用するトークンです。
Token environment variable: 資格情報ボールトに対する認証に使用するトークンを取得するために、Virtual DataPort が読み込む環境変数の名前です。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
[Ok] をクリックして変更を保存します。
トークンに関する注意事項
Virtual DataPort では、ラップされたトークンとアンラップされたトークンを読み込むことが可能です。
注釈
この認証方法と [Token environment variable] の構成を使用する場合、資格情報は要求されません。
User/Password¶
このモードでは、資格情報ボールトへの接続にユーザー名とパスワードが必要となります。

以下のデータを指定する必要があります。
URL: HashiCorp Vault の URL。例: https://hashicorp-host:8200。
Namespace: HashiCorp で資格情報を取得するために使用される名前空間。
Authentication path: HashiCorp で認証パスを使用する場合、このフィールドでカスタム認証パスを定義できます。これが必要なのは、デフォルト認証パスを使用しない場合のみです (「 こちら 」を参照)。
Certificate of Certification Authority (CA): HashiCorp Vault の応答の検証に使用する証明書を含むファイルです。X509 証明書を指定する必要があります (オプション)。
User: ユーザー名です。
Password: 指定したユーザーのパスワードです。
Proxy: HashiCorp にプロキシ経由で接続する場合の設定。
[Ok] をクリックして変更を保存します。
HashiCorp Vault のシークレットの命名規則¶
シークレット
HashiCorp Vault では、シークレット情報の保存に用いるフィールド名を指定する、複数の種類のシークレットを作成できます。Virtual DataPort は、この種類のシークレットが次の命名規則に従うものと見なします。
ユーザー名:
username
という名称のフィールドで指定されていると見なします。パスワード:
password
という名称のフィールドで指定されていると見なします。AWS アクセスキー:
access_key
という名称のフィールドで指定されていると見なします。AWS シークレットキー:
secret_key
という名称のフィールドで指定されていると見なします。
ユーザー/パスワード資格情報を含むシークレットの例
{
"username": "my-user",
"password": "my-password"
}
AWS 資格情報を含むシークレットの例
{
"access_key": "my-access-key",
"secret_key": "my-secret-key"
}
名前空間
HashiCorp Vault では、シークレットをエレメントの種類に応じて異なるパスに保存します。Virtual DataPort がシークレットの値を取得するには、このパスが必要です。
例:
acmeuser
と命名されたKV
シークレットのパスはsecret/data/acmeuser
です。dbuser
と命名されたDatabase
シークレットのパスはdatabase/creds/dbuser
です。
Virtual DataPort でシークレットを構成する際には、これらのパスを指定する必要があります。

HashiCorp Vault の 名前空間 に置かれたシークレットには、先頭に名前空間の名称を付加する必要があります。たとえば、上記の例のシークレットを myns
名前空間に置いた場合、 myns/secret/data/acmeuser
および myns/database/creds/dbuser
として参照しなければなりません。