在本文件中,它说:
根据您的组织策略配置,默认 服务帐户可能会自动被授予您的编辑者角色 项目。我们强烈建议您禁用自动角色 通过强制执行 iam.automaticIamGrantsForDefaultServiceAccounts 来授予 组织政策约束。如果您在之后创建了组织 2024 年 5 月 3 日,此限制默认强制执行。
如果禁用自动角色授予,您必须决定哪些角色 授予默认服务帐户,然后授予这些角色 你自己。
如果默认服务帐户已经具有编辑者角色,我们 建议您将编辑者角色替换为不太宽松的角色。 要安全地修改服务帐户的角色,请使用策略模拟器 查看更改的影响,然后授予和撤销 合适的角色。
我还注意到
Default compute service account
似乎也受到影响,并且默认情况下禁用自动角色授予。
在新项目中需要授予
App Engine Default Service Account
以及 Default compute service account
哪些不太宽松的角色,才能让您成功运行 gcloud app deploy
?
我尝试在没有授予任何角色的情况下进行部署,当然,我收到了与权限相关的错误;但是,当我查看旧项目并手动授予之前自动授予的角色时,我能够成功部署。我现在想按照 Google 的建议替换为不太宽松的角色,但我不知道这些角色是什么,以及是否必须同时用于
Default compute service account
和 App Engine Default Service Account
。
我可以想到两种解决方案来获得最少的所需权限:
授予适合您的角色,然后查看 Policy Intelligence 提供的建议。您应该获得所有已使用和未使用权限的列表,以便您可以创建具有最少所需权限的自定义角色。
删除这些服务帐户的所有权限,尝试运行您选择的命令,然后检查云日志记录缺少权限的日志以完成命令。然后仅使用您从日志中获得的权限创建自定义角色。您可能需要迭代此过程几次,直到命令成功。当然,这种方法不应该用于其他人正在使用的服务帐户。