共享您的 Amazon 资源 - Amazon Resource Access Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

共享您的 Amazon 资源

要通过使用 Amazon RAM 共享您拥有的资源,请执行以下操作:

注意
  • 与拥有资源的 Amazon Web Services 账户以外的主体共享资源不会更改适用于创建该资源的账户内的资源的权限或配额。

  • Amazon RAM 是一项区域性服务。与您共享的主体只能在创建资源共享的 Amazon Web Services 区域中访问资源共享。

  • 有些资源在共享方面有特殊的注意事项和先决条件。有关更多信息,请参阅可共享的资源 Amazon

在 Amazon Organizations 中启用资源共享

当您的账户由 Amazon Organizations 管理时,您可以利用这一优势更轻松地共享资源。无论是否使用 Organizations,用户都可以与个人账户共享。但是,如果您的账户位于组织中,则您可以与个人账户、组织或 OU 中的所有账户共享,而不必枚举每个账户。

要在组织内共享资源,您必须先使用 Amazon RAM 控制台或 Amazon Command Line Interface (Amazon CLI) 启用与 Amazon Organizations 之间的共享。当您在组织内共享资源时,Amazon RAM 不会向主体发送邀请。组织中的主体获取对共享资源的访问权限,而无需交换邀请。

当您在组织内启用资源共享时,Amazon RAM 会创建一个名为 AWSServiceRoleForResourceAccessManager 的服务相关角色。此角色只能由 Amazon RAM 服务担任,并通过使用 Amazon 托管策略 AWSResourceAccessManagerServiceRolePolicy 授予 Amazon RAM 检索其所属组织的信息的权限。

如果您不再需要与整个组织或 OU 共享资源,可以禁用资源共享。有关更多信息,请参阅禁用与 Amazon Organizations 的资源共享

最小权限

要运行以下步骤,您必须以拥有以下权限的组织管理账户中的主体身份登录:

  • ram:EnableSharingWithAwsOrganization

  • iam:CreateServiceLinkedRole

  • organizations:enableAWSServiceAccess

  • organizations:DescribeOrganization

要求
  • 只有在组织管理账户中以主体身份登录时,才能执行这些步骤。

  • 组织必须已启用所有功能。有关更多信息,请参阅《Amazon Organizations 用户指南》中的启用组织中的所有功能

重要

您必须使用 Amazon RAM 控制台或 enable-sharing-with-aws-organization Amazon CLI 命令,启用与 Amazon Organizations 之间的共享。这将确保创建与 AWSServiceRoleForResourceAccessManager 服务相关角色。如果您通过使用 Amazon Organizations 控制台或 enable-aws-service-access Amazon CLI 命令启用 Amazon Organizations 的受信任访问,则 AWSServiceRoleForResourceAccessManager 服务相关角色不会创建,且您无法在组织中共享资源。

Console
要在组织内启用资源共享,请执行以下操作:
  1. 在 Amazon RAM 控制台中打开设置页面。

  2. 选择允许与 Amazon Organizations 共享,然后选择保存设置

Amazon CLI
要在组织内启用资源共享,请执行以下操作:

使用 enable-sharing-with-aws-organization 命令。

此命令可用于任何 Amazon Web Services 区域中,并且它在支持 Amazon RAM 的所有区域中都启用与 Amazon Organizations 的共享。

$ aws ram enable-sharing-with-aws-organization { "returnValue": true }

创建资源共享

要共享您拥有的资源,请创建资源共享。过程概览:

  1. 添加您要共享的资源。

  2. 对于共享中包含的每种资源类型,请指定要用于该资源类型的托管权限

    • 您可以从可用的 Amazon 托管权限、现有的客户托管权限或创建新的客户托管权限中进行选择。

    • Amazon 托管权限由 Amazon 创建,以涵盖标准使用案例。

    • 客户托管权限允许您定制自己的托管权限,以满足您的安全和业务需求。

    注意

    如果选定的托管权限有多个版本,则 Amazon RAM 会自动附加默认版本。您只能 附加指定为默认版本的版本。

  3. 指定要对资源拥有访问权限的主体。

