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)¶ ベースクラス:
genvid.toolbox.consul.ConsulTool
Vault の処理を行うための class。
警告: これは、class のベータ実装版です。 バージョン 1.16.0 で変更: Vault ファイルの中身より、環境変数が優先されます。
バージョン 1.20.0 で変更: use_wan パラメータで、サービスアドレスを TaggedAddress 「wan」 に置き換えます。デフォルトでは、内部登録アドレスを使用します。
-
NAME
= 'Vault'¶
-
DESCRIPTION
= 'A tool for interfacing with Vault.'¶
-
VAULT_TOKEN_FILE
= None¶ Vault トークンの保存場所へのファイルパスを含む
VAULT_TOKEN_FILE
のミラー。バージョン 1.30.0 で追加.
-
VAULT_KEYS_FILE
= None¶ Vault キーの保存場所へのファイルパスを含む
VAULT_KEYS_FILE
のミラー。バージョン 1.30.0 で追加.
-
VAULT_TOKEN
= None¶ 認証に使用する Vault トークンが含まれる
VAULT_TOKEN
のミラー。
-
VAULT_KEYS
= None¶ コンマ区切りの Vault シールキーが含まれる
VAULT_KEYS
のミラー。
-
VAULT_ADDR
= None¶ Vault サービスアドレス (プロトコルを含む) が含まれる
VAULT_ADDR
のミラー。
-
GENVID_VAULT_POLICIES_FOLDER
= None¶ Vault ポリシーが含まれるフォルダを表す
GENVID_VAULT_POLICIES_FOLDER
のミラー。
-
GENVID_VAULT_TOKEN_ROLES_FOLDER
= None¶ Vault トークンのルールが含まれるフォルダを表す
GENVID_VAULT_TOKEN_ROLES_FOLDER
のミラー。
-
DEFAULT_PKI_PATH
= None¶ これは、デフォルトで使用する 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
パラメータを削除しました。
-
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: typing.Union[str, NoneType] = None)¶ 指定のフォルダからポリシーを読み込む。
ポリシーの拡張子は、.hcl です。ポリシー名は、拡張子をとったベースファイル名になります。
パラメータ: folder – 検索するフォルダ。None の場合は GENVID_VAULT_POLICIES_FOLDER
を使用する。
-
vault_load_roles
(folder: typing.Union[str, NoneType] = None)¶ 指定のフォルダから役割を読み込む。
Role の拡張子は、.json で、役割のプロパティが含まれます。名前を指定しない場合、拡張子を取ったベースファイル名を使用します。
デフォルトでは、ロールタイプは token です。ロール json ファイルが vault-role フォルダのサブフォルダにある場合、の場合、サブフォルダ名がロールタイプに対応します。 現在、 token および pki のロールタイプがサポートされています。
Rolename は、 json ファイル名から取得します。 name 設定が json ファイルに存在する場合、その名前が使用されます。
パラメータ: folder – 検索するフォルダ。None の場合は GENVID_VAULT_TOKEN_ROLES_FOLDER
を使用する。バージョン 1.29.0 で変更:
vault_load_roles
をvault_load_roles
に名称変更
-
vault_load_token_roles
(folder: typing.Union[str, NoneType] = 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
¶