

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

# 入门 AWS RAM
<a name="getting-started"></a>

使用 AWS Resource Access Manager，您可以与其他人共享您拥有的资源 AWS 账户。如果您的账户由管理 AWS Organizations，您也可以与组织中的其他账户共享资源。您还可以使用通过其他 AWS 账户与您共享的资源。

如果您不启用内部共享 AWS Organizations，则无法与您的组织或组织中的组织单位 (OU) 共享资源。但是，您仍然可以与组织 AWS 账户 中的个人共享资源。对于[支持的资源类型](shareable.md)，您还可以与组织中的各 AWS Identity and Access Management （IAM）角色或用户共享资源。在这种情况下，这些主体被视为外部账户，而不是您组织的一部分。他们会收到加入资源共享的邀请，且必须接受邀请后才能访问共享资源。

**Topics**
+ [术语和概念](getting-started-terms-and-concepts.md)
+ [共享您的资源](getting-started-sharing.md)
+ [使用共享资源](getting-started-shared.md)

# 的术语和概念 AWS RAM
<a name="getting-started-terms-and-concepts"></a>

以下概念有助于解释如何使用 AWS Resource Access Manager (AWS RAM) 共享资源。

## 资源共享
<a name="term-resource-share"></a>

您可以 AWS RAM 通过创建资源共享来使用*共享资源*。资源共享包含以下三个要素：
+ 要共享的一个或多个 AWS 资源的列表。
+ 要向其授予资源访问权限的一个或多个[主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying)的列表。
+ 共享中包含的每种资源的[托管权限](#term-managed-permission)。每项托管权限适用于该资源共享中该类型的所有资源。

在您使用创建资源共享之后，可以 AWS RAM 向在资源共享中指定的委托人授予访问该共享资源的权限。
+ 如果您开启与 AWS RAM 共享 AWS Organizations，并且您与之共享的委托人与共享账户属于同一个组织，则只要他们的账户管理员使用 AWS Identity and Access Management (IAM) 权限策略向他们授予使用资源的权限，这些委托人就可以获得访问权限。
+ 如果您未开启与 Or AWS RAM ganizations 共享，您仍然可以与组织中的个人 AWS 账户 共享资源。使用账户中的管理员会收到加入资源共享的邀请，且他们必须接受邀请，然后资源共享中指定的主体才能访问共享的资源。
+ 如果资源类型支持，您也可以与组织外部的账户共享。使用账户中的管理员会收到加入资源共享的邀请，且他们必须接受邀请，然后资源共享中指定的主体才能访问共享的资源。有关哪些资源类型支持此类共享的信息，请参阅[可共享的资源 AWS](shareable.md)，并查看**可以与其组织之外的账户共享**列。

## 共享账户
<a name="term-sharing-account"></a>

*共享帐户*包含共享的资源， AWS RAM 管理员使用在其中创建 AWS 资源共享 AWS RAM。

 AWS RAM 管理员是 IAM 委托人，有权在中创建和配置资源共享 AWS 账户。由于通过将基于资源的策略附加到资源共享中的资源来起 AWS RAM 作用，因此 AWS RAM 管理员还必须有权对资源共享中包含 AWS 服务 的每种资源类型调用`PutResourcePolicy`操作。

## 使用主体
<a name="term-consuming-account"></a>

*消费账户*是 AWS 账户 共享资源的账户。资源共享可以将整个账户指定为主体，或者对于某些资源类型，可以指定账户中的单个角色或用户。有关哪些资源类型支持此类共享的信息，请参阅[可共享的资源 AWS](shareable.md)，并查看**可以与 IAM 角色和用户共享**列。

AWS RAM 还支持服务主体作为资源共享的使用者。有关哪些资源类型支持此类共享的信息，请参阅[可共享的资源 AWS](shareable.md)，并查看**可以与服务主体共享**列。

 使用账户中的主体只能执行以下***两个*** 权限所允许的操作：
+ 附加到资源共享的托管权限。它们指定了可以向使用账户中的主体授予的*最大* 权限。
+ 使用账户中的 IAM 管理员附加到个人角色或用户的 IAM 基于身份的策略。这些策略必须授予对共享账户中资源的指定操作和 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)的 `Allow` 权限。

