Team 워크스페이스

Team 워크스페이스는 팀의 DynoTable 작업 — AI 컨텍스트와 스캔한 테이블 인덱스 — 를 요금제에 속한 모든 사람이 공유하게 해줍니다. 이 모든 것은 여러분 자신의 AWS 계정에 있는 프라이빗 S3 버킷에 저장되며, 각 구성원이 자신의 AWS 자격 증명으로 읽고 씁니다. DynoTable은 여러분의 라이선스를 저장할 뿐, 콘텐츠는 저장하지 않습니다.

요약

  • 데이터는 여러분의 계정에 머무릅니다. 공유 콘텐츠는 여러분이 소유한 S3 버킷에 있으며, 각 구성원의 AWS 자격 증명으로 접근합니다. 여러분의 테이블 이름, 속성, 샘플 데이터는 절대 저희 서버에 닿지 않습니다.
  • 두 가지가 공유됩니다. 조직 전체 및 테이블별 AI 컨텍스트, 그리고 한 팀원이 한 번 스캔하면 모두가 가져올 수 있는 테이블 인덱스입니다.
  • 액세스는 여러분 자신의 IAM입니다. 버킷을 읽을 수는 있지만 쓸 수 없는 구성원은 앱에서 읽기 전용이 됩니다. DynoTable 안에서 관리할 별도의 계정이나 권한은 없습니다.
  • 중요한 부분은 옵트인입니다. 테이블 인덱스 게시는 기본적으로 꺼져 있으며, 그 샘플 값은 공유되기 전에 두 번째 옵트인이 필요합니다.

데이터는 여러분의 AWS 계정에 머무릅니다

공유 콘텐츠는 여러분 자신의 AWS 계정에 있는 프라이빗 S3 버킷에 저장됩니다. 모든 구성원은 자신의 AWS 자격 증명 — DynamoDB에 연결할 때 이미 사용하는 바로 그 프로필 — 으로 이를 읽고 씁니다. DynoTable의 서버는 여러분의 라이선스만 보관하며, 여러분의 스키마와 샘플 데이터는 절대 계정을 벗어나지 않습니다.

버킷 이름은 여러분의 AWS 계정과 리전에서 자동으로 도출되므로, 별도로 주고받을 것이 없습니다: 프로필이 동일한 계정과 리전을 가리키는 모든 구성원이 스스로 동일한 버킷을 찾습니다. 팀이 여러 리전에 걸쳐 작업한다면, 대신 각 프로필에 동일한 사용자 지정 버킷 이름을 설정하세요. 관리자는 강화된 기본값으로 한 번에 버킷을 생성할 수 있습니다: 퍼블릭 액세스 차단, 암호화 켜짐, TLS 필수, 그리고 버전 관리 활성화(대체된 이전 버전은 30일 후 만료).

모든 읽기와 쓰기가 여러분 자신의 IAM을 거치므로, 버킷의 권한이 곧 경계입니다. 구성할 별도의 DynoTable 권한 레이어는 없습니다 — IAM에서 구성원에게 쓰기 액세스를 부여하면 게시할 수 있고, 읽기 전용을 부여하면 소비합니다.

공유 AI 컨텍스트

Team 워크스페이스는 팀의 AI 어시스턴트에게 두 계층의 지침을 공유합니다:

  • 작업 공간 컨텍스트 — 모든 구성원의 어시스턴트가 읽는 조직 전체 메모: 명명 규칙, 여러분이 표준화한 액세스 패턴, 그리고 여러분의 데이터에 특화된 주의 사항.
  • 테이블별 컨텍스트 — 단일 테이블에 첨부된 메모로, 어시스턴트가 그 테이블을 다룰 때마다 함께 반영됩니다.

작업 공간 컨텍스트는 설정 → Knowledge에서, 테이블별 컨텍스트는 Table Settings에서 편집합니다. 버킷에 쓰기 액세스가 있는 사람이 이를 작성하며, 다른 모든 구성원의 어시스턴트는 이를 자동으로 읽습니다. 여러분 자신의 비공개 메모는 로컬에 남으며 Team 요금제가 필요 없습니다 — 공유 계층이 그 위에 놓입니다. 어시스턴트가 이 컨텍스트로 무엇을 하는지는 AI 도구를 참고하세요.

AI 컨텍스트 설정의 공유 작업 공간 컨텍스트 — 한 번 게시하면 모든 구성원의 어시스턴트가 읽습니다.
AI 컨텍스트 설정의 공유 작업 공간 컨텍스트 — 한 번 게시하면 모든 구성원의 어시스턴트가 읽습니다.

공유 테이블 인덱스

인덱스를 구축하기 위해 큰 테이블을 스캔하는 것 — 자동 완성, 인덱싱된 필드 목록, 어시스턴트의 스키마 인식을 뒷받침하는 데이터 — 은 읽기 용량을 소비합니다. Team 워크스페이스를 사용하면 한 팀원이 그 스캔 비용을 한 번만 지불하고 나머지 모두가 결과를 가져올 수 있어, 사람마다 다시 스캔할 필요가 없습니다.

