google_service_account_iam_binding 是什么(对比 google_project_iam_binding)

what is google_service_account_iam_binding for (vs google_project_iam_binding)

我犯了一个看似相当常见的错误,即使用 google_service_account_iam_binding 使服务帐户能够执行各种我本应使用 google_project_iam_binding 的操作。我现在一切正常,但我想了解 google_service_account_iam_* 资源的实际用途?我真的找不到任何说明您将在什么情况下使用它们的文档。

身份中的服务帐户(技术和服务身份)也是资源。例如,您可以在服务帐户上授予用户或其他服务帐户,以允许他们模拟服务帐户(例如角色:服务帐户用户)。

如果您授予项目相同的角色,则允许用户或服务帐户模拟项目中的所有服务帐户,这可能过于宽泛。


编辑 1

让我们举个例子:您想授予服务帐户一些在 Compute Engine 实例上的角色。

您可以在项目级别授予服务帐户(以访问项目中的所有计算引擎实例),或在资源级别(这个特定的)计算引擎实例),google_compute_instance_iam .

对于服务帐户来说是一样的。您可以授予另一个服务帐户(或用户帐户)对服务帐户的某些权限。

您可以在项目级别(访问项目中的所有服务帐户)或资源级别(此特定服务帐户)授予另一个服务帐户(或用户帐户)。

当您想充当服务帐户时,这很有用,例如模拟它。您不想授予模拟所有服务帐户的权限,而是只授予一个。