genvid.toolbox.VaultTool
警告
これは API のベータ版で、今後のリリースで変更される可能性があります。
- class genvid.toolbox.VaultTool(vault_policies_folder: str = '', vault_roles_folder: str = '', vault_token_file: str = '', vault_keys_file: str = '', use_wan: bool = False, **kwargs)
ベースクラス:
ConsulTool
Vault の処理を行うための class。
- 警告
これは、class のベータ実装版です。
バージョン 1.16.0 で変更: Vault ファイルの中身より、環境変数が優先されます。
バージョン 1.20.0 で変更: use_wan パラメータで、サービスアドレスを TaggedAddress "wan" に置き換えます。デフォルトでは、内部登録アドレスを使用します。
- NAME = 'Vault'
このツールのロガー名。子 class (children) で再定義する必要があります。
- DESCRIPTION = 'A tool for interfacing with Vault.'
ヘルプパーサーで使用されるツールの説明。子 class (children) で再定義する必要があります。
- VAULT_TOKEN_FILE
Vault トークンの保存場所へのファイルパスを含む
VAULT_TOKEN_FILE
のミラー。バージョン 1.30.0 で追加.
- VAULT_KEYS_FILE
Vault キーの保存場所へのファイルパスを含む
VAULT_KEYS_FILE
のミラー。バージョン 1.30.0 で追加.
- VAULT_TOKEN
認証に使用する Vault トークンが含まれる
VAULT_TOKEN
のミラー。
- VAULT_KEYS
コンマ区切りの Vault シールキーが含まれる
VAULT_KEYS
のミラー。
- VAULT_ADDR
Vault サービスアドレス (プロトコルを含む) が含まれる
VAULT_ADDR
のミラー。
- GENVID_VAULT_POLICIES_FOLDER
Vault ポリシーが含まれるフォルダを表す
GENVID_VAULT_POLICIES_FOLDER
のミラー。
- GENVID_VAULT_TOKEN_ROLES_FOLDER
Vault トークンのルールが含まれるフォルダを表す
GENVID_VAULT_TOKEN_ROLES_FOLDER
のミラー。
- DEFAULT_PKI_PATH
これは、デフォルトで使用する pki エンジンパスです。
- get_vault_client_addr(timeout: float = 30.0, passing: bool = True)
Vault サーバーのアドレスを返す。
バージョン 1.20.0 で変更: 構築時に use_wan を渡し易くするように、
use_wan
パラメータを削除しました。
- get_vault_client_url(timeout: float = 0, use_https: bool = False, passing: bool = True)
Vault サーバーの URL を返す。
バージョン 1.20.0 で変更: 構築時に use_wan を渡し易くするように、
use_wan
パラメータを削除しました。
- property vault
Vault クライアント
- init_vault_client(timeout: float = 30.0, passing: bool = True)
Vault クライアントを初期化する。
クライアントが初期化に
VAULT_ADDR
を使用する。指定されていない場合、照会サービスで Vault サービスのクエリを行い、VAULT_ADDR
がセットされる。- パラメータ
timeout -- サービスクエリのタイムアウト (秒)。
- mount_vault_engines()
Bastion の動作に必要なシークレットエンジンをマウント。
::versionadded: 1.29.0
- mount_pki_engine(mount_point)
vault pki シークレットエンジンを設定し、 root ca を作成
- パラメータ
mount_point -- pki エンジンをマウントしたマウントポイント
::versionadded: 1.29.0
- vault_load_policies(folder: Optional[str] = None)
指定のフォルダからポリシーを読み込む。
ポリシーの拡張子は、.hcl です。ポリシー名は、拡張子をとったベースファイル名になります。
- パラメータ
folder -- 検索するフォルダ。None の場合は
GENVID_VAULT_POLICIES_FOLDER
を使用する。
- vault_load_roles(folder: Optional[str] = None)
指定のフォルダから役割を読み込む。
ロールは、ロールのプロパティを含む
.json
拡張子を持つ必要があります。フォルダは、ファイル名が指定されていない場合、ベースとなるファイル名から拡張子を除いたものを使用します。デフォルトでは、ロールタイプは
token
です。ただし、デフォルトではロール json ファイルが vault-role フォルダのサブフォルダにある場合、サブフォルダ名がロールタイプに対応します。 現在、 token および pki のロールタイプがサポートされています。ロールネームは、jsonファイル名から取得します。もし
name
の設定が json ファイルに存在する場合は、この名前が代わりに使用されます。- パラメータ
folder -- 検索するフォルダ。None の場合は
GENVID_VAULT_TOKEN_ROLES_FOLDER
を使用する。
バージョン 1.29.0 で変更:
vault_load_token_roles()
renamed tovault_load_roles()
- vault_load_token_roles(folder: Optional[str] = None)
バージョン 1.29.0 で非推奨:
vault_load_roles()
を使用してください。
- vault_setup()
初期化されていない場合、Vault を設定する。
- vault_setup_secret_engines()
vault シークレットエンジンを設定し、ロールを読み込む
param vault_roles_folder: vault ロールの格納フォルダ
- refresh_token(force: bool = False)
Vault 情報を更新する。
param force: 値が設定されている場合でも、変数を強制的に変更する。
バージョン 1.16.0 で変更: force param を追加し、すでに設定されている場合はオーバーライドしない。
- init_vault(key_shares=1, key_threshold=1)
Vault を初期化する。
このメソッドは環境変数
VAULT_TOKEN
とVAULT_KEYS
を連続で作成し、既存の値をオーバーライドする。
- auth_vault(token=None)
Vault クライアントを認証する。
param token: vault 処理のトークン。
None
の場合、VAULT_TOKEN
を使用。バージョン 1.16.0 で変更: オプションのトークンパラメータを追加する。
- unseal_vault(timeout: float = 30.0) bool
VAULT_KEYS
で Vault のシールを解除する。- パラメータ
timeout -- seal status の変更の待機時間(秒)
- Raises
vault keys が設定されていない場合 RuntimeError が発生。
バージョン 1.29.0 で変更: 空のキーをチェックして、パラメータが見つからないという未知のエラーとなります。
- create_vault_token(*, role=None, orphan=False, wrap_ttl=None, **properties)
指定したプロパティで、新しいトークンを作成する。
- save_vault_token()
Vault トークンをホームフォルダに保存する。
- save_vault_keys()
Vault key をホームフォルダに保存する。
- load_vault_token() str
VAULT_TOKEN_FILE
から vault key を読み込む。
- load_vault_keys() str
VAULT_KEYS_FILE
から vault key を読み込む。
- clear_vault_files()
Vault シークレットファイルを消去する。
- create_vault_token_role(role, *, wrap_ttl=None, **properties)
指定したプロパティで、新しいトークンの役割を作成する。
- class vault.VaultTool