AWS RAM 支持以下 IAM 委托人类型作为资源共享的使用者：
+ **另一个 AWS 账户** — 资源共享使共享账户中包含的资源可供使用者账户使用。
+ **其他账户中的单个 IAM 角色或用户** - 某些资源类型支持直接与单个 IAM 角色或用户共享。按 ARN 指定此主体类型。
  + **IAM 角色** - `arn:aws:iam::123456789012:role/rolename`
  + **IAM 用户** - `arn:aws:iam::123456789012:user/username`
+ **服务主体**-与 AWS 服务共享资源以授予该服务对资源共享的访问权限。服务主体共享允许 AWS 服务代表您采取行动，以减轻运营负担。

  要与服务主体共享，请选择允许与任何人共享，然后，在**选择主体类型**下，从下拉列表中选择**服务主体**。采用以下格式指定服务主体的名称：
  + `service-id.amazonaws.com`

  为了降低混淆代理人带来的风险，资源策略在 `aws:SourceAccount` 条件键中显示资源所有者的账户 ID。
+ **组织中的帐户**-如果共享帐户由管理 AWS Organizations，则资源共享可以指定要与组织中的所有帐户共享的组织 ID。资源共享也可以指定组织单位（OU）ID，以便与该 OU 中的所有账户共享。共享账户只能与自己的组织或其组织 IDs 内部的 OU 共享。按组织或 OU 的 ARN 指定组织中的账户。
  + **组织中的所有账户** - 以下是 AWS Organizations中组织的 ARN 示例：

    `arn:aws:organizations::123456789012:organization/o-<orgid>`
  + **组织单位中的所有账户** - 以下是 OU ID 的 ARN 示例：

    `arn:aws:organizations::123456789012:organization/o-<orgid>/ou-<rootid>-<ouid>`
