【问题标题】:Google Project with consent set to internal / Who is a "member of my organization" and how do I manage members?同意设置为内部的 Google 项目/谁是“我的组织的成员”,我如何管理成员?
【发布时间】:2020-04-10 09:39:12
【问题描述】:

免责声明:https://console.cloud.google.com/support/community 在这里领先。谷歌的文档太可怕了,所以如果我没有被低估到 dev/null 的深度,那就试一试吧

出于迫在眉睫的需要,我正在将监控我们的 Gmail 帐户的私有应用程序迁移到 OAuth 2,作为此过程的一部分,有必要创建一个 OAuth 同意屏幕。由于此应用程序仅在内部使用,因此选择“Internal”作为应用程序类型最有意义 - 描述如下:

只有在您的组织中拥有 Google 帐户的用户才能授予对此应用请求的范围的访问权限。

此项目的用户由两个“所有者”组成——我自己使用我的个人 Gmail 帐户,以及 属于公司 G Suite 帐户的另一名员工。

我的问题是有资格成为“我的组织中的用户”?这是基于项目所有者吗?我的非 G-Suite 帐户(项目所有者)是否符合条件? G Suite 帐户中包含一名成员是否会自动关联其他员工帐户?是否可以在任何地方实际看到这些用户或直接管理他们?

我实际上想再添加几个帐户,但仍将应用程序保密,但我对 Google 如何确定哪些 gmail 帐户能够授权该应用程序感到困惑。

更新:澄清一下,当我以与项目所有者相同域的 G Suite 成员身份登录并访问同意页面时,一切都很好。但是,我们在同一个 G Suite 帐户中管理的其他成员在不同的域下,对于这些成员,我收到以下消息:

错误 403:org_internal 此客户端仅限于其组织内的用户。

此外,我什至无法使用我自己的电子邮件(即应用程序的创建者和所有者)授予访问权限。我想知道如何添加自己和其他 G Suite 成员,以便能够在不公开的情况下授予对应用程序的访问权限。下面建议我将它们(或它们的域)添加到 Google Cloud IAM,但我不清楚如何使它工作。我自己的电子邮件确实存在于 IAM 中,角色为“所有者”,显然不满足要求。

【问题讨论】:

  • 角色Owner 是旧角色。此角色没有all 权限。如何设置的答案取决于您的帐户设置方式。如果这是 Google Cloud 定义中的 Organization,那么您需要在组织级别添加具有组织管理员角色的 IAM 成员 ID。
  • 项目所有者的描述是“完全访问所有资源i.stack.imgur.com/ezHJX.png - 而且,这个应用程序相当新,我不知道为什么会考虑这个遗留角色
  • 您需要添加您的 IAM 会员 ID” - 正如我在使用我的个人 Gmail 帐户进行设置的问题中提到的那样。我不是关联的 G Suite 帐户的成员。
  • G Suite 是一种身份来源,并不是唯一的一种。请重新阅读我的 cmets 和我的答案。您可以使用您的 Gmail 电子邮件地址。您只需要将其放置在具有正确角色的组织中的正确级别。我会重复一遍 - 1) 所有者在 Google Cloud 中没有所有权限。 Owner 上面有权限。 2)所有者可以授予自己更多的权限。 cloud.google.com/resource-manager/docs/quickstart-organizations
  • 好的,我已经通过 IAM 添加了我的个人电子邮件,角色为“组织管理员”。我现在可以看到我可以访问云控制台中的所有组织资源。但是,同意页面仍然返回错误:“授权错误 - 错误 403:org_internal 此客户端仅限于其组织内的用户。”

标签: google-cloud-platform google-oauth google-workspace google-iam google-cloud-iam


【解决方案1】:

要让内部应用用于 OAuth,项目必须属于与所有用户相同的 GSuite 客户关联的组织。

内部应用无法使用非 GSuite 帐户。此处有更多相关信息:https://support.google.com/cloud/answer/6158849#public-and-internal

【讨论】:

  • 感谢权威参考的简洁回答。对我来说不幸的是,看来你是对的。如果谷歌在同意配置页面本身上能更清楚地说明这一点,那就太好了。因为它只说“在你的组织中”,所以它让事情模棱两可,让我浪费大量时间通过 IAM 尝试各种事情(如此处其他答案中所建议的那样)。
【解决方案2】:

对于 GSuite 用户:

Cloud IAM 仅处理您需要在其他地方处理身份验证的授权。默认情况下,GSuite 与 CloudIAM 集成为默认身份验证提供程序。

