

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

# 在 Amazon RAM 中创建资源共享
<a name="working-with-sharing-create"></a>

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

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

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

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

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

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

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

1. 打开 [Amazon RAM 管理控制台](https://console.amazonaws.cn/ram/home)。

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

1. 如果您是首次使用 Amazon RAM，请从主页选择**创建资源共享**。否则，请从**[由我共享：资源共享](https://console.amazonaws.cn/ram/home#OwnedResourceShares:)**页面选择**创建资源共享**。

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

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

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

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

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

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

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

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

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

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

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

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

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

   1. 对于**主体**，请执行以下操作：
      + 要添加组织、组织单位（OU）或属于组织的 Amazon Web Services 账户，请打开**显示组织结构**。这将显示组织的树视图。然后，选中要添加的每个主体旁边的复选框。
**重要**  
当您与组织或 OU 共享，并且该范围包括拥有资源共享的账户时，共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 Amazon RAM 附加到共享中每个资源的基于资源的策略使用 `"Principal": "*"`。有关更多信息，请参阅 [在基于资源的策略中使用 "Principal": "\$1" 的影响](getting-started-terms-and-concepts.md#term-principal-star)。  
其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予对资源共享中各个资源 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 控制台中查看角色列表](https://console.amazonaws.cn/iamv2/home?#/roles)，使用 [get-role](https://docs.amazonaws.cn/cli/latest/reference/iam/get-role.html) Amazon CLI 命令或 [GetRole](https://docs.amazonaws.cn/IAM/latest/APIReference/API_GetRole.html) API 操作。
        + **IAM 用户** - 要添加 IAM 用户，请输入用户的 ARN。使用以下语法：

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

          例如：

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

          例如：

          `pca-connector-ad.amazonaws.com`

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

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

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

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

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

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

------
#### [ Amazon CLI ]

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

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

```
$ 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"
    }
}
```

------