

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

# 共享您的 AWS 资源
<a name="getting-started-sharing"></a>

要使用共享您拥有的资源 AWS RAM，请执行以下操作：
+ [在内部启用资源共享 AWS Organizations](#getting-started-sharing-orgs)（可选）
+ [创建资源共享](#getting-started-sharing-create)

**注意**  
与拥有 AWS 账户 该资源的以外的委托人共享资源不会更改适用于创建该资源的账户内的资源权限或配额。
AWS RAM 是一项区域服务。您与之共享的委托人只能访问创建资源时 AWS 区域 所在的资源共享。
有些资源在共享方面有特殊的注意事项和先决条件。有关更多信息，请参阅 [可共享的资源 AWS](shareable.md)。

## 在内部启用资源共享 AWS Organizations
<a name="getting-started-sharing-orgs"></a>

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

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

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

**注意**  
默认情况下，当您启用与共享时 AWS Organizations，组织内的资源共享会限制同一组织内的消费者访问权限。如果消费者账户离开组织，则该账户将失去对资源共享中资源的访问权限。无论您是与 OU、整个组织还是组织中的个人账户共享资源，此限制都适用。  
要在组织内 account-to-account共享，您可以在帐户离开时保留共享权限，方法是在创建新的资源共享`True`时`RetainSharingOnAccountLeaveOrganization`将设置为。启用此设置后， AWS RAM 向消费者账户发送邀请（类似于与外部账户共享）。即使已离开组织，该账户仍保留对共享资源的访问权限。  
该`RetainSharingOnAccountLeaveOrganization`设置具有以下要求和限制：  
必须`allowExternalPrincipals`成为 `True`
只能在创建新资源共享时进行设置
不适用于与整个组织共享 OUs 或与整个组织共享
如果设置`RetainSharingOnAccountLeaveOrganization`为`True`，则不能使用资源共享来共享[只能在组织内共享的](shareable.html)资源。

如果您不再需要与整个组织共享资源 OUs，或者可以禁用资源共享。有关更多信息，请参阅 [禁用与的资源共享 AWS Organizations](security-disable-sharing-with-orgs.md)。

**最小权限**

要运行以下步骤，您必须以拥有以下权限的组织管理账户中的主体身份登录：
+ `ram:EnableSharingWithAwsOrganization`
+ `iam:CreateServiceLinkedRole`
+ `organizations:enableAWSServiceAccess`
+ `organizations:DescribeOrganization`

**要求**
+ 只有在组织管理账户中以主体身份登录时，才能执行这些步骤。
+ 组织必须已启用所有功能。有关更多信息，请参阅《AWS Organizations 用户指南》**中的[启用企业中的所有功能](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)。

**重要**  
您必须使用 AWS RAM 控制台或 [enable-sharing-with-aws-](https://docs.aws.amazon.com/cli/latest/reference/ram/enable-sharing-with-aws-organization.html) organization AWS CLI 命令启用与 AWS Organizations 共享。这将确保创建与 `AWSServiceRoleForResourceAccessManager` 服务相关角色。如果您使用 AWS Organizations 控制台或[ enable-aws-service-access](https://docs.aws.amazon.com/cli/latest/reference/organizations/enable-aws-service-access.html) AWS CLI 命令启用可信访问，则不会创建`AWSServiceRoleForResourceAccessManager`服务相关角色，也无法在组织内共享资源。 AWS Organizations 

------
#### [ Console ]

**要在组织内启用资源共享，请执行以下操作：**

1. 在 AWS RAM 控制台中打开 **[“设置](https://console.aws.amazon.com/ram/home#Settings:)**” 页面。

1. 选择 “**启用与之共享**” AWS Organizations，然后选择 “**保存设置”**。

------
#### [ AWS CLI ]

**要在组织内启用资源共享，请执行以下操作：**  
使用 [enable-sharing-with-aws-组织](https://docs.aws.amazon.com/cli/latest/reference/ram/enable-sharing-with-aws-organization.html)命令。

此命令可以在任何区域中使用 AWS 区域，并且允许 AWS Organizations 在所有支持的区域中 AWS RAM 与共享。

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

------

## 创建资源共享
<a name="getting-started-sharing-create"></a>

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

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

1. 对于共享中包含的每种资源类型，请指定要用于该资源类型的[托管权限](getting-started-terms-and-concepts.md#term-managed-permission)。
   + 您可以选择可用的 AWS 托管权限、现有客户托管权限或创建新的客户托管权限。
   + AWS 托管权限由创建 AWS ，以涵盖标准用例。
   + 客户托管权限允许您定制自己的托管权限，以满足您的安全和业务需求。
**注意**  
如果选定的托管权限有多个版本，则 AWS RAM 会自动附加默认版本。您***只能*** 附加指定为默认版本的版本。

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

**注意事项**
+ 如果您以后需要删除共享中包含的 AWS 资源，我们建议您先从包含该资源的任何资源共享中移除该资源，或者删除该资源共享。
+ 您可以在资源共享中包含的资源类型列在了[可共享的资源 AWS](shareable.md)中。
+ 仅当您[拥有](getting-started-terms-and-concepts.md#term-sharing-account)某个资源时，您才可以共享此资源。您无法共享与您共享的资源。
+ AWS RAM 是一项区域服务。当您与其他 AWS 账户中的主体共享资源时，这些主体必须从创建每个资源时所在的 AWS 区域 访问这些资源。对于支持的全局资源，您可以从 AWS 区域 该资源的服务控制台和工具支持的任何资源访问这些资源。您只能在指定的主区域美国东部（弗吉尼亚州北部）`us-east-1` 的 AWS RAM 控制台和工具中，查看此类资源共享及其全球资源。有关 AWS RAM 和全球资源的更多信息，请参阅[共享区域资源（相较于全球资源）](working-with-regional-vs-global.md)。
+ 如果您共享的账户是组织中组织的一员， AWS Organizations 并且启用了组织内部共享，则系统会自动授予您共享的组织中的所有委托人访问资源共享的权限，而无需使用邀请。您在组织环境之外与之共享的账户中的主体会收到加入资源共享的邀请，并且只有在他们接受邀请后才能获得对所共享资源的访问权限。
+ 如果您与服务主体共享，则无法将任何其他主体与该资源共享关联。
+ 如果共享是在属于某个组织的账户或主体之间进行的，则组织成员资格的任何更改都会动态影响对资源共享的访问权限。
  + 如果您 AWS 账户 向组织或有权访问资源共享的 OU 中添加，则该新成员账户将自动获得对资源共享的访问权限。然后，您与之共享的账户的管理员可以授予该账户中的个人主体访问该共享中的资源的权限。
  + 如果您从组织或有权访问资源共享的 OU 中移除某个账户，则该账户中的所有主体将自动失去对通过该资源共享访问的资源的访问权限。
  + 如果您直接与成员账户或成员账户中的 IAM 角色或用户共享，然后将该账户从组织中移除，则该账户中的任何主体将无法访问通过该资源共享访问的资源。
**重要**  
当您与组织或 OU 共享，并且该范围包括拥有资源共享的账户时，共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 AWS RAM 附加到共享中每个资源的基于资源的策略使用`"Principal": "*"`。有关更多信息，请参阅 [在基于资源的策略中使用 "Principal": "\$1" 的影响](getting-started-terms-and-concepts.md#term-principal-star)。  
其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予 ARNs 对资源共享中各个资源的`Allow`访问权限。这些策略中的权限不能超过与资源共享关联的托管权限中指定的权限。
+ 您只能将您的账户所属的组织以及 OUs 该组织添加到您的资源共享中。您不能将组织外部的组织作为委托人添加到 OUs 资源共享中。但是，对于支持的服务，您可以将组织外部的 IAM 角色和用户添加为资源共享的委托人。 AWS 账户 
**注意**  
并非所有资源类型都可以与 IAM 角色和用户共享。有关您可以与这些主体共享的资源的信息，请参阅[可共享的资源 AWS](shareable.md)。
+ 对于以下资源类型，您有七天的时间接受邀请加入以下资源类型的共享。如果您在邀请到期之前未接受邀请，则系统会自动拒绝邀请。
**重要**  
对于**不** 在以下列表中的共享资源类型，您有 **12 小时的时间** 接受加入资源共享的邀请。12 小时后，邀请过期，资源共享中的最终用户主体将解除关联。最终用户无法再接受邀请。
  + Amazon Aurora - DB 集群
  + Amazon EC2 - 容量预留和专用主机
  + AWS License Manager — 许可证配置
  + AWS Outposts — 本地网关路由表、前哨基地和站点 
  + Amazon Route 53 - 转发规则
  + Amazon VPC — 客户拥有 IPv4 的地址、前缀列表、子网、流量镜像目标、中转网关、传输网关组播域

------
#### [ Console ]

**要创建资源共享，请执行以下操作：**

1. 打开 [AWS RAM 控制台](https://console.aws.amazon.com/ram/home)。

1. 由于 AWS RAM 资源共享是特定的 AWS 区域，因此请 AWS 区域 从控制台右上角的下拉列表中选择相应的资源共享。要查看包含全球资源的资源共享，必须将设置 AWS 区域 为美国东部（弗吉尼亚北部）、(`us-east-1`)。有关共享全球资源的更多信息，请参阅[共享区域资源（相较于全球资源）](working-with-regional-vs-global.md)。如果要在资源共享中包含全球资源，则必须选择指定的主区域，即美国东部（弗吉尼亚州北部）`us-east-1`。

1. 如果您不熟悉 AWS RAM，请从主页选择**创建资源共享**。否则，请从**[由我共享：资源共享](https://console.aws.amazon.com/ram/home#OwnedResourceShares:)**页面选择**创建资源共享**。

1. 在**步骤 1：指定资源共享详细信息**中，执行以下操作：

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

   1. 在**资源**下，选择要添加到资源共享的资源，如下所示：
      + 对于**选择资源类型**，选择要共享的资源的类型。这会将可共享资源的列表筛选为仅所选类型的资源。
      + 在生成的资源列表中，选中要共享的各个资源旁边的复选框。所选资源将移至**选定资源**下。

        如果您要共享与特定可用区关联的资源，则使用可用区 ID（AZ ID）可帮助您跨账户确定这些资源的相对位置。有关更多信息，请参阅 [AWS 资源的可用区 ID](working-with-az-ids.md)。

   1. （可选）要[将标签附加](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)到资源共享，请在**标签**下输入标签键和值。通过选择**添加新标签**，添加其他标签。根据需要重复上述步骤。这些标签仅适用于资源共享本身，不适用于资源共享中的资源。

1. 选择**下一步**。

1. 在**步骤 2：将托管权限与每种资源类型**关联中，您可以选择将创建的托管权限 AWS 与资源类型相关联，选择现有的客户托管权限，也可以为支持的资源类型创建自己的客户托管权限。有关更多信息，请参阅 [托管权限的类型](security-ram-permissions.md#permissions-types)。

   选择**创建客户托管权限**，以构建符合共享使用案例要求的客户托管权限。有关更多信息，请参阅 [创建客户托管权限](create-customer-managed-permissions.md#create_cmp)。完成该过程后，选择 ![\[Refresh icon\]](http://docs.aws.amazon.com/zh_cn/ram/latest/userguide/images/refresh_icon.PNG)，然后您可以从**托管权限**下拉列表中选择新的客户托管权限。
**注意**  
如果选定的托管权限有多个版本，则 AWS RAM 会自动附加默认版本。您***只能*** 附加指定为默认版本的版本。

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

1. 选择**下一步**。

1. 在**步骤 3：向主体授予访问权限**中，执行以下操作：

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

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

   1. 对于**主体**，请执行以下操作：
      + 要添加组织、组织单位 (OU) 或组织的一部分 AWS 账户 ，请打开 “**显示组织结构**”。这将显示组织的树视图。然后，选中要添加的每个主体旁边的复选框。
**重要**  
当您与组织或 OU 共享，并且该范围包括拥有资源共享的账户时，共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 AWS RAM 附加到共享中每个资源的基于资源的策略使用`"Principal": "*"`。有关更多信息，请参阅 [在基于资源的策略中使用 "Principal": "\$1" 的影响](getting-started-terms-and-concepts.md#term-principal-star)。  
其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予 ARNs 对资源共享中各个资源的`Allow`访问权限。这些策略中的权限不能超过与资源共享关联的托管权限中指定的权限。
        + 如果您选择组织（ID 以 `o-` 开头），则组织中所有 AWS 账户 的主体都可以访问资源共享。
        + 如果您选择一个 OU（ID 以开头`ou-`），则该 OU AWS 账户 中的所有委托人及其子级 OUs 都可以访问该资源共享。
        + 如果您选择个人 AWS 账户，则只有该账户中的委托人才能访问资源共享。
**注意**  
仅当启用与 AWS Organizations 的共享功能并且您已登录到该组织的管理账户时，才会显示**显示组织结构**切换开关。  
您不能使用此方法来指定组织外部的 AWS 账户 、IAM 角色或用户。相反，您必须关闭**显示组织结构**，然后使用下拉列表和文本框输入 ID 或 ARN。
      + 要按 ID 或 ARN 指定主体（包括组织外部的主体），请为每个主体选择主体类型。**接下来，输入 ID（对于 AWS 账户、组织或 OU）或 ARN（对于 IAM 角色或用户），然后选择添加。**可用的主体类型以及 ID 和 ARN 格式如下所示：
        + **AWS 账户**— 要添加 AWS 账户，请输入 12 位数的账户 ID。例如：

          `123456789012`
        + **组织**-要添加组织 AWS 账户 中的所有组织，请输入组织的 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，请在 IA [M 控制台中查看角色列表](https://console.aws.amazon.com/iamv2/home?#/roles)，使用 [get-role AWS CLI 命令或 AP](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) I 操作。[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)
        + **IAM 用户** - 要添加 IAM 用户，请输入用户的 ARN。使用以下语法：

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

          例如：

          `arn:aws:iam::123456789012:user/bob`
**注意**  
要获取 IAM 用户的唯一 ARN，请[在 IAM 控制台中查看用户列表](https://console.aws.amazon.com/iamv2/home?#/users)，使用[https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) AWS CLI 命令或 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)API 操作。
      +  **服务主体** - 要添加服务主体，请从**选择主体类型**下拉列表中选择**服务主体**。输入 AWS 服务主体的名称。使用以下语法：
        + `service-id.amazonaws.com`

          例如：

          `pca-connector-ad.amazonaws.com`

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

1. 选择**下一步**。

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

1. 查看完资源共享后，选择**创建资源共享**。

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

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

------
#### [ AWS CLI ]

**要创建资源共享，请执行以下操作：**  
使用 [https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) 命令。以下命令创建与组织 AWS 账户 中的所有人共享的资源共享。该共享包含 AWS License Manager 许可证配置，并授予该资源类型的默认托管权限。

**注意**  
如果您想将客户托管权限与该资源共享中的资源类型一起使用，则可以使用现有的客户托管权限，也可以创建新的客户托管权限。记下客户托管权限的 ARN，然后创建资源共享。有关更多信息，请参阅 [创建客户托管权限](create-customer-managed-permissions.md#create_cmp)。

```
$ aws ram create-resource-share \
    --region us-east-1 \
    --name MyLicenseConfigShare \
    --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionLicenseConfiguration \
    --resource-arns arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-abc123 \
    --principals arn:aws:organizations::123456789012:organization/o-1234abcd
{
    "resourceShare": {
        "resourceShareArn": "arn:aws:ram:us-east-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"
    }
}
```

------