在 AWS RAM 中管理权限 - AWS Resource Access Manager

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS RAM 中管理权限

在 AWS RAM 中,有两种类型的托管权限,即 AWS 托管权限和客户托管权限。

托管权限定义了使用者如何对资源共享中的资源进行操作。创建资源共享时,您必须指定要对资源共享中包含的每种资源类型使用哪种托管权限。托管权限中的策略模板包含基于资源的策略所需的所有内容,但主体和资源除外。资源的 Amazon 资源名称 (ARN) 和与资源共享关联的主体的 ARN 构成了基于资源的策略的要素。然后,AWS RAM 创建基于资源的策略,并将其附加到该资源共享中的所有资源。

每个托管权限可以有一个或多个版本。该托管权限的一个版本被指定为默认 版本。有时,AWS 通过创建新版本并将该新版本指定为默认版本,更新资源类型的 AWS 托管权限。您还可以通过创建新版本,更新您的客户托管权限。已附加到资源共享的托管权限不会 自动更新。AWS RAM 控制台会显示新的默认版本何时可用,您可以查看新默认版本与前一个版本相比后的变化。

注意

我们建议您尽快更新到新版 AWS 托管权限。这些更新通常会增加对新的或更新的 AWS 服务的支持,这些更新可以使用 AWS RAM 共享其他资源类型。新的默认版本还可以解决和更正安全漏洞。

重要

您只能将默认版托管权限附加到新资源共享。

您可以随时检索可用托管权限的列表。有关更多信息,请参阅查看托管权限

托管权限的工作原理

如需快速概览,请观看以下视频,该视频演示了托管权限如何允许您对 AWS 资源应用最低权限访问的最佳实践。

此视频演示如何遵循最低权限的最佳实践,创建和关联客户托管权限。有关更多信息,请参阅在 AWS RAM 中创建和使用客户托管权限

创建资源共享时,您可以将 AWS 托管权限与要共享的每种资源类型相关联。如果托管权限有多个版本,则新的资源共享将始终使用指定为默认版本的版本。

创建资源共享后,AWS RAM 使用托管权限生成附加到每个共享资源的基于资源的策略。

托管权限中的策略模板指定了以下内容:

效果

表示是 Allow 还是 Deny 主体对共享资源执行操作的权限。对于托管权限,效果始终是 Allow。有关更多信息,请参阅《IAM 用户指南》中的效果

操作

主体有权执行的操作列表。这可以是 AWS Management Console中的操作,也可以是 AWS Command Line Interface (AWS CLI) 或 AWS API 中的操作。操作由 AWS 权限定义。有关更多信息,请参阅《IAM 用户指南》中的操作

条件

主体何时以及如何与资源共享中的资源进行交互。条件为您的共享资源增加了一层额外安全保障。使用它们来限制对共享资源的敏感操作的访问权限。例如,您可以包括一些条件,要求操作必须来自特定的公司 IP 地址范围,或者这些操作必须由经过多因素身份验证的用户执行。有关条件的更多信息,请参阅《IAM 用户指南》中的 AWS 全局条件上下文键。有关特定于服务的条件的更多信息,请参阅《服务授权参考》中的 AWS 服务的操作、资源和条件键

注意

客户托管权限和 AWS 托管权限支持的资源类型都有条件。

有关不适用于客户托管权限的条件的信息,请参阅在中使用客户托管权限的注意事项 AWS RAM

托管权限的类型

创建资源共享时,您可以选择一个托管权限以与资源共享中包含的每种资源类型相关联。AWS 托管权限由 AWS 资源所属服务定义,并由 AWS RAM 管理。您可以创建和维护自己的客户托管权限。

  • AWS 托管权限 - AWS RAM 支持的每种资源类型都有一个可用的默认托管权限。除非您明确选择其他托管权限之一,否则默认托管权限是用于资源类型的权限。默认托管权限旨在支持共享指定类型资源的最常见客户场景。默认托管权限允许主体执行由服务为资源类型定义的特定操作。例如,对于 Amazon VPC ec2:Subnet 资源类型,默认托管权限允许主体执行以下操作:

    • ec2:RunInstances

    • ec2:CreateNetworkInterface

    • ec2:DescribeSubnets

    默认 AWS 托管权限的名称使用以下格式:AWSRAMDefaultPermissionShareableResourceType。例如,对于 ec2:Subnet 资源类型,默认 AWS 托管权限的名称为 AWSRAMDefaultPermissionSubnet

    注意

    默认托管权限与托管权限的默认版本 是分开的。所有托管权限,无论是默认权限还是某些资源类型支持的其他托管权限之一,都是独立的、完整的权限,具有不同的效果和操作,支持不同的共享场景,例如读写权限和只读权限。任何托管权限,无论是 AWS 托管权限还是客户托管权限,都可以有多个版本,其中一个版本是该权限的默认版本。

    例如,当您共享同时支持完全访问(ReadWrite)托管权限和只读托管权限的资源类型时,您可以为具有完全访问托管权限的管理员创建一个资源共享。然后,您可以使用只读托管权限为其他开发人员创建单独的资源共享,以遵循授予最低权限的实践

    注意

    所有使用 AWS RAM 的 AWS 服务都至少支持一种默认托管权限。您可以在托管权限库页面上,查看每个 AWS 服务可用的权限。此页面提供有关每个可用托管权限的详细信息,包括当前与该权限关联的所有资源共享,以及是否允许与外部主体共享(如果适用)。有关更多信息,请参阅查看托管权限

    对于不支持其他托管权限的服务,在创建资源共享时,AWS RAM 会自动应用为所选资源类型定义的默认权限。如果支持,您还可以选择在关联托管权限页面上,选择创建客户托管权限

  • 客户托管权限 - 客户托管权限是您通过精确指定可以在哪些条件下对使用 AWS RAM 共享的资源执行哪些操作来创建和维护的托管权限。例如,您想限制 Amazon VPC IP 地址管理器 (IPAM) 池的读取权限,这有助于您大规模管理 IP 地址。您可以为开发人员创建客户托管权限来分配 IP 地址,但不能查看其他开发人员账户分配的 IP 地址范围。您可以遵循最低权限相关的最佳实践,仅授予在共享资源上执行任务所需的权限。