是否可以google.cloud
使用用户帐户(而非服务帐户)从插件运行 ansible 任务?我们已经建立了用户组和角色的综合层次结构,将其转换为服务帐户将非常麻烦。
答案1
不可以。Ansible google.cloud 凭证必须是服务账户。
请参阅Ansible GCE 指南.auth_kind
仅更改查找此服务帐户的方式:
serviceaccount
service_account_file
使用或 的 帐户service_account_contents
。这个可能是最容易使用的。machineaccount
使用与运行 Ansible 的 GCP 实例关联的服务帐户。application
使用应用程序默认凭据与参数提供的API相关联scopes
。
自动化帐户不应是最终用户帐户。消除了以自动化用户身份交互执行某些操作的诱惑。API 密钥样式的凭据很强大,不像垃圾人类密码。
创建服务帐户很容易。困难的部分是验证角色...
答案2
是的,您可以添加 SSH 用户,不完全是 Goole 用户,但您可以创建额外的 SSH 密钥以与您的 ansible 脚本一起使用。
基本上,您可以通过三种方式将 SSH 密钥添加到您的 VM 实例:
通过 CLI(GCloud SDK)创建实例,传递参数 --metadata-from-file
gcloud 计算实例创建 my-instance --image-family=debian-10 --metadata-from-file ssh-keys=my-ssh-keys.pub
笔记你的 ssh-keys 文件必须是格式化正如谷歌所预期的那样:
将 SSH 用户添加到特定 VM 实例
在 Cloud Console 上,转到VM 实例页,编辑它,并且,在SSH 密钥, 点击显示和编辑,添加您的 SSH 密钥(新增项目),然后保存。
在项目范围内添加 SSH 用户
在 Cloud Console 上,转到元数据页面对于您的项目,SSH 密钥, 点击编辑,然后点击新增项目添加你的 SSH 密钥用户