두 개의 스위치가 인덱스 공유를 보수적으로 유지하며, 둘 다 기본적으로 꺼져 있습니다:

  • 게시 — 게시를 켜기 전까지는 인덱스에 관한 어떤 것도 공유되지 않습니다. 켜면 여러분이 구축하는 모든 인덱스가 팀에 자동으로 게시되며, 필요할 때 직접 게시할 수도 있습니다.
  • 샘플 값 — 게시가 켜져 있으면, 공유 인덱스는 필드 경로, 타입, 그리고 각 필드가 얼마나 자주 나타나는지를 담습니다. 실제 샘플 값은 값 공유까지 켜야만 전송됩니다.

가져오기는 항상 여러분의 선택입니다. 여러분에게 아직 자체 인덱스가 없을 때, 또는 팀원의 인덱스가 여러분 것보다 최신일 때 DynoTable이 가져오기를 제안합니다; 누구의 스캔을 신뢰할지는 여러분이 결정하며, 가져오기는 여러 기기의 카운트를 병합하는 대신 로컬 인덱스를 대체합니다.

작업 공간 설정하기

  1. 작업 공간을 사용하는 모든 사람에게는 Team 요금제 좌석과 연결된 자신의 AWS 자격 증명이 필요합니다 — DynamoDB에 사용하는 바로 그 프로필입니다(자세한 내용은 AWS에 연결 참고). 좌석은 팀 구성원에서 배정하세요.
  2. 관리자가 작업 공간 버킷을 생성하거나 DynoTable을 기존 버킷에 연결합니다. 자동 프로비저닝은 위의 강화된 기본값을 적용합니다.
  3. 각 구성원에게 필요한 IAM 액세스를 부여하세요: 소비하려면 읽기 전용, 게시하려면 읽기/쓰기. 정책은 아래에 있습니다.

버킷에 접근할 수 있게 되면, 공유 컨텍스트와 인덱스가 좌석을 갖고 이를 읽을 수 있는 자격 증명을 가진 모든 구성원의 앱에 나타납니다.

프로필의 Team 설정에서 연결된 Team 워크스페이스 — 작업 공간 버킷과 동기화 컨트롤을 보여줍니다.
프로필의 Team 설정에서 연결된 Team 워크스페이스 — 작업 공간 버킷과 동기화 컨트롤을 보여줍니다.

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이 거부한 첫 쓰기에서 학습하므로, 새 세션에서는 컨트롤이 자리 잡기 전의 그 첫 시도가 여전히 권한 오류를 보고합니다.
  • 새 권한은 새로고침 시 적용됩니다. 관리자가 쓰기 액세스를 부여한 뒤, Team 영역에서 새로고침을 클릭하면 반영됩니다.
  • 좌석을 잃으면 작업 공간이 꺼질 뿐, 아무것도 지워지지 않습니다. Team 요금제가 만료되면 팀 인덱스를 가져오거나 공유 AI 컨텍스트가 어시스턴트에 전달되게 할 수 없습니다. 아무것도 삭제되지 않으며, 좌석을 되찾으면 액세스가 복원됩니다.
  • 버킷 액세스 부재는 설명됩니다. 버킷에 접근할 수 없는 경우, 앱은 버킷이 아직 존재하지 않는지 아니면 여러분의 자격 증명에 액세스 권한이 없는지 알려주고, 관리자에게 안내합니다.

좌석과 결제

Team 요금제는 좌석 단위로 청구되며, 누가 좌석을 차지할지는 여러분이 정합니다.

  • 앱을 사용하는 모든 사람이 좌석을 하나 차지합니다. 구성원 추가와 제거는 팀 구성원에서 하세요. 관리자는 결제와 구성원을 관리하면서 좌석을 차지하고, 구성원은 좌석을 차지하며 앱을 사용합니다.
  • 결제 관리자는 좌석을 차지하지 않습니다. 재무, 구매, IT 담당자는 좌석이나 앱 액세스 없이도 구독과 청구서를 관리할 수 있습니다. 결제 페이지에서 그 사람을 결제 관리자로 지정하세요.
  • 좌석 수는 팀 규모를 따라갑니다. 좌석은 추가한 구성원 수를 따라가므로, 누군가를 추가하거나 제거하는 것이 청구액을 바꿉니다.
  • 팀 전체에 청구서 하나. 구독, 결제 수단, 청구서는 결제 페이지에 모여 있으며, 그곳에서 월간 청구와 연간 청구를 전환할 수 있습니다.

다음 단계

Team 워크스페이스는 Team 요금제의 일부입니다. 좌석에 무엇이 포함되는지는 요금제, 공유 컨텍스트가 무엇에 반영되는지는 AI 도구를 참고하고, 좌석은 조직에서 관리하세요.

팀의 작업 공간을 설정하려면 DynoTable을 다운로드하세요.

업데이트됨