我想在Ansible(2.5.X)中使用gsutil
作为command
。在托管服务器上,我已经设置了云访问(服务帐户)。当我在机器上使用gsutil
时,它可以正常工作。但是当我在管理机器上创建一个剧本并尝试运行SDK命令时,我无权访问云和权限被拒绝错误。
我怀疑Ansible以特定的方式处理SSH连接和环境。有人可以帮我解决如何在Ansible中使用SDK命令吗?
- name: use ansible command
command: >
gsutil list gs://project.something.com
我知道有gs_storage模块。但我不知道在已配置的设置中哪里可以找到gs_access_key
。在.config/gcloud
?我还在学习云,所以这些东西对我来说都是新的。云访问是使用.json
密钥设置的,但是在我从托管计算机中删除此密钥后(不应公开)。
最好的祝福 卡米尔
gsutil list
至少需要角色Viewer
分配给实例服务帐户 - 或roles/storage.objectViewer
,以防它也应该能够从桶中获取文件。 Providing Credentials as Module Parameters展示了如何使用gcp_compute_instance
模块进行身份验证 - 另请参阅Cloud Storage IAM Roles和Cloud Storage Authentication(范围)。