【问题标题】:Update default compute service account permission in google cloud?更新谷歌云中的默认计算服务帐户权限?
【发布时间】:2019-02-13 02:31:21
【问题描述】:

默认服务帐户无权访问云 sql,只有只读访问权限。 我尝试将云 sql 管理员和存储管理员权限添加到默认服务帐户,但这似乎不起作用。 我知道可以通过使用另一个具有这些权限的服务帐户并在创建计算实例时使用它来解决。 我只是想知道为什么更新默认计算的权限不起作用?

【问题讨论】:

    标签: google-cloud-platform google-compute-engine google-cloud-sql service-accounts


    【解决方案1】:

    似乎更新 Compute Engine 默认服务帐户的权限不足以设置您尝试授予 Compute Engine 实例的正确访问级别,因为如 here 所述:

    当您将实例设置为作为服务帐号运行时,服务帐号的访问级别取决于授予实例的访问范围和授予服务帐号的 IAM 角色的组合.

    据我了解,您只是将 IAM 角色授予服务帐号,因此,为了提供所需的访问级别,您还应该更新 Compute Engine 实例的访问范围。

    当您创建一个新的 Compute Engine 实例时,在访问范围下,默认选择“允许默认访问”,您可以在此处看到 New instance。此默认访问权限已禁用 Cloud SQL 访问权限,并将 Cloud Storage 访问权限设为只读。

    您可以参考this documentation,它解释了如何更改 Compute Engine 实例的访问范围:

    要更改实例的服务帐号和访问范围,必须暂时停止该实例。要停止您的实例,请阅读Stopping an instance 的文档。更改服务帐户或访问范围后,请记住restart the instance

    停止实例后,您可以将访问范围更改为“为每个 API 设置访问权限”或“允许完全访问所有云 API”。

    如果您选择为每个 API 设置访问权限,则必须搜索“Cloud SQL”,然后选择“已启用”以及“存储”并选择所需的选项(只读、只写、读写、完整)

    有关访问范围的更多信息,请参阅this doc,有关将 Compute Engine 实例作为服务帐户(包括默认服务帐户)运行的更多信息,请参阅this doc

    【讨论】:

    【解决方案2】:

    Cloud IAM Admin 中,您必须通过点击右侧的那支笔来选择您的Default Service Account;然后会弹出一个side.bar,您可以在其中分配以下角色:Cloud SQL AdminCloud SQL ClientCloud SQL EditorCloud SQL Viewer。它的默认角色是Editor

    【讨论】:

    • 计算机默认服务账号为55749287011-compute@developer.gserviceaccount.com。并将此服务帐户权限更新为云 sql 管理员。但是当我运行云代理时,它给了我“默认计算引擎服务帐户没有配置足够的权限来包含 sql”
    • 我现在只是在 api 访问范围与服务帐户用户角色权限之间感到困惑。向服务帐户授予 cloud sql 权限不会授予其访问 cloud-sql 的权限?
    • 猜我必须纠正自己:您需要创建一个新的 GCE 实例 - 在创建时已启用 Cloud SQL Admin 角色...或创建一个新的实例服务帐户然后使用它一个,而不是。
    猜你喜欢
    • 2019-05-23
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    相关资源
    最近更新 更多