本文档介绍了管理员可以用来识别和解决组织中用户的权限错误的各种方法。
解决访问权限请求中的权限错误
如果您是管理员,则可能会收到在 Google Cloud 控制台中遇到权限错误的用户发来的访问权限请求。这些请求通常会发送给以下人员:
贵组织的技术重要联系人。如果您的组织已启用重要联系人,并允许发送自动生成的访问权限请求邮件,则在Google Cloud 控制台中遇到权限错误的用户可以选择向其组织的技术重要联系人发送自动生成的访问权限请求。
通过您首选的请求管理系统配置的联系人。 在 Google Cloud 控制台中遇到权限错误的用户可以选择复制访问权限请求消息,然后使用自己偏好的请求管理系统发送该消息。
这些消息通常采用以下格式:
user@example.com is requesting a role on the resource example.com:example-project.
Requestor's message:
"I need access to example-project to complete my work."
You may be able to resolve this request by granting access directly at:
ACCESS_REQUEST_PANEL_URL
Or use the Policy Troubleshooter to determine what's preventing access for user@example.com:
POLICY_TROUBLESHOOTER_URL
您可以通过以下方式处理这些请求:
直接解决访问权限问题:访问权限请求包含指向 控制台中 Google Cloud 访问权限请求面板的链接。如果权限错误是因允许政策引起的,您可以直接通过该面板解决访问权限问题。
在访问权限请求面板中,您可以查看请求详细信息,并选择如何回复请求。您可以通过以下方式进行回复:
- 授予所请求的角色
- 将用户添加到已具有所需访问权限的现有群组
- 拒绝请求
在政策问题排查工具中查看更多详细信息:访问权限请求包含指向政策问题排查工具的链接,您可以通过该工具查看哪些政策阻止了用户访问。您可以使用这些信息来决定如何解决用户的访问权限问题。如需了解更多 信息,请参阅本页面上的确定导致权限 错误的政策。
使用政策问题排查工具修复访问权限问题: 访问权限请求还包含指向政策修复摘要的链接,其中 介绍了请求详细信息,包括请求主账号、资源和权限。在政策修复摘要中,您可以直接解决涉及允许政策的访问权限请求,并详细了解阻止用户访问的政策。
如需详细了解如何使用政策修复摘要解决访问权限请求,请参阅修复访问权限问题。
手动解决权限错误
如果您是管理员,并且有权修改组织中与访问权限相关的政策,则无论导致权限错误的政策类型是什么,您都可以使用这些策略来解决权限错误。
如需解决权限错误,您首先需要确定哪些政策(允许、拒绝或 Principal Access Boundary)导致该错误。然后,您可以解决该错误。
确定导致权限错误的政策
如需确定哪些政策导致了权限错误,请使用政策问题排查工具。
政策问题排查工具可帮助您了解主账号是否可以访问某项资源。给定主账号、资源和权限后,政策问题排查工具会检查影响主账号访问权限的允许政策、拒绝政策和 Principal Access Boundary (PAB) 政策。 然后,该工具会根据这些政策告知您主账号是否可以使用指定权限访问相应资源。此外,它还会列出相关政策并说明这些政策对主账号访问权限的影响。如需了解如何排查访问权限问题以及解读政策问题排查工具的结果,请参阅排查 IAM 权限问题。
Google Cloud 控制台中的错误消息包含一个链接,指向政策问题排查工具修复页面(预览版),其中显示了请求中涉及的主账号、权限和资源。如需查看此链接, 请点击查看问题排查详细信息 ,然后点击 政策问题排查工具 。如需了解详情,请参阅修复访问权限请求问题。
更新访问权限以解决权限错误
了解哪些政策导致权限错误后,您可以采取措施来解决该错误。
通常,解决错误需要创建或更新允许政策、拒绝政策或 Principal Access Boundary 政策。
不过,还有其他方法可以解决错误,而无需更新政策。例如,您可以将用户添加到具有所需权限的群组,也可以添加标记让资源不受政策约束。
如需了解如何解决因每种不同类型的政策而导致的权限错误,请参阅以下内容:
解决允许政策权限错误
如需解决因允许政策而导致的权限错误,请执行以下操作之一。
授予具有所需权限的角色
如需查找并授予具有所需权限的角色,请执行以下操作:
确定包含缺少权限的 IAM 角色。
如需查看包含给定权限的所有角色,请在 IAM 角色和权限索引中搜索该权限,然后点击该权限名称。
如果没有预定义角色适合您的应用场景,您可以改为创建自定义角色。
选择要向其授予相应角色的主账号:
- 如果只有该用户需要相应权限,请直接向该用户授予相应角色。
- 如果用户所属的 Google 群组中的所有用户都需要类似的权限,请考虑改为向该群组授予相应角色。 如果您向群组授予该角色,那么该群组的所有成员都可以使用该权限,除非他们被明确拒绝使用该权限。
向主账号授予角色。
批准针对 Privileged Access Manager 使用权的授权
借助 Privileged Access Manager 使用权,用户可以请求获得特定的 IAM 角色。如果您批准用户的授予请求,则系统会暂时授予用户所请求的角色。
如果用户已拥有 Privileged Access Manager 使用权,且该使用权包含具有所需权限的角色,则可以请求授予该使用权。在他们请求授权后,您可以批准授权,以解决他们的权限错误。
如果用户没有使用权,您可以为其创建新使用权,以便其针对该使用权请求授权。
将用户添加到 Google 群组
如果向某个 Google 群组授予针对某个资源的角色,则该群组的所有成员都可以使用该角色中的权限来访问相应资源。
如果现有群组已被授予具有所需权限的角色,那么您可以通过将用户添加到该群组来向其授予所需权限:
确定具有所需权限的角色对应的群组。如果您已使用政策问题排查工具排查请求问题,则可以查看政策问题排查工具的结果,以确定具有所需权限的群组。
或者,您可以使用 Policy Analyzer 来确定具有所需权限的群组。
解决拒绝政策权限错误
如需解决与拒绝政策相关的权限错误,请执行以下操作之一。
让自己不受拒绝政策约束
如果拒绝规则阻止了用户对资源的访问,您可以执行以下操作之一,让用户不受该规则约束:
将相应用户添加为拒绝规则中的例外主账号。例外主账号是指不受拒绝规则影响的主账号,即使这些主账号属于拒绝规则中包含的群组也是如此。
如需向拒绝规则添加例外主账号,请按照更新拒绝政策的步骤操作。更新拒绝政策时,找到阻止访问权限的拒绝规则,然后将用户的主账号标识符添加为例外主账号。
将用户添加到不受该规则约束的群组。如果某个群组列为例外主账号,则该群组的所有成员都不受拒绝规则约束。
如需将用户添加到豁免群组,请执行以下操作:
从拒绝政策中移除权限
拒绝规则可防止列出的主账号使用特定权限。如果拒绝规则阻止了用户对资源的访问,您可以从拒绝规则中移除用户所需的权限。
如需从拒绝规则中移除权限,请按照更新拒绝政策的步骤操作。更新拒绝政策时,找到阻止访问权限的拒绝规则,然后执行以下操作之一:
- 如果拒绝政策单独列出了所需权限,请找到所需权限并将其从拒绝规则中移除。
- 如果拒绝规则使用权限组,请添加所需的权限作为例外权限。例外权限是不会被拒绝规则阻止的权限,即使它们属于规则中包含的权限组的一部也是如此。
从拒绝策略中排除资源
您可以使用拒绝政策中的条件,来根据资源的标记应用拒绝规则。如果资源的标记不符合拒绝规则中的条件,则拒绝规则不适用。
如果拒绝规则阻止了对资源的访问,您可以修改拒绝规则中的条件或资源上的标记,以确保拒绝规则不适用于该资源。
解决 Principal Access Boundary 政策权限错误
默认情况下,主账号有资格访问任何 Google Cloud 资源。 不过,如果主账号受任何 Principal Access Boundary 政策的约束,则主账号只能访问其所受约束的 Principal Access Boundary 政策中列出的资源。在这些情况下,Principal Access Boundary 政策可能会阻止主账号访问资源。
如需解决与 Principal Access Boundary 政策相关的错误,请执行以下操作之一。
将资源添加到 Principal Access Boundary 政策
如果资源包含在用户受约束的 Principal Access Boundary 政策中,则用户有资格访问该资源。
如需向 Principal Access Boundary 政策添加资源,请执行以下操作之一:
创建新的 Principal Access Boundary 政策:
- 创建新的 Principal Access Boundary 政策,其中包含相应 资源。
将政策绑定到包含该用户的主账号集 。
如需详细了解主账号集,请参阅支持的主账号 集。
更新现有的 Principal Access Boundary 政策:
- 列出 Principal Access Boundary 政策绑定,适用于用户所属的 主账号集。每个绑定都表示绑定到主账号集的 Principal Access Boundary 政策。
- 从绑定列表中,确定要修改的 Principal Access Boundary 政策。
- 可选:列出 Principal Access Boundary 政策绑定 以查看该政策绑定到了哪些主账号集。更新政策会影响该政策绑定到的所有主账号集的访问权限。
- 修改 Principal Access Boundary 政策,使其包含相应 资源。
添加条件以豁免特定主账号
您可以使用 Principal Access Boundary 政策绑定中的条件 来细化 Principal Access Boundary 政策的适用主账号。
如果您不希望用户受 Principal Access Boundary 政策的约束,请使用 Principal Access Boundary 政策绑定中的条件来免除用户受 Principal Access Boundary 政策的约束。
如需通过此方法解决错误,您必须将用户从其约束的 每项 Principal Access Boundary 政策中排除。这样做会使相应用户 有资格访问任何 Google Cloud 资源。
我们不建议采用这种方法。请改为考虑将资源添加到 Principal Access Boundary 政策。
如需查看用户受哪些 Principal Access Boundary 政策的约束,请列出用户所属主账号集的 政策绑定。每个绑定都表示绑定到主账号集的 Principal Access Boundary 政策。
如需了解如何向 Principal Access Boundary 政策绑定添加条件,请参阅 修改 主账号访问权限边界 政策的现有政策绑定。
停用自动生成的访问权限请求邮件
您可以停用自动生成的访问权限请求,以防止用户直接将其发送给组织的技术重要联系人。停用此功能后,遇到权限错误的用户仍然可以复制访问权限请求并手动将其发送给管理员。
如需停用自动生成的访问权限请求,请执行以下操作:
在 Google Cloud 控制台中,前往设置页面。
在自动修复请求 部分中,选择已停用 。