注意事项
  • 如果您以后需要删除共享中包含的 Amazon 资源,我们建议您先从包含该资源的任何资源共享中移除该资源,或者删除该资源共享。

  • 您可以在资源共享中包含的资源类型列在了可共享的资源 Amazon中。

  • 仅当您拥有某个资源时,您才可以共享此资源。您无法共享与您共享的资源。

  • Amazon RAM 是一项区域性服务。当您与其他 Amazon Web Services 账户中的主体共享资源时,这些主体必须从创建每个资源时所在的 Amazon Web Services 区域访问这些资源。对于支持的全球资源,您可以从该资源服务控制台和工具支持的任何 Amazon Web Services 区域访问这些资源。您只能在指定的主区域美国东部(弗吉尼亚州北部)us-east-1 的 Amazon RAM 控制台和工具中,查看此类资源共享及其全球资源。有关 Amazon RAM 和全球资源的更多信息,请参阅共享区域资源(相较于全球资源)

  • 如果您要共享的账户是 Amazon Organizations 中组织的一部分,并且已在您的组织中启用共享,则组织中与您共享的所有主体将自动获得对资源共享的访问权限,而无需使用邀请。您在组织环境之外与之共享的账户中的主体会收到加入资源共享的邀请,并且只有在他们接受邀请后才能获得对所共享资源的访问权限。

  • 如果您与服务主体共享,则无法将任何其他主体与该资源共享关联。

  • 如果共享是在属于某个组织的账户或主体之间进行的,则组织成员资格的任何更改都会动态影响对资源共享的访问权限。

    • 如果您向组织或有权访问资源共享的 OU 中添加 Amazon Web Services 账户,则该新成员账户将自动获得对资源共享的访问权限。然后,您与之共享的账户的管理员可以授予该账户中的个人主体访问该共享中的资源的权限。

    • 如果您从组织或有权访问资源共享的 OU 中移除某个账户,则该账户中的所有主体将自动失去对通过该资源共享访问的资源的访问权限。

    • 如果您直接与成员账户或成员账户中的 IAM 角色或用户共享,然后将该账户从组织中移除,则该账户中的任何主体将无法访问通过该资源共享访问的资源。

    重要

    当您与组织或 OU 共享,并且该范围包括拥有资源共享的账户时,共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 Amazon RAM 附加到共享中每个资源的基于资源的策略使用 "Principal": "*"。有关更多信息,请参阅在基于资源的策略中使用 "Principal": "*" 的影响

    其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予对资源共享中各个资源 ARN 的 Allow 访问权限。这些策略中的权限不能超过与资源共享关联的托管权限中指定的权限。

  • 您只能将您的账户所属的组织以及该组织的 OU 添加到资源共享中。您不能将组织外部的 OU 或组织作为主体添加到资源共享。但是,您可以将单个 Amazon Web Services 账户或者(对于受支持的服务)组织外部的 IAM 角色和用户作为主体添加到资源共享中。

    注意

    并非所有资源类型都可以与 IAM 角色和用户共享。有关您可以与这些主体共享的资源的信息,请参阅可共享的资源 Amazon

  • 对于以下资源类型,您有七天的时间接受邀请加入以下资源类型的共享。如果您在邀请到期之前未接受邀请,则系统会自动拒绝邀请。

    重要

    对于 在以下列表中的共享资源类型,您有 12 小时的时间 接受加入资源共享的邀请。12 小时后,邀请过期,资源共享中的最终用户主体将解除关联。最终用户无法再接受邀请。

    • Amazon Aurora - DB 集群

    • Amazon EC2 - 容量预留和专用主机

    • Amazon License Manager - 许可证配置

    • Amazon Outposts - 本地网关路由表、Outposts 和站点

    • Amazon Route 53 - 转发规则

    • Amazon VPC - 客户拥有的 IPv4 地址、前缀列表、子网、流量镜像目标、中转网关、传输网关组播域

