

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

# 使用隔离的命名空间支持多租户
<a name="namespaces"></a>

Amazon Quick Enterprise 版通过命名空间支持多租户。Amazon Quick *命名空间*是一个逻辑容器，可用于组织客户、子公司、团队等。命名空间可以帮助您实现以下目标：
+ 您的 Amazon Quick 订阅允许用户发现共享内容并与其他用户共享。同时，在 Amazon Quick 最终用户控制台体验中，一个命名空间中的用户无法看到另一个命名空间中的用户或与之交互。Amazon Quick 管理控制台使用不同的权限模型。有关更多信息，请参阅以下重要说明。
+ 您可以安全地隔离数据并支持各种工作负载，而无需添加其他 AWS 帐户。对数据的访问仍然受到 AWS 安全功能的严格控制。只有当用户拥有正确的资源权限时，他们才能看到资产（如数据和控制面板）。此外，拥有权限的用户不能无意中向其命名空间之外的人公开内容。有关更多信息，请参阅[使用独立命名空间支持多租户](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html)。
+ 您可以监控按命名空间整齐划分的数据流和使用情况报告。按命名空间对数据和报告进行分类有助于简化成本和安全分析。
+ 将用户注册到命名空间后，就不会有额外的管理复杂性或开销。
+ 命名空间被设计为跨越命名空间 AWS 区域，因此即使有人登录了不同的命名空间，其使用限制也不会改变。 AWS 区域

**命名空间隔离和管理控制台**  
根据主机体验，Amazon Quick 使用两种不同的权限模型。在 Amazon Quick 最终用户控制台中，强制执行命名空间级隔离。每个用户的 Amazon Quick 角色决定了他们可以执行的操作，他们的命名空间决定了他们可以与哪些用户和群组进行交互。  
在 Amazon Quick 管理控制台中，仅强制执行 AWS Identity and Access Management (IAM) 权限。用户在命名空间环境之外进行操作，用户的 IAM 策略决定访问权限，而不是其命名空间成员资格。  
用户可以在两种权限模式下进行操作。当他们使用最终用户控制台时，他们的 Amazon Quick 角色和命名空间决定了他们的访问权限。当他们使用管理控制台时，他们的 IAM 权限决定了他们的访问权限。例如，具有相应权限的 IAM 管理员可以从管理控制台查看和管理跨命名空间的用户和群组。