对于非 GSuite 用户:

您可以使用cloud identity free edition,但用户必须管理单独的一组凭据。

无需 GSuite 的单点登录

如果您想要单点登录选项,您还可以使用Google Cloud Directory Sync 与您的本地 Active Directory 或 LDAP 服务器同步以进行身份​​验证。这样用户就可以保留他们的登录详细信息。

这就是身份验证在 GCP 上的工作方式。作为授权,您拥有 CloudIAM,您可以在其中通过预定义角色、原始角色和自定义角色管理访问权限。

云 IAM 和授权

通常您使用 google 群组和resource hierarchy 分配访问权限,以便您更轻松地管理用户访问权限。但请记住,如果您通过资源层次结构中的 ascenstor 文件夹授予对某些内容的访问权限,则您不能拒绝下游访问。因此,您需要相应地规划访问层次结构。

要回答您的问题谁有资格成为“我的组织中的用户”?,每个人都可以登录,但默认情况下他们无法访问任何项目、资源或 api,除非他们被授予单独访问权限或through a group

希望这可以为您澄清一点。

【讨论】:

  • 谢谢,但恐怕大部分都超出了我的想象。我只想管理哪些成员能够授予对应用程序的 OAuth 访问权限以与 Gmail API 一起使用,但我不一定希望他们能够在云控制台中查看或访问该项目。哪个角色最适合此目的?
  • 您不需要提供任何角色,没有角色意味着没有访问权限。 Gmail 是 GSuite 家族的一部分。如果您的问题以 OAuth 为中心,那么 John 的回答更相关。我的回复与您如何授予对 Google Cloud Platform 的访问权限有关。
  • 我确实尝试过没有角色,但似乎是必需的:i.stack.imgur.com/o7mUe.png
  • 下拉菜单中有哪些可用选项?
  • 有很多 - 准确地说是 2574 种不同的权限。我可以创建一个客户角色,但它不允许我创建一个没有分配权限的角色。我想我可以在这里做一些骇人听闻的事情,但我宁愿不这样做。我不能成为唯一需要向成员授予 OAuth 而不授予他们云平台访问权限的人。这是一些文档:cloud.google.com/iam/docs/permissions-reference
【解决方案3】:

谁是我组织的成员?

您为项目、文件夹或组织级别添加到 Google Cloud IAM 的任何人。这可以包括 Google 帐户(Gmail 电子邮件地址)、G Suite 和 Google 身份。最后两个使用域名 (example.com) 和在该域中具有身份的任何人 (someone@example.com)。

Google 的目标是加强 Google Cloud Platform 的安全性。过去,任何拥有 Google 帐户电子邮件地址的人都可以使用您的项目 OAuth 来请求访问权限。访问级别由 OAuth 范围控制。今天,授予该访问权限会导致同意屏幕显示未经验证的应用程序警告。要超越(删除)该警告,通常需要对您的应用程序进行安全审计,费用估计为 75,000 美元。

如何管理会员?

通过 Google Cloud IAM。您可以添加和删除成员;分配和删除附加到成员 ID 的 IAM 角色。通过 G Suite 或 Google Identity 添加或删除成员帐户。不要忘记,成员可以是 Google 组的一部分,也可以是域的一部分,每个域也是 Google Cloud Platform 中的一个身份。

【讨论】:

  • 感谢约翰,这很有帮助。我查看了 IAM 面板,发现每个成员都需要一个 角色 — 当我只想允许 OAuth 同意时,您能否就最合适的“角色”提供任何指导和令牌为给定成员工作?
  • 您好,John,似乎向 IAM 添加成员实际上并不允许他们根据需要授予访问权限。请参阅我更新的问题。
  • @billynoah 您正在显着改变问题。您不授予应用程序权限。您向应用程序提供服务帐户,它需要使用该服务帐户。您的应用不是 Google Cloud IAM 的成员。服务帐号是另一种类型的 Google Cloud IAM 身份。将服务帐号分配给 Google Cloud Services 以授予该服务 IAM 角色。我建议将问题恢复为我回答的问题,然后创建一个关于如何将服务帐户与 Google Cloud Services 一起使用的新问题。
  • 除非我误解了您的回答 here,否则我似乎无法使用我的 gmail 帐户,尽管我已将其指定为组织资产中的角色。如果这是真的,那么它与您第一段中的陈述有些矛盾。
猜你喜欢
  • 2011-08-05
  • 2018-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多