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

VAULT_KEYS_FILE = None

Vault key の保存場所。デフォルトは、file:~/.vault-keys

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 のミラー。

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 – サービスクエリのタイムアウト (秒)。
vault_load_policies(folder: typing.Union[str, NoneType] = None)

指定のフォルダからポリシーを読み込む。

ポリシーの拡張子は、.hcl です。ポリシー名は、拡張子をとったベースファイル名になります。

パラメータ:folder – 検索するフォルダ。None の場合は GENVID_VAULT_POLICIES_FOLDER を使用する。
vault_load_token_roles(folder: typing.Union[str, NoneType] = None)

指定のフォルダから、トークンの役割を読み込む。

ポリシーの拡張子は、.json で、役割のプロパティが含まれます。名前を指定しない場合、拡張子を取ったベースファイル名を使用します。

パラメータ:folder – 検索するフォルダ。None の場合は GENVID_VAULT_TOKEN_ROLES_FOLDER を使用する。
vault_setup()

初期化されていない場合、Vault を設定する。

refresh_token(force: bool = False)

Vault 情報を更新する。

param force: 値が設定されている場合でも、変数を強制的に変更する。

バージョン 1.16.0 で変更: force param を追加し、すでに設定されている場合はオーバーライドしない。

init_vault(key_shares=1, key_threshold=1)

Vault を初期化する。

このメソッドは環境変数 VAULT_TOKENVAULT_KEYS を連続で作成し、既存の値をオーバーライドする。

auth_vault(token=None)

Vault クライアントを認証する。

param token: vault 処理のトークン。None の場合、VAULT_TOKEN を使用。

バージョン 1.16.0 で変更: オプションのトークンパラメータを追加する。

unseal_vault(timeout: float = 30.0)

VAULT_KEYS で Vault のシールを解除する。

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

genvid.toolbox.VaultTool の実装