使用隔离的命名空间支持多租户 - Amazon Quick Suite

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

使用隔离的命名空间支持多租户

Amazon Quick Suite 企业版通过命名空间支持多租户。Amazon Quick Suite 命名空间是一个逻辑容器,可用于组织客户、子公司、团队等。命名空间可以帮助您实现以下目标:

  • 您可以允许订阅 Amazon Quick Suite 的用户发现共享内容并与其他用户共享。同时,您可以确保一个命名空间中的用户无法看到另一个命名空间中的用户或与之交互。

  • 您可以安全地隔离数据并支持各种工作负载,而无需添加其他 AWS 帐户。对数据的访问仍然受到 AWS 安全功能的严格控制。只有当用户拥有正确的资源权限时,他们才能看到资产(如数据和控制面板)。此外,拥有权限的用户不能无意中向其命名空间之外的人公开内容。有关更多信息,请参阅使用独立命名空间支持多租户

  • 您可以监控按命名空间整齐划分的数据流和使用情况报告。按命名空间对数据和报告进行分类有助于简化成本和安全分析。

  • 将用户注册到命名空间后,就不会有额外的管理复杂性或开销。

  • 命名空间被设计为跨越命名空间 AWS 区域,因此即使有人登录了不同的命名空间,其使用限制也不会改变。 AWS 区域

命名空间当前具有以下限制:

  • 自定义命名空间(不是默认命名空间的命名空间)只有 IAM 联合身份验证单点登录用户可以访问。

  • 如果您需要支持以下内容,请使用默认命名空间而不是自定义命名空间:

    • 将您的 Amazon Quick Suite 账户与 IAM 身份中心集成。有关将您的 Amazon Quick Suite 账户与 IAM 身份中心集成的更多信息,请参阅亚马逊 Quick Suite 中的AWS 安全性

    • 基于密码的登录。

    • 基于凭证的 Active Directory 登录。

  • 您不能将用户从一个命名空间直接转移到另一个命名空间。您可以选择以编程方式完成部分或全部工作。有关更多信息,请参阅 Quick Suite API 参考。在每个 API 操作的页面底部,都有指向其他语言的相同操作 SDKs 的链接列表。要查看可 SDKs 用的内容,请参阅AWS 入门资源中心中的SDKs 和工具包

  • 命名空间对于隔离用户和权限很有用,但不适用于共享资产。控制面板、数据集和分析可以与不同命名空间中的用户共享。默认情况下,用户无法访问存在于同一命名空间中的项目,但当资产与他们共享时,他们可以访问特定资产。

如果您没有现有 Amazon Quick Suite AWS 账户 或者需要注册 Amazon Quick Suite,请阅读以下指南,然后按照注册订阅 Amazon Quick Suite 中的适用说明进行操作:

如果您已经注册了标准版,则可以轻松地将订阅升级到企业版。执行升级的人员必须是具有管理员权限的 Amazon Quick Suite 用户。有关更多信息,请参阅升级您的 Amazon Quick Suite 订阅

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

重要

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

要实现命名空间,您可以使用以下 Amazon Quick Suite API 操作:

下面列出的区域不支持命名空间:

  • af-south-1 非洲(开普敦)

  • ap-southeast-3 亚太地区(雅加达)

  • eu-south-1 欧洲地区(米兰)

  • eu-central-2 欧洲(苏黎世)

注意

如果需要安装 AWS CLI,请参阅《AWS Command Line Interface 用户指南》中的 “安装 AWS CLI 版本 2”。

要向命名空间添加用户,可以使用 RegisterUserAPI 操作。每个命名空间都有一组完全独立的用户。用户使用 ARNs 命名空间限定符来区分他们,如以下示例所示:

  • Amazon Quick Suite 认为这两个实体是不同的人:

    • arn:aws:quicksight:us-east-1:111122223333:user/namespace-123/username123

    • arn:aws:quicksight:us-east-1:111122223333:user/namespace-456/username123

  • Amazon Quick Suite 认为这两个实体是同一个人:

    • arn:aws:quicksight:us-east-1:111122223333:user/namespace-123/username123

    • arn:aws:quicksight:us-west-2:111122223333:user/namespace-123/username123

使用时 RegisterUser,您可以为每个用户选择访问级别。将某人的用户名分配给其中一个安全群组后,他们对控制台和 API 的访问权限就会受到限制。使用 Amazon Quick Suite 的用户可以拥有单一访问级别,如下所示:

  • 读者访问权限,适用于控制面板的只读订阅用户

  • 作者访问权限,适用于分析师和控制面板设计师

  • 管理员权限,适用于 Amazon Quick Suite 管理员

将一个命名空间中的现有用户迁移到其他命名空间

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

  1. 使用 Amazon Quick Suite 用户和群组 API 操作确定要转移到其他命名空间的用户。有关更多信息,请参阅 Quick Suite API 参考中的用于控制访问的 API 操作

  2. 使用 RegisterUserAPI 操作在新命名空间中创建用户。在一个命名空间中,用户名是唯一的。

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

  3. 要确定新命名空间用户所需的资产和资源权限,请使用与每种类型的资产(控制面板、数据集等)关联的 Amazon Quick Suite API 操作。有关更多信息,请参阅 Quick Suite QuickSight API 参考中的控制资产的 API 操作

    例如,假设您专注于控制面板。您可以使用列ListDashboards出您 AWS 账户 IDs 中的所有控制面板。然后,要确定哪些用户或组可以访问这些控制面板,可以在 ListDashboards 生成的结果集中使用 DescribeDashboardPermissions。如果您需要识别控制面板的特定版本,则可以对其执行 ListDashboardVersions。您还可以通过数据来源和数据集 API 操作收集有关控制面板中使用的数据位置的信息。有关更多信息,请参阅 Quick Suite QuickSight API 参考中的控制数据资源的 API 操作

    有关筛选 API 响应输出的更多信息,请参阅所用语言对应的 SDK 文档。有关 AWS Command Line Interface (AWS CLI) 的信息,请参阅《AWS Command Line Interface 用户指南》中的 “控制来自 AWS CLI 的命令输出”。

  4. 对于 Amazon Quick Suite 资产和资源,复制源命名空间用户对每项资产拥有的权限。然后,例如,UpdateDashboardPermissions 将相同的权限应用于目标命名空间用户。每种资产类型都有自己的一组单独的 API 操作,用于控制用户必须使用该资产的权限。有关更多信息,请参阅 Quick Suite QuickSight API 参考中的资产和资源权限的 API 操作

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

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