niainalens.gcp_secret_manager
GCP シークレットマネージャーの ANSIBLE ROLE
GCP シークレットマネージャーからシークレットを取得し、指定したファイルに保存します。
要件
- 正しいプロジェクトの GCP アカウントに認証済みであること
- GCP シークレットマネージャーにシークレットが存在すること
- API を有効にすること:
シークレットマネージャー (secretmanager.googleapis.com)
$ gcloud services list --available | grep Secret
secretmanager.googleapis.com
$ gcloud services enable secretmanager.googleapis.com
ロール変数
# "gcp_secrets" 変数は辞書として定義する必要があります
gcp_secrets:
SECRET_NAME_1: # 任意の名前を付けてください('name' と同じでもかまいません)
name: SECRET_NAME_1 # GCP シークレットマネージャーでの正確な名前
file_path: "/PATH/TO/TARGET_FILE/SECRET_NAME"
file_owner: USER # シークレットを管理するユーザー(例:root)
file_group: USER # 指定しない場合、デフォルトは "file_owner"
file_mode: '0400' # 安全に保つために
SECRET_NAME_2:
name: SECRET_NAME_2
file_path: "/PATH/TO/TARGET_FILE/SECRET_NAME"
file_owner: USER
file_mode: '0644'
SECRET_NAME_N:
name: SECRET_NAME_N
file_path: "/PATH/TO/TARGET_FILE/SECRET_NAME"
file_owner: USER
file_mode: '0600'
依存関係
なし。
例 Playbook
- hosts: web-servers
vars:
gcp_secrets:
database:
name: MYSQL_PASSWORD
file_path: "/srv/mysql_pwd"
file_owner: root
file_group: root
file_mode: '0400'
nexus:
name: NEXUS_PASSWORD
file_path: "/srv/nexus_pwd"
file_owner: root
file_mode: '0400'
roles:
- gcp_secret_manager
改善点
- シークレットの管理: 追加、編集、削除
- シークレットのプロパティ(バージョン、レプリケーション、場所、ラベル、IAM)の編集
ライセンス
Apache
著者情報
作成者: Niaina Lens
2022年9月
プロジェクトについて
Ansible role for GCP Secret Manager
インストール
ansible-galaxy install niainalens.gcp_secret_manager
ライセンス
apache-2.0
ダウンロード
2.3k
所有者
Lead DevOps Advocate | Cloud | SRE