团队工作区

团队工作区在套餐内的所有人之间共享你团队的 DynoTable 工作成果 —— AI 上下文、已保存视图的文件夹,以及扫描得到的表索引。所有这些都存放在你自己 AWS 账户中的一个私有 S3 存储桶里,由每位成员各自的 AWS 凭据读取和写入。DynoTable 只存储你的许可证,绝不存储你的内容。

要点速览

  • 你的数据留在你的账户中。 共享内容存放在你拥有的 S3 存储桶里,通过每位成员的 AWS 凭据访问。你的表名、属性和样例数据绝不会触及我们的服务器。
  • 共享三样东西。 组织级和针对每张表的 AI 上下文、已保存表视图的文件夹,以及由一位队友扫描一次、供所有人导入的表索引。
  • 访问权限就是你自己的 IAM。 能读取但不能写入存储桶的成员,在应用中就是只读的。DynoTable 内部没有额外的账户或权限需要管理。
  • 在关键之处需主动开启。 发布表索引默认关闭,其样例值在被共享之前还需要第二次主动确认。

你的数据留在你的 AWS 账户中

共享内容存放在你自己 AWS 账户中的一个私有 S3 存储桶里。每位成员都用各自的 AWS 凭据读取和写入它 —— 就是他们已经用来连接 DynamoDB 的同一个配置文件。DynoTable 的服务器只保存你的许可证;你的 schema 和样例数据绝不会离开你的账户。

存储桶名称会根据你的 AWS 账户和区域自动推导得出,因此无需在应用之外传递任何信息:每位成员只要配置文件指向同一个账户和区域,就会自行找到同一个存储桶。如果你的团队跨区域工作,请改为在每个配置文件上设置相同的自定义存储桶名称。管理员可以一步创建这个存储桶,并应用加固的默认设置:阻止公共访问、开启加密、强制 TLS,以及启用版本控制并让被覆盖的旧版本在 30 天后过期。

由于每一次读取和写入都经过你自己的 IAM,存储桶的权限就是边界。没有单独的 DynoTable 权限层需要配置 —— 在 IAM 中授予成员写入权限,他们就能发布;授予只读权限,他们就只能读取使用。

共享 AI 上下文

团队工作区向你团队的 AI 助手共享两层指引:

  • 工作区上下文 —— 每位成员的助手都会读取的组织级备注:命名约定、你们已经标准化的访问模式,以及你数据中特有的注意事项。
  • 单表上下文 —— 附加到单张表上的备注,每当助手处理该表时都会被纳入。

你在设置 → 知识下编辑工作区上下文,在表设置中编辑单表上下文。拥有存储桶写入权限的人来撰写它们;其他每位成员的助手都会自动读取。你自己的私有备注保留在本地,无需团队版 —— 共享层叠加在它们之上。关于助手如何使用这些上下文,参阅 AI 工具

AI 上下文设置中的共享工作区上下文 —— 发布一次,每位成员的助手都会读取。

共享文件夹

共享文件夹是一个你整个团队都能打开的表标签页文件夹。把你想共享的标签页 —— 一个带筛选的表视图、一个 Smart Table、一个 Workbench 查询 —— 保存到一个文件夹中并共享。团队中的每个人都能看到该文件夹,并打开其中的任意标签页。

共享的标签页是特定时间点的快照。打开一个标签页会精确加载作者保存的内容,而队友的查询绝不会自行运行:你自己打开标签页并按下 Run 来运行。你可以直接就地编辑一个共享标签页,一旦它与共享副本不同,就会被标记为已修改。如果你有写入权限,可以把你的版本保存回去供团队使用,也可以把它复制为一份个人副本,把改动留给自己。

在此版本中,共享文件夹仅包含表标签页。共享文件夹时,聊天标签页和 item 编辑器标签页会被跳过。

侧边栏团队区域中的共享文件夹 —— 从其中打开一个标签页,你就得到自己的工作副本。

共享表索引

扫描一张大表来构建它的索引 —— 支撑自动补全、已索引字段列表和助手 schema 感知的底层数据 —— 会消耗读取容量。团队工作区让一位队友为这次扫描付一次费,其他所有人导入其结果,无需每个人各自重新扫描。

两个开关让索引共享保持保守,两者默认都关闭:

  • 发布 —— 在你开启发布之前,关于你索引的任何信息都不会被共享。一旦开启,你构建的每个索引都会自动为团队发布,你也可以按需手动发布某个索引。
  • 样例值 —— 在发布开启的情况下,共享的索引会携带字段路径、类型,以及每个字段出现的频率。只有当你同时开启值共享时,实际的样例值才会随之发送。

