

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

# 共享 Amazon Cloud Map 命名空间
<a name="sharing-namespaces"></a>

Amazon Cloud Map 允许命名空间所有者与其他人共享命名空间 Amazon Web Services 账户 或在组织内共享其命名空间， Amazon Organizations 以简化跨账户服务发现和服务注册表。这样可以更轻松地使用组织内其他人 Amazon Web Services 账户 或团队管理的命名空间。 Amazon 

Amazon Cloud Map 与 Amazon Resource Access Manager (Amazon RAM) 集成以启用资源共享。 Amazon RAM 是一项使您能够与其他人共享某些 Amazon Cloud Map 资源 Amazon Web Services 账户 或通过共享某些资源的服务 Amazon Organizations。使用 Amazon RAM，您可以通过创建资源共享来*共享您拥有的资源*。资源共享指定要共享的资源以及与之共享资源的使用者。使用者可包括：
+ 具体 Amazon Web Services 账户 到其组织内部 Amazon Organizations
+ 其组织内部的组织单位 Amazon Organizations
+ 它的整个组织都在 Amazon Organizations

有关的更多信息 Amazon RAM，请参阅《*[Amazon RAM 用户指南》](https://docs.amazonaws.cn/ram/latest/userguide/)*。

本主题说明如何共享您拥有的资源以及如何使用共享给您的资源。

**Topics**
+ [共享命名空间的注意事项](#sharing-considerations)
+ [共享 Amazon Cloud Map 命名空间](sharing-share.md)
+ [停止共享 Amazon Cloud Map 命名空间](sharing-unshare.md)
+ [标识共享 Amazon Cloud Map 命名空间](sharing-identify.md)
+ [授予共享命名空间的权限](#granting-perms-to-share)
+ [共享命名空间的职责和权限](#sharing-perms)
+ [计费和计量](#sharing-billing)
+ [配额](#sharing-quotas)

## 共享命名空间的注意事项
<a name="sharing-considerations"></a>
+ 要共享命名空间，您必须在自己的命名空间中拥有该命名空间 Amazon Web Services 账户。这意味着资源必须分配或预调配到您的账户。您无法共享已与您共享的命名空间。
+ 要与您的组织或中的组织单位共享命名空间 Amazon Organizations，必须启用与共享 Amazon Organizations。有关更多信息，请参阅《Amazon RAM 用户指南》**中的[在 Amazon Organizations中启用资源共享](https://docs.amazonaws.cn/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)。
+ 要在共享私有 DNS 命名空间中使用 DNS 查询进行服务发现，命名空间所有者需要使用`create-vpc-association-authorization`与该命名空间关联的私有托管区域的 ID 和使用者的 VPC 进行调用。

  ```
  aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  命名空间使用者需要使用私有托管区的 ID 调用 `associate-vpc-with-hosted-zone`。

  ```
  aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
  ```

  有关更多信息，请参阅《[Amazon *Route 53 开发者指南》 Amazon Web Services 账户中的将 Amazon* VPC 与您创建的私有托管区域关联到其他区域](https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html)。
+ 发现与共享 DNS 命名空间关联的服务的 up-to-date网络位置后，如果服务处于不同的 VPCs位置，则可能需要配置 VPC 间连接，以便与这些服务进行通信。这可以使用 VPC 对等连接来实现。有关更多信息，请参阅《Amazon Virtual Private Cloud VPC 对等连接指南》**中的[创建或删除 VPC 对等连接](https://docs.amazonaws.cn/vpc/latest/peering/create-vpc-peering-connection.html)。
+ 您不能使用列`ListOperations`出其他账户对共享命名空间执行的操作。
+ 共享命名空间不支持标记。

## 授予共享命名空间的权限
<a name="granting-perms-to-share"></a>

IAM 委托人需要一组最低权限才能共享命名空间。我们建议使用`AWSCloudMapFullAccess`和`AWSResourceAccessManagerFullAccess`托管策略来确保您的 IAM 委托人拥有共享和使用共享命名空间所需的权限。

如果您使用自定义 IAM 策略，则需要使用`servicediscovery:PutResourcePolicy``servicediscovery:GetResourcePolicy`、和`servicediscovery:DeleteResourcePolicy`操作才能共享命名空间。这些是仅限权限的 IAM 操作。如果 IAM 委托人未获得这些权限，则在尝试使用共享命名空间时将发生错误 Amazon RAM。

有关如何 Amazon RAM 使用 IAM 的更多信息，请参阅*Amazon RAM 用户指南*中的[如何 Amazon RAM 使用 IAM](https://docs.amazonaws.cn/ram/latest/userguide/security-iam-policies.html)。

## 共享命名空间的职责和权限
<a name="sharing-perms"></a>

命名空间所有者和使用者可以对共享命名空间执行不同的操作。

### 拥有者的权限
<a name="perms-owner"></a>

命名空间所有者可以对共享命名空间执行以下操作：
+ 访问与命名空间关联的服务，包括由消费者账户创建的服务和注册到这些服务的实例。
+ 撤消对命名空间的访问权限，包括对由消费者账户创建的服务以及注册到这些服务的实例的访问权限。
+ 为其他账户配置权限，以便在使用者或命名空间所有者在共享命名空间中创建的服务中注册和取消注册实例。
+ 删除服务并注销实例，包括使用者账户创建的服务和注册的实例。
+ 更新或删除共享命名空间。

### 使用者的权限
<a name="perms-consumer"></a>

命名空间使用者可以在共享命名空间上执行以下操作：
+ 在命名空间中创建和删除服务。
+ 在命名空间中创建的服务中注册和取消注册实例。
+ 发现注册到在命名空间中创建的服务的实例。

使用者无法更新或删除共享命名空间。失去对共享命名空间的访问权限后，消费者账户也将失去对他们在命名空间中创建的服务的访问权限。

## 计费和计量
<a name="sharing-billing"></a>

所有者需要为他们在共享命名空间中注册的任何实例以及注册这些实例时创建的任何 Route 53 运行状况检查付费。消费者需要为他们在命名空间中注册的任何实例以及注册这些实例时创建的任何 Route 53 运行状况检查付费。如果共享命名空间是 DNS 命名空间，则命名空间所有者需要为在该命名空间中创建服务时创建的 Route 53 DNS 记录付费。所有者需要为他们`DiscoverInstancesRevision`拨打的任何电话`DiscoverInstances`和电话付费。消费者需要为他们`DiscoverInstancesRevision`拨`DiscoverInstances`打的任何电话付费。

## 配额
<a name="sharing-quotas"></a>

每个区域的共享命名空间仅计入命名空间所有者的命名空间配额。使用者在共享命名空间中注册的实例计入所有者的每个命名空间配额中的实例。如果使用者在共享命名空间中创建服务，则该服务中注册的任何实例都计入每个服务配额的使用者实例。如果所有者在共享命名空间中创建服务，则根据服务配额，在该服务中注册的任何实例都计入所有者的实例。