如何检查 GCP 中每个密钥环中的每个密钥是否启用了密钥轮换?

How do I check if key rotation is enabled for each key in every keyring in GCP?

有没有办法自动执行此操作,而不必手动检查每个密钥环和密钥。我想要一个脚本,它将遍历所有密钥环并给我一个没有启用旋转或版本控制的密钥列表。

此脚本只是遍历所有位置,列出所有密钥环,然后是所有密钥,然后描述每个位置以获取轮换周期并打印出密钥 URI,然后是制表符,然后是轮换周期或“已禁用” " 如果 none.

#!/bin/bash

set -e

for LOC in $(gcloud kms locations list --format="get(LOCATION_ID)") ; do
  for KEYRING in $(gcloud kms keyrings list --location $LOC --format="get(NAME)") ; do
    for KEY in $(gcloud kms keys list --keyring $KEYRING --format="get(NAME)") ; do
      ROTATION=$(gcloud kms keys describe $KEY --format "get(rotationPeriod)")
      if [ -z "$ROTATION" ] ; then
        ROTATION="DISABLED"
      fi
      echo -e "$KEY\t$ROTATION"
    done
  done
done

欢迎对我生疏的 bash 脚本风格提供反馈。