gcloud-check成员在资源上具有角色



我正试图使用gitlab ci.中的for循环来删除谷歌云功能的某些权限

for i in ${!CFS[@]}; do
gcloud functions remove-iam-policy-binding ${API_VERSION}-${CFS[$i]} --member=${MEMBER} --role=${ROLE}
done

问题是,如果资源没有给定的角色,对于该成员,我会得到一个错误。

CCD_ 1。

在执行remove-iam-policy-bindinggcloud命令之前,我希望通过检查成员是否在资源上具有给定的角色来避免这种情况。在删除某个成员之前,是否有方法检查该成员对给定资源的权限?

我能够使用gcloud functions get-iam-policy并过滤我想要的权限和角色来实现这一点。如果角色是为给定的用户设置的,那么我会删除它

for mem in $(gcloud functions get-iam-policy ${CFS[$i]} --flatten="bindings[].members" --filter="bindings.role:roles/cloudfunctions.invoker" --format="value(bindings.members)") 
do
echo $mem
gcloud functions remove-iam-policy-binding ${CFS[$i]} --member=$mem --role="roles/cloudfunctions.invoker"
done

相关内容

  • 没有找到相关文章