**重要**  
当您与组织或 OU 共享，并且该范围包括拥有资源共享的账户时，共享账户中的所有主体都会自动获得对共享中资源的访问权限。授予的访问权限由与共享关联的托管权限定义。这是因为 AWS RAM 附加到共享中每个资源的基于资源的策略使用`"Principal": "*"`。有关更多信息，请参阅 [在基于资源的策略中使用 "Principal": "\$1" 的影响](#term-principal-star)。  
其他所使用账户中的主体无法立即访问共享的资源。其他账户的管理员必须首先将基于身份的权限策略附加到相应的主体。这些策略必须授予 ARNs 对资源共享中各个资源的`Allow`访问权限。这些策略中的权限不能超过与资源共享关联的托管权限中指定的权限。

## 基于资源的政策
<a name="term-resource-based-policy"></a>

基于资源的策略是实施 IAM 策略语言的 JSON 文本文档。与您附加到委托人的基于身份的策略（例如 IAM 角色或用户）不同，您可以将基于资源的策略附加到资源。 AWS RAM 根据您为资源共享提供的信息，代表您制定基于资源的策略。您必须指定一个 `Principal` 策略元素来确定谁可以访问该资源。有关更多信息，请参见《IAM 用户指南》**中的[基于身份的策略和基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)。

将对生成的 AWS RAM 基于资源的策略以及所有其他 IAM 策略类型进行评估。这包括附加到尝试访问资源的委托人的任何基于 IAM 身份的策略，以及可能适用于该资源的服务控制策略 (SCPs)。 AWS Organizations AWS 账户由生成的基于资源的策略 AWS RAM 参与与所有其他 IAM 策略相同的策略评估逻辑。有关策略评估以及如何确定生成的权限的完整详细信息，请参阅《IAM 用户指南》**中的[策略评估逻辑](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

AWS RAM 通过提供基于 easy-to-use抽象资源的策略，提供简单安全的资源共享体验。

对于支持基于资源的策略的资源类型， AWS RAM 会自动为您构建和管理基于资源的策略。对于给定资源， AWS RAM 通过组合包含资源的所有资源共享中的信息，构建基于该资源的策略。例如，假设您通过使用 AWS RAM 并包含在两个不同的资源共享中共享的 SageMaker Amazon AI 管道。您可以使用一个资源共享为整个组织提供只读访问权限。然后，您可以使用其他资源共享仅向单个账户授予 SageMaker AI 执行权限。 AWS RAM 自动将这两组不同的权限组合成一个包含多个语句的资源策略。然后，它将组合的基于资源的策略附加到管道资源。您可以通过调用[https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html)操作来查看此底层资源策略。 AWS 服务 然后使用该基于资源的策略来授权任何试图对共享资源执行操作的委托人。

尽管您可以手动创建基于资源的策略并通过调用 `PutResourcePolicy` 将其附加到您的资源，但我们建议您使用 AWS RAM ，因为它具有以下优点：
+ **共享使用者的可发现性**-如果您通过使用共享资源 AWS RAM，则用户可以直接在拥有资源的服务的控制台和 API 操作中看到与他们共享的所有资源，就好像这些资源直接存在于用户的账户中一样。例如，如果您与其他账户共享一个 AWS CodeBuild 项目，则使用者账户中的用户可以在 CodeBuild 控制台和所执行的 CodeBuild API 操作的结果中看到该项目。通过直接附加基于资源的策略共享的资源不可见。相反，您必须按资源的 ARN 来发现并明确引用该资源。
+ **共享所有者的可管理性**-如果您通过使用共享资源 AWS RAM，则共享账户中的资源所有者可以集中查看哪些其他账户有权访问其资源。如果您使用基于资源的策略共享资源，则只能通过在相关的服务控制台或 API 中查看各个资源的策略，查看使用账户。
+ **效率** — 如果您通过使用共享资源 AWS RAM，则可以共享多个资源并将其作为一个单元进行管理。仅使用基于资源的策略共享的资源需要在您共享的每个资源上附加单独的策略。
+ **简单** — 有了它 AWS RAM，您无需了解基于 JSON 的 IAM 策略语言。 AWS RAM 提供 ready-to-use AWS 托管权限，您可以选择将其附加到资源共享。

通过使用 AWS RAM，您甚至可以共享一些尚不支持基于资源的策略的资源类型。对于此类资源类型，会 AWS RAM 自动生成一个基于资源的策略来表示实际权限。用户可以通过调用 [https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourcePolicies.html) 来查看此表示形式。这包含以下资源类型：
+ Amazon Aurora - DB 集群
+ Amazon EC2 - 容量预留和专用主机
+ AWS License Manager — 许可证配置
+ AWS Outposts — 本地网关路由表、前哨基地和站点
+ Amazon Route 53 - 转发规则
+ Amazon Virtual Private Cloud — 客户拥有 IPv4 的地址、前缀列表、子网、流量镜像目标、传输网关和传输网关组播域

### AWS RAM 生成的基于资源的策略示例
<a name="rbp-examples"></a>

如果您与个人***账户***共享 EC2 Image Builder 图像资源，则 AWS RAM 会生成如下例所示的策略，并将其附加到资源共享中包含的所有图像资源。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:root"
            },
            "Action": [
                "imagebuilder:GetImage",
                "imagebuilder:ListImages"
            ],
            "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44"
        }
    ]
}
```

------

如果您与其他 ***IAM 角色或用户***共享 EC2 Image Builder 图像资源，则 AWS RAM 会生成如下例所示的策略，并将其附加到资源共享中包含的所有图像资源。 AWS 账户

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:role/MySampleRole"
            },
            "Action": [
                "imagebuilder:GetImage",
                "imagebuilder:ListImages"
            ],
            "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44"
        }
    ]
}
```

------

如果您与组织中的所有账户或组织中的账户共享 EC2 Image Builder 图像资源，则 AWS RAM 会生成与以下示例类似的策略，并将其附加到资源共享中包含的所有图像资源。

