GCP+Ansible:如何使用用户帐户运行剧本

GCP+Ansible:如何使用用户帐户运行剧本

是否可以google.cloud使用用户帐户(而非服务帐户)从插件运行 ansible 任务?我们已经建立了用户组和角色的综合层次结构,将其转换为服务帐户将非常麻烦。

答案1

不可以。Ansible google.cloud 凭证必须是服务账户。

请参阅Ansible GCE 指南.auth_kind仅更改查找此服务帐户的方式:

  • serviceaccountservice_account_file使用或 的 帐户service_account_contents。这个可能是最容易使用的。
  • machineaccount使用与运行 Ansible 的 GCP 实例关联的服务帐户。
  • application使用应用程序默认凭据与参数提供的API相关联scopes

自动化帐户不应是最终用户帐户。消除了以自动化用户身份交互执行某些操作的诱惑。API 密钥样式的凭据很强大,不像垃圾人类密码。

创建服务帐户很容易。困难的部分是验证角色...

答案2

是的,您可以添加 SSH 用户,不完全是 Goole 用户,但您可以创建额外的 SSH 密钥以与您的 ansible 脚本一起使用。

基本上,您可以通过三种方式将 SSH 密钥添加到您的 VM 实例:

  1. 通过 CLI(GCloud SDK)创建实例,传递参数 --metadata-from-file

    gcloud 计算实例创建 my-instance --image-family=debian-10 --metadata-from-file ssh-keys=my-ssh-keys.pub

笔记你的 ssh-keys 文件必须是格式化正如谷歌所预期的那样:

  1. 将 SSH 用户添加到特定 VM 实例

    在 Cloud Console 上,转到VM 实例页,编辑它,并且,在SSH 密钥, 点击显示和编辑,添加您的 SSH 密钥(新增项目),然后保存。

    添加或删除实例级 SSH 公钥

  2. 在项目范围内添加 SSH 用户

    在 Cloud Console 上,转到元数据页面对于您的项目,SSH 密钥, 点击编辑,然后点击新增项目添加你的 SSH 密钥用户

    添加或删除项目范围的公共 SSH 密钥

相关内容