#!/usr/bin/python import commands import sys def run_command(command): return_code, output = commands.getstatusoutput(command) if return_code != 0: raise ValueError("Failed to execute command: %s" % command) return output def list_key_ids_for_service_account(service_account): return parse_list_key_output( run_command("gcloud iam service-accounts keys list --iam-account %s" % service_account) ) def parse_list_key_output(output): for line in [l for l in output.splitlines() if l][1:-1]: key_id, created_at, expires_at = line.split() yield key_id def delete_keys(key_ids, service_account): for key_id in key_ids: run_command( "gcloud iam service-accounts keys delete %s --iam-account %s --quiet" % (key_id, service_account), ) print "Deleted key %s" % key_id if __name__ == "__main__": service_account = sys.argv[1] delete_keys( list_key_ids_for_service_account(service_account), service_account, )