**注意**  
此策略使用 `"Principal": "*"`，然后使用 `"Condition"` 元素将权限限制为与指定 `PrincipalOrgID` 相匹配的身份。有关更多信息，请参阅 [在基于资源的策略中使用 "Principal": "\$1" 的影响](#term-principal-star)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "imagebuilder:GetImage",
                "imagebuilder:ListImages"
            ],
            "Resource": "arn:aws:imagebuilder:us-east-1:123456789012:image/testimage/1.0.0/44",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": "o-123456789"
                }
            }
        }
    ]
}
```

------

### 在基于资源的策略中使用 "Principal": "\$1" 的影响
<a name="term-principal-star"></a>

当您在基于资源的策略中包含 `"Principal": "*"` 时，该策略会向账户中包含该资源的所有 IAM 主体授予访问权限，但须遵守 `Condition` 元素施加的任何限制（如果存在）。适用于调用主体的任何策略中的明确 `Deny` 语句将覆盖此策略授予的权限。但是，在任何适用的身份策略、权限边界策略或会话策略中，***隐式*** `Deny`（意味着缺少*显式* `Allow`）***不会***导致对通过此类基于资源的策略获得某操作的访问权限的主体执行 `Deny`。

如果您的场景不希望出现这种行为，则您可以通过向影响相关角色和用户的身份策略、权限边界或会话策略添加***显式*** `Deny` 语句，限制这种行为。

## 托管权限
<a name="term-managed-permission"></a>

托管权限定义了主体可以在哪些条件下对资源共享中支持的资源类型执行哪些操作。创建资源共享时，您必须指定要对资源共享中包含的每种资源类型使用哪种托管权限。托管权限列出了委托人可以使用 AWS RAM共享的资源执行的一组`actions`和*条件*。

您只能为资源共享中的每种资源类型附加一个托管权限。如果某个类型的某些资源使用一种托管权限，而相同类型的其他资源使用不同的托管权限，则无法创建资源共享。为此，您需要创建两个不同的资源共享并在它们之间分配资源，以便为每个资源集提供不同的托管权限。有两种不同类型的托管权限：

**AWS 托管权限**  
AWS 托管权限由常见客户场景创建、维护 AWS 和授予权限。 AWS RAM 为每种支持的资源类型定义至少一个 AWS 托管权限。某些资源类型支持多个 AWS 托管权限，其中一个托管权限被指定为 AWS 默认权限。除非您另行指定，否则将关联[默认 AWS 托管权限](security-ram-permissions.md#permissions-types)。

**客户托管权限**  
客户托管权限是您通过精确指定可以在哪些条件下使用 AWS RAM共享的资源执行哪些操作来创建和维护的托管权限。例如，您想限制 Amazon VPC IP 地址管理器（IPAM）池的读取权限，这有助于您大规模管理 IP 地址。您可以为开发人员创建客户托管权限来分配 IP 地址，但不能查看其他开发人员账户分配的 IP 地址范围。您可以遵循最低权限相关的最佳实践，仅授予在共享资源上执行任务所需的权限。  
您可以为资源共享中的资源类型定义自己的权限，并可以选择添加诸如[全局上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)和[服务特定键](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)之类的条件，以指定主体访问资源的条件。这些权限可以在一个或多个 AWS RAM 共享中使用。客户托管权限为区域特定权限。

AWS RAM 将托管权限作为输入，为您共享的[资源制定基于资源的策略](#term-resource-based-policy)。

## 托管权限版本
<a name="term-managed-permission-version"></a>

对托管权限的任何更改都表示为该托管权限的新版本。新版本是所有新资源共享的默认版本。每个托管权限始终有一个指定为默认版本的版本。当您或 AWS 创建新的托管权限版本时，必须明确更新每个现有资源共享的托管权限。在此步骤中，您可以先评估更改，然后再将其应用于您的资源共享。所有新的资源共享将自动使用相应资源类型的新版托管权限。

**AWS 托管权限版本**  
AWS 处理对 AWS 托管权限的所有更改。此类更改可解决新功能或消除已发现的缺点。您只能将默认托管权限版本应用于您的资源共享。

**客户托管权限版本**  
您负责处理对客户托管权限的所有更改。您可以创建新的默认版本，将旧版本设置为默认版本，或者删除不再与任何资源共享关联的版本。一个客户托管权限最多可以有五个版本。

创建或更新资源共享时，只能附加指定托管权限的默认版本。有关更多信息，请参阅 [将 AWS 托管权限更新到新版本](working-with-sharing-update-permissions.md)。

# 共享您的 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"
    }
}
```

------

# 使用共享 AWS 资源
<a name="getting-started-shared"></a>

要开始使用使用与您的账户共享的资源 AWS Resource Access Manager，请完成以下任务。