导入始终由你决定。当你还没有自己的索引,或者某位队友的索引比你的更新时,DynoTable 会提供导入选项;你来决定信任谁的扫描,而导入会替换你的本地索引,而不是跨机器合并计数。

设置工作区

  1. 每个使用工作区的人都需要一个团队版席位,并连接各自的 AWS 凭据 —— 就是他们用于 DynamoDB 的同一个配置文件(参阅连接到 AWS)。在你的团队成员下分配席位。
  2. 管理员创建工作区存储桶,或将 DynoTable 指向一个已有的存储桶。自动预置会应用上述加固的默认设置。
  3. 为每位成员授予他们应有的 IAM 访问权限:只读以使用,或读/写以发布。策略见下文。

一旦存储桶可以访问,共享上下文、文件夹和索引就会在应用中,为每一位拥有席位且凭据能读取它的成员显示出来。

某个配置文件的团队设置中已连接的团队工作区,显示工作区存储桶和同步控件。

IAM 策略

DynoTable 自身不添加任何权限层,因此这些策略就是完整的访问模型。请把其中的账户 ID 和区域,或你的自定义存储桶名称,换成你自己的。

读取使用共享内容的成员需要读取权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "FindWorkspaceBucket",
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
      "Resource": "arn:aws:s3:::dynotable-team-<account-id>-<region>"
    },
    {
      "Sid": "ReadSharedContent",
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::dynotable-team-<account-id>-<region>/*"
    }
  ]
}

发布内容的成员(撰写上下文、共享文件夹、发布索引)需要在此基础上再加一条语句:

{
  "Sid": "PublishSharedContent",
  "Effect": "Allow",
  "Action": ["s3:PutObject", "s3:DeleteObject"],
  "Resource": "arn:aws:s3:::dynotable-team-<account-id>-<region>/*"
}

从应用中创建存储桶的管理员需要一次性拥有存储桶级别的权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CreateWorkspaceBucket",
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:PutBucketPublicAccessBlock",
        "s3:PutEncryptionConfiguration",
        "s3:PutBucketVersioning",
        "s3:PutLifecycleConfiguration",
        "s3:PutBucketPolicy",
        "s3:PutBucketOwnershipControls"
      ],
      "Resource": "arn:aws:s3:::dynotable-team-<account-id>-<region>"
    }
  ]
}

只读成员与访问权限

DynoTable 会展示你的 IAM 实际授予的访问权限,而不是假定每个人都能写入:

  • 只读成员 —— 能读取存储桶但不能写入的成员会获得一个只读工作区:共享、发布和编辑控件会被禁用,并带有一个“询问你的管理员”的提示。DynoTable 是从你的 IAM 拒绝的第一次写入中得知这一点的,因此在一个新会话中,那第一次尝试仍会报出权限错误,之后控件才会稳定下来。
  • 新权限在刷新后生效。 在你的管理员授予你写入权限之后,在团队区域点击刷新即可获取。
  • 失去席位会关闭工作区,而不会清除任何内容。 如果你的团队版失效,你将无法再打开共享文件夹、导入团队索引,共享 AI 上下文也不会再送达助手。不会删除任何内容,重新获得席位即可恢复访问。
  • 缺少存储桶访问权限时会有说明。 如果你无法访问存储桶,应用会告诉你它是尚不存在,还是你的凭据缺少访问权限,并引导你去找你的管理员。

席位与计费

团队版按席位计费,由你决定谁占用席位。

  • 每个使用应用的人都占用一个席位。你的团队成员下添加和移除人员。管理员既管理账单和成员,也占用一个席位;成员占用一个席位并使用应用。
  • 账单管理员不占用席位。 财务、采购或 IT 部门的人员可以管理订阅和发票,而无需占用席位或访问应用。在你的账单页面上把他们指定为账单管理员。
  • 你的席位数量随团队变化。 席位跟随你添加的成员,因此只有增加或移除成员才会改变账单。
  • 团队只需一张发票。 你的订阅、付款方式和发票都在账单页面上,你也可以在那里切换按月计费与按年计费。

后续步骤

团队工作区是团队版的一部分。查看定价了解一个席位包含什么,查看 AI 工具了解共享上下文会为哪些能力提供输入,并在你的组织下管理你的席位。

下载 DynoTable,为你的团队设置一个工作区。

更新于