如何使用Ansible Playbook在GCP上删除服务帐户密钥?

时间:2019-12-17 07:14:17

标签: google-cloud-platform ansible service-accounts

我正在使用Ansible剧本来运行某些模块,这些模块创建服务帐户及其各自的密钥。用于生成此代码的代码在Ansible文档中找到:

- name: create a service account key
  gcp_iam_service_account_key:
    service_account: "{{ serviceaccount }}"
    private_key_type: TYPE_GOOGLE_CREDENTIALS_FILE
    path: "~/test_account.json"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

现在我正在尝试删除服务帐户密钥,因此我将状态值从现在更改为不存在,但这似乎并没有太大作用,想问我是否遗漏了一些东西或是否还有其他东西可以尝试吗?

1 个答案:

答案 0 :(得分:1)

我不确定是否可行,因为我在ansible文档中找不到the module,但是在deletion for instance s示例中,我看到在缺席状态之后,他们使用了标签以进行删除,这可能是针对SA的一种方法。例如

状态:不存在       标签:         -删除

其他可能有用的方法是直接向REST API发送请求,例如

删除https://iam.googleapis.com/v1/projects/[PROJECT-ID]/serviceAccounts/[SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com/keys/[KEY-ID]