Console
要创建资源共享,请执行以下操作:
  1. 打开 Amazon RAM 控制台

  2. 由于 Amazon RAM 资源共享存在于特定 Amazon Web Services 区域,因此,请从控制台右上角的下拉列表中选择相应的 Amazon Web Services 区域。要查看包含全球资源的资源共享,您必须将 Amazon Web Services 区域设置为美国东部(弗吉尼亚州北部)(us-east-1)。有关共享全球资源的更多信息,请参阅共享区域资源(相较于全球资源)。如果要在资源共享中包含全球资源,则必须选择指定的主区域,即美国东部(弗吉尼亚州北部)us-east-1

  3. 如果您是首次使用 Amazon RAM,请从主页选择创建资源共享。否则,请从由我共享:资源共享页面选择创建资源共享

  4. 步骤 1:指定资源共享详细信息中,执行以下操作:

    1. 对于名称,键入资源共享的描述性名称。

    2. 资源下,选择要添加到资源共享的资源,如下所示:

      • 对于选择资源类型,选择要共享的资源的类型。这会将可共享资源的列表筛选为仅所选类型的资源。

      • 在生成的资源列表中,选中要共享的单个资源旁边的复选框。所选资源将移至选定资源下。

        如果您要共享与特定可用区关联的资源,则使用可用区 ID (AZ ID) 可帮助您跨账户确定这些资源的相对位置。有关更多信息,请参阅Amazon 资源的可用区 ID

    3. (可选)要将标签附加到资源共享,请在标签下输入标签键和值。通过选择添加新标签,添加其他标签。根据需要重复上述步骤。这些标签仅适用于资源共享本身,不适用于资源共享中的资源。

  5. 选择 Next(下一步)。

  6. 步骤 2:将托管权限与每种资源类型关联中,您可以选择将 Amazon 创建的托管权限与资源类型相关联,选择现有的客户托管权限,也可以为支持的资源类型创建自己的客户托管权限。有关更多信息,请参阅托管权限的类型

    选择创建客户托管权限,以构建符合共享使用案例要求的客户托管权限。有关更多信息,请参阅创建客户托管权限。完成该过程后,选择 
                                    Refresh icon
                                   ,然后您可以从托管权限下拉列表中选择新的客户托管权限。

    注意

    如果选定的托管权限有多个版本,则 Amazon RAM 会自动附加默认版本。您只能 附加指定为默认版本的版本。

    要显示托管权限允许的操作,请展开查看该托管权限的策略模板

  7. 选择 Next(下一步)。

  8. 步骤 3:向主体授予访问权限中,执行以下操作:

    1. 默认情况下,允许与任何人共享处于选中状态,这意味着,对于支持共享的资源类型,您可以与组织外部的 Amazon Web Services 账户共享资源。这不会影响只能 在组织内部共享的资源类型,例如 Amazon VPC 子网。您还可以与 IAM 角色和用户共享某些支持的资源类型

      要将资源共享限制为仅组织中的账户和主体,请选择仅允许在组织内共享

    2. 对于主体,请执行以下操作:

      • 要添加组织、组织单位 (OU) 或属于组织的 Amazon Web Services 账户,请打开显示组织结构。这将显示组织的树视图。然后,选中要添加的每个主体旁边的复选框。

        重要

        当您与组织或 OU 共享,并且该范围包括拥有资源共享的账户时,共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 Amazon RAM 附加到共享中每个资源的基于资源的策略使用 "Principal": "*"。有关更多信息,请参阅在基于资源的策略中使用 "Principal": "*" 的影响

        其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予对资源共享中各个资源 ARN 的 Allow 访问权限。这些策略中的权限不能超过与资源共享关联的托管权限中指定的权限。

        • 如果您选择组织(ID 以 o- 开头),则组织中所有 Amazon Web Services 账户的主体都可以访问资源共享。

        • 如果您选择 OU(ID 以 ou- 开头),则该 OU 及其子 OU 中所有 Amazon Web Services 账户的主体都可以访问资源共享。

        • 如果您选择个人 Amazon Web Services 账户,则只有该账户中的主体才能访问资源共享。

        注意

        仅当启用与 Amazon Organizations 的共享功能并且您已登录到该组织的管理账户时,才会显示显示组织结构切换开关。

        您不能使用此方法来指定组织外部的 Amazon Web Services 账户、IAM 角色或用户。相反,您必须关闭显示组织结构,然后使用下拉列表和文本框输入 ID 或 ARN。

      • 要按 ID 或 ARN 指定主体(包括组织外部的主体),请为每个主体选择主体类型。接下来,输入 ID(对于 Amazon Web Services 账户、组织或 OU)或 ARN(对于 IAM 角色或用户),然后选择添加。可用的主体类型以及 ID 和 ARN 格式如下所示:

        • Amazon Web Services 账户 - 要添加 Amazon Web Services 账户,请输入 12 位数的账户 ID。例如:

          123456789012

        • 组织 - 要添加组织中的所有 Amazon Web Services 账户,请输入组织的 ID。例如:

          o-abcd1234

        • 组织单位 (OU) - 要添加 OU,请输入 OU 的 ID。例如:

          ou-abcd-1234efgh

        • IAM 角色 - 要添加 IAM 角色,请输入角色的 ARN。使用下面的语法:

          arn:partition:iam::account:role/role-name

          例如:

          arn:aws:iam::123456789012:role/MyS3AccessRole

          注意

          要获取 IAM 角色的唯一 ARN,请在 IAM 控制台中查看角色列表,使用 get-role Amazon CLI 命令或 GetRole API 操作。

        • IAM 用户 - 要添加 IAM 用户,请输入用户的 ARN。使用下面的语法:

          arn:partition:iam::account:user/user-name

          例如:

          arn:aws:iam::123456789012:user/bob

          注意

          要获取 IAM 用户的唯一 ARN,请在 IAM 控制台中查看用户列表,使用 get-user Amazon CLI 命令或 GetUser API 操作。

      • 服务主体 - 要添加服务主体,请从选择主体类型下拉列表中选择服务主体。输入 Amazon 服务主体的名称。使用下面的语法:

        • service-id.amazonaws.com

          例如:

          pca-connector-ad.amazonaws.com

    3. 对于所选的主体,请验证您指定的主体是否显示在列表中。

  9. 选择 Next(下一步)。

  10. 步骤 4:查看和创建中,查看资源共享的配置详细信息。要更改任何步骤的配置,请选择与您要返回的步骤对应的链接,然后进行所需的更改。

  11. 查看完资源共享后,选择创建资源共享

    可能需要花几分钟时间,才能完成资源和委托人关联。在尝试使用资源共享之前,允许此过程完成。

  12. 您可以随时添加和删除资源与主体,或将自定义标签应用于资源共享。您可以更改资源共享中包含的资源类型的托管权限,以及支持超过默认托管权限的资源类型的托管权限。您不再希望共享资源时,可以将其删除。有关更多信息,请参阅共享您拥有的 Amazon 资源

Amazon CLI
要创建资源共享,请执行以下操作:

使用 create-resource-share 命令。以下命令创建与组织中的所有 Amazon Web Services 账户共享的资源共享。该共享包含 Amazon License Manager 许可证配置,并授予该资源类型的默认托管权限。

注意

如果您想将客户托管权限与该资源共享中的资源类型一起使用,则可以使用现有的客户托管权限,也可以创建新的客户托管权限。记下客户托管权限的 ARN,然后创建资源共享。有关更多信息,请参阅创建客户托管权限

$ aws ram create-resource-share \ --region cn-north-1 \ --name MyLicenseConfigShare \ --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionLicenseConfiguration \ --resource-arns arn:aws:license-manager:cn-north-1:123456789012:license-configuration:lic-abc123 \ --principals arn:aws:organizations::123456789012:organization/o-1234abcd { "resourceShare": { "resourceShareArn": "arn:aws:ram:cn-north-1:123456789012:resource-share/12345678-abcd-09876543", "name": "MyLicenseConfigShare", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2021-09-14T20:42:40.266000-07:00", "lastUpdatedTime": "2021-09-14T20:42:40.266000-07:00" } }