niainalens.gcp_secret_manager

维护中

GCP 秘密管理器的 ANSIBLE 角色

从 GCP 秘密管理器获取秘密并将其放入指定文件中

要求

  • 对你的 GCP 账户在正确项目上进行身份验证
  • 在 GCP 秘密管理器中存储你的秘密
  • 启用 API:

秘密管理器 (secretmanager.googleapis.com)

$ gcloud services list --available | grep Secret
secretmanager.googleapis.com
$ gcloud services enable secretmanager.googleapis.com

角色变量

# var "gcp_secrets" 必须定义为字典

gcp_secrets:
  SECRET_NAME_1: # 给它一个任意名称,可以与 'name' 相同
    name: SECRET_NAME_1 # 在 GCP 秘密管理器中的确切名称
    file_path: "/路径/到/目标文件/SECRET_NAME"
    file_owner: 用户 # 也许 root 是你的秘密管理用户
    file_group: 用户 # 如果未指定,默认为 "file_owner"
    file_mode: '0400' # 确保保持安全
  SECRET_NAME_2:
    name: SECRET_NAME_2
    file_path: "/路径/到/目标文件/SECRET_NAME"
    file_owner: 用户
    file_mode: '0644'
  SECRET_NAME_N:
    name: SECRET_NAME_N
    file_path: "/路径/到/目标文件/SECRET_NAME"
    file_owner: 用户
    file_mode: '0600'

依赖

无。

示例剧本

- 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