**Topics**
+ [回复资源共享邀请](#getting-started-shared-respond-invitation)
+ [使用与您共享的资源](#getting-started-shared-use-resources)

## 回复资源共享邀请
<a name="getting-started-shared-respond-invitation"></a>

如果您收到加入资源共享的邀请，您必须接受它才能访问共享资源。

以下情形不使用邀请：
+ 如果您是组织中的一员， AWS Organizations 并且启用了组织中的共享，则该组织中的委托人无需邀请即可自动访问共享资源。
+ 如果您与拥有 AWS 账户 该资源的用户共享，则该账户中的委托人无需邀请即可自动访问共享资源。

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

**要响应邀请，请执行以下操作：**

1. 在 AWS RAM 控制台中，打开**[与我共享：资源共享](https://console.aws.amazon.com/ram/home#SharedResourceShares:)**页面。
**注意**  
资源共享仅在创建资源共享时可见。 AWS 区域 如果控制台中未显示预期的资源共享，则可能需要 AWS 区域 使用右上角的下拉控件切换到其他资源共享。

1. 查看您已获得访问权限的资源共享列表。

   **状态**列显示您当前对资源共享的参与状态。`Pending` 状态表示您已被添加到资源共享，但尚未接受或拒绝邀请。

1. 要回复资源共享邀请，请选择资源共享 ID，然后选择**接受资源共享**以接受邀请，或者选择**拒绝资源共享**以拒绝邀请。如果您拒绝邀请，则无法访问资源。如果您接受邀请，则可以访问资源。

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

首先，获取可供您使用的资源共享邀请的列表。以下示例命令在 `us-west-2` 区域中运行，显示 `PENDING` 状态下有一个资源共享可用。

```
$ aws ram get-resource-share-invitations
{
    "resourceShareInvitations": [
        {
            "resourceShareInvitationArn": "arn:aws:ram:us-west-2:111122223333:resource-share-invitation/1234abcd-ef12-9876-5432-aaaaaa111111",
            "resourceShareName": "MyNewResourceShare",
            "resourceShareArn": "arn:aws:ram:us-west-2:111122223333:resource-share/1234abcd-ef12-9876-5432-bbbbbb222222",
            "senderAccountId": "111122223333",
            "receiverAccountId": "444455556666",
            "invitationTimestamp": "2021-09-15T15:00:32.568000-07:00",
            "status": "PENDING"
        }
    ]
}
```

您可以使用上一个命令中邀请的 Amazon 资源名称（ARN）作为下一个命令中的参数来接受该邀请。

```
$ aws ram accept-resource-share-invitation \
    --resource-share-invitation-arn arn:aws:ram:us-west-2:111122223333:resource-share-invitation/1234abcd-ef12-9876-5432-aaaaaa111111
{
    "resourceShareInvitation": {
        "resourceShareInvitationArn": "arn:aws:ram:us-west-2:111122223333:resource-share-invitation/1234abcd-ef12-9876-5432-aaaaaa111111",
        "resourceShareName": "MyNewResourceShare",
        "resourceShareArn": "arn:aws:ram:us-west-2:111122223333:resource-share/1234abcd-ef12-9876-5432-bbbbbb222222",
        "senderAccountId": "111122223333",
        "receiverAccountId": "444455556666",
        "invitationTimestamp": "2021-09-15T15:14:12.580000-07:00",
        "status": "ACCEPTED"
    }
}
```

输出显示 `status` 已更改为 `ACCEPTED`。该资源共享中包含的资源现在可供接受账户中的主体使用。

------

## 使用与您共享的资源
<a name="getting-started-shared-use-resources"></a>

在您接受加入资源共享的邀请后，您可以对共享资源执行特定的操作。这些操作因资源类型而异。有关更多信息，请参阅 [可共享的资源 AWS](shareable.md)。这些资源可直接在每个资源的服务控制台和 API/CLI 操作中获得。如果资源是区域性的，则必须在服务控制台或 API/CLI 命令 AWS 区域 中使用正确的资源。如果资源是全球性的，则必须使用指定的主区域美国东部（弗吉尼亚北部）。`us-east-1`要查看中的资源 AWS RAM，必须打开创建资源共享的 AWS RAM 控制台。 AWS 区域 