命名空间当前具有以下限制：
+ 自定义命名空间（不是默认命名空间的命名空间）只有 IAM 联合身份验证单点登录用户可以访问。
+ 如果您需要支持以下内容，请使用默认命名空间而不是自定义命名空间：
  + 将您的 Amazon Quick 账户与 IAM 身份中心集成。有关将您的 Amazon Quick 账户与 IAM 身份中心集成的更多信息，请参阅 A [mazon Quick 中的AWS 安全](https://docs.aws.amazon.com/quicksight/latest/user/security.html)信息。
  + 基于密码的登录。
  + 基于凭证的 Active Directory 登录。
+ 您不能将用户从一个命名空间直接转移到另一个命名空间。您可以选择以编程方式完成部分或全部工作。有关更多信息，请参阅 [Quick API 参考](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html)。在每个 API 操作的页面底部，都有指向其他语言的相同操作 SDKs 的链接列表。要查看可 SDKs 用的内容，请参阅[AWS 入门资源中心](aws.amazon.com.rproxy.goskope.comgetting-started/)中的[SDKs 和工具包](aws.amazon.com.rproxy.goskope.comgetting-started/tools-sdks/)。
+ 命名空间对于隔离用户和权限很有用，但不适用于共享资产。控制面板、数据集和分析可以与不同命名空间中的用户共享。默认情况下，用户无法访问存在于同一命名空间中的项目，但当资产与他们共享时，他们可以访问特定资产。

如果您没有现有 Amazon Quick AWS 账户 或者需要注册 Amazon Quick，请阅读以下指南，然后按照[注册 Amazon Quick 订阅中的适用说明进行](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html)操作：
+ 注册企业版。
+ 当系统询问您要使用哪种方法连接时，请选择**基于角色的联合身份验证（IAM）**。目前，命名空间仅支持将 AWS Identity and Access Management (IAM) 角色与 Web 联合身份验证一起使用的客户。有关更多信息，请参阅[针对第三方身份提供程序创建角色（联合）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)。
+ 完成注册流程。
+ 使用 Amazon Quick [CreateNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateNamespace.html)API 操作创建一个或多个命名空间。
+ 要开始添加用户，请先按照[使用 IAM 和 Amazon Quick 设置 IdP 联合身份验证](https://docs.aws.amazon.com//quicksight/latest/user/external-identity-providers-setting-up-saml.html)中的说明进行操作。然后使用 [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)API 操作将用户添加到相应的命名空间。

如果您已经注册了标准版，则可以轻松地将订阅升级到企业版。执行升级的人员必须是具有管理员权限的 Amazon Quick 用户。有关更多信息，请参阅[升级您的 Amazon Quick 订阅](https://docs.aws.amazon.com/quicksight/latest/user/upgrading-subscription.html)。

如果您已经使用了一段时间的企业版订阅，也可以将用户迁移到命名空间。当您注册 Amazon Quick 并添加用户时，所有用户都位于默认命名空间中。所有用户都可以直接交互，彼此共享数据和控制面板。要将用户彼此隔离，您可以创建一个或多个其他命名空间。

**重要**  
Amazon Quick 资产和资源（包括数据集、数据源、控制面板、分析等）存在于任何命名空间之外。只有被授予资源权限的用户才能看到它们。

要实现命名空间，您可以使用以下 Amazon Quick API 操作：
+ [CreateNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateNamespace.html)
+ [DescribeNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeNamespace.html)
+ [ListNamespaces](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ListNamespaces.html)
+ [DeleteNamespace](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DeleteNamespace.html)

下面列出的区域不支持命名空间：
+ `af-south-1` 非洲（开普敦）
+ `ap-southeast-3` 亚太地区（雅加达）
+ `ap-southeast-5`亚太地区（马来西亚）
+ `eu-south-1` 欧洲地区（米兰）
+ `eu-central-2` 欧洲（苏黎世）

**注意**  
如果需要安装 AWS CLI，请参阅《*AWS Command Line Interface 用户指南》中的 [“安装 AWS CLI 版本 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)”。*

要向命名空间添加用户，可以使用 [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)API 操作。每个命名空间都有一组完全独立的用户。用户使用 ARNs 命名空间限定符来区分他们，如以下示例所示：
+ Amazon Quick 认为这两个实体是不同的人：
  + `arn:aws:quicksight:us-east-1:111122223333:user/namespace-123/username123`
  + `arn:aws:quicksight:us-east-1:111122223333:user/namespace-456/username123`
+ Amazon Quick 认为这两个实体是同一个人：
  + `arn:aws:quicksight:us-east-1:111122223333:user/namespace-123/username123`
  + `arn:aws:quicksight:us-west-2:111122223333:user/namespace-123/username123`

使用时 [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)，您可以为每个用户选择访问级别。将某人的用户名分配给其中一个安全群组后，他们对控制台和 API 的访问权限就会受到限制。使用 Amazon Quick 的用户可以拥有单一访问级别，如下所示：
+ 读者访问权限，适用于控制面板的只读订阅用户
+ 作者访问权限，适用于分析师和控制面板设计师
+ 管理员权限，适用于 Amazon Quick 管理员

## 将一个命名空间中的现有用户迁移到其他命名空间
<a name="qs-migrate-users-namespace"></a>

按照以下过程将现有用户从一个命名空间迁移到另一个命名空间。

1. 使用 Amazon Quick 用户和群组 API 操作确定要转移到其他命名空间的用户。有关更多信息，请参阅 [Quick API 参考中的用于控制访问的 API](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html) [操作](https://docs.aws.amazon.com/quicksight/latest/APIReference/controlling-access.html#quicksight-groups)。

1. 使用 [RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)API 操作在新命名空间中创建用户。在一个命名空间中，用户名是唯一的。

   如果命名空间用户开始在新版本中使用 Amazon Quick 控制台或 API AWS 区域，则该用户仍仅限于您向其添加的命名空间。每个命名空间代表身份提供者的用户目录。因此，它起源于设置 Amaz AWS 区域 on Quick 的主版本。但是，由于用户目录在您的 AWS 账户中全球传播，因此用户可以从任何使用 Amazon Quick AWS 区域 的地方访问该命名空间。

1. 要确定新命名空间用户所需的资产和资源权限，请使用与每种类型的资产（控制面板、数据集等）关联的 Amazon Quick API 操作。有关更多信息，请参阅 [Quick QuickSight API 参考中的控制资产的 API](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html) [操作](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-assets.html)。

   例如，假设您专注于控制面板。您可以使用列`ListDashboards`出您 AWS 账户 IDs 中的所有控制面板。然后，要确定哪些用户或组可以访问这些控制面板，可以在 `ListDashboards` 生成的结果集中使用 `DescribeDashboardPermissions`。如果您需要识别控制面板的特定版本，则可以对其执行 `ListDashboardVersions`。您还可以通过数据来源和数据集 API 操作收集有关控制面板中使用的数据位置的信息。有关更多信息，请参阅 [Quick QuickSight API 参考中的控制数据资源的 API](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html) [操作](https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-data.html)。

   有关筛选 API 响应输出的更多信息，请参阅所用语言对应的 SDK 文档。有关 AWS Command Line Interface (AWS CLI) 的信息，请参阅《[AWS Command Line Interface 用户指南》](https://docs.aws.amazon.com/cli/latest/userguide/)中的 “[控制来自 AWS CLI 的命令输出](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html#cli-usage-output-filter)”。

1. 对于 Amazon Quick 资产和资源，复制源命名空间用户对每项资产拥有的权限。然后，例如，`UpdateDashboardPermissions` 将相同的权限应用于目标命名空间用户。每种资产类型都有自己的一组单独的 API 操作，用于控制用户必须使用该资产的权限。有关更多信息，请参阅 [Quick QuickSight API 参考中的资产和资源权限的 API](https://docs.aws.amazon.com/quicksight/latest/APIReference/Welcome.html) [操作](https://docs.aws.amazon.com/quicksight/latest/APIReference/controlling-access.html#asset-permissions)。

1. 添加完用户和权限后，最好留出一些时间进行用户验收测试。这样做可以确保每个人都能成功使用新的命名空间。还确保所有资产和资源都可以在新的命名空间中访问。

   确定不再需要原始用户名后，就可以开始在原始命名空间中弃用其权限。最后，当用户准备就绪时，您可以移除源命名空间中未使用的组和用户名。在您的用户之前处于活动状态的每个 AWS 区域 位置都执行此操作。