데이터 저장소 망각권(RTBF)

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

망각 권리(RTBF) 데이터 저장소는 사용자의 데이터를 포함하는 키와 data store를 선언할 수 있도록 합니다. Roblox가 귀하의 게임에 대한 RTBF 요청을 처리할 때 시스템은 이러한 템플릿을 사용하여 일치하는 데이터를 자동으로 제거합니다. 템플릿은 Data Stores Manager에서 시각적으로 구성하거나 Open Cloud Configs API를 통해 프로그래밍 방식으로 구성할 수 있습니다.

자동화된 RTBF

자동화된 RTBF 처리를 사용하려면 삭제 템플릿을 정의해야 합니다. 이러한 템플릿은 특정 사용자에 속하는 데이터 저장소 또는 키를 Roblox에 알려줍니다. 최대 100개의 템플릿을 사용하여 사용자 데이터를 식별할 수 있습니다.

삭제 템플릿

자동화된 RTBF는 패턴 일치로 작동합니다. {UserId} 토큰을 사용하여 사용자 데이터를 위한 템플릿을 정의합니다. Roblox가 망각권 요청을 수신하면 시스템은 해당 토큰을 요청자의 실제 ID로 바꾸고 데이터 저장소를 스캔하여 삭제할 일치를 찾습니다.

자격 요건

항목이 자동 삭제 자격을 가질 수 있으려면 다음 기준을 충족해야 합니다:

  • 저장소 유형 — 사용자 데이터는 표준 데이터 저장소 또는 정렬된 데이터 저장소에 저장되어야 합니다. 전체 데이터 저장소의 삭제는 표준 데이터 저장소에서만 지원됩니다.
  • 식별자 — 사용자 ID는 데이터 저장소 또는 키의 Name 또는 Scope의 일부이어야 합니다.
  • 형식 — ID는 정적 문자열 패턴(예: User_{UserId})을 통해 식별 가능해야 합니다.

데이터 저장소 관리자에서 자동 RTBF 구성

Creator Hub는 명령줄을 사용하지 않고도 RTBF 템플릿을 관리할 수 있는 시각적 인터페이스를 제공합니다.

  1. Creator Hub로 이동합니다.

  2. 구성할 게임을 선택합니다.

  3. 왼쪽 탐색 메뉴에서 구성데이터 저장소 관리자로 이동합니다.

  4. RTBF 삭제 탭을 선택합니다.

  5. 템플릿 만들기를 클릭합니다.

  6. 유형(표준 데이터 저장소, 표준 키 또는 정렬 키)을 선택합니다.

  7. {UserId} 토큰을 사용하여 템플릿에 해당 필드를 입력합니다(예: PlayerInventory_{UserId}). 이 토큰은 대소문자를 구분합니다.

  8. 샘플 출력을 다시 확인하고 생성을 클릭합니다.

    형식, 데이터 저장소, 키 패턴 및 범위 필드가 있는 템플릿 생성 대화 상자와 결과 데이터 저장소 경로 미리 보기.

Configs API를 통한 자동 RTBF 구성

Open Cloud Configs API를 사용하여 프로그래밍 방식으로 RTBF 템플릿을 관리할 수도 있습니다. 이는 자동화 또는 대규모로 템플릿을 관리하는 데 유용합니다.

  1. Creator 대시보드에서 API 키를 생성하거나 편집하여 자동으로 RTBF 삭제를 진행할 모든 유니버스에 대해 universe:readuniverse:write 권한을 포함합니다. 자세한 내용은 API 키 관리를 참조하세요.

  2. 템플릿은 user_data_templates라는 JSON 구성으로 저장됩니다. 두 가지 주요 유형이 있습니다:

    • 키 템플릿 — 특정 키를 식별합니다. data_store_type(STANDARD 또는 ORDERED), data_store_name, key_pattern을 요구합니다. scope_pattern은 선택 사항이지만 권장됩니다.
    • 데이터 저장소 템플릿 — 전체 데이터 저장소를 식별합니다. data_store_type(현재는 STANDARD만 지원) 및 data_store_pattern이 필요합니다.

    두 가지 템플릿 유형 모두 RTBF 요청이 처리될 때 {UserId} 토큰이 사용자의 ID로 교체됩니다.

    예시 구성

    {
    "user_data_templates": [
    {
    "key_template": {
    "data_store_type": "STANDARD",
    "data_store_name": "PlayerInventory",
    "key_pattern": "User_{UserId}",
    "scope_pattern": "Scope_{UserId}"
    }
    },
    {
    "key_template": {
    "data_store_type": "ORDERED",
    "data_store_name": "PlayerLeaderboard",
    "key_pattern": "User_{UserId}",
    "scope_pattern": "global"
    }
    },
    {
    "data_store_template": {
    "data_store_type": "STANDARD",
    "data_store_pattern": "Player_{UserId}_Save"
    }
    }
    ]
    }
  3. 그런 다음 Open Cloud Configs API를 통해 제출합니다. 다음 예에서 <API_KEY><UNIVERSE_ID>를 각 요청에 대체하고 모든 요청을 DataStoresConfig 저장소로 전송하세요.

    1. 구성을 정의하는 PUT 요청을 통해 초안을 생성합니다. 이미 초안이 있는 경우 이 요청은 기존 초안을 덮어씁니다.


      curl --location --request PUT 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft:overwrite' \
      --header 'x-api-key: <API_KEY>' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "entries": {
      "user_data_templates": [
      {
      "key_template": {
      "data_store_type": "STANDARD",
      "data_store_name": "PlayerInventory",
      "key_pattern": "User_{UserId}",
      "scope_pattern": "Scope_{UserId}"
      }
      },
      {
      "key_template": {
      "data_store_type": "ORDERED",
      "data_store_name": "PlayerLeaderboard",
      "key_pattern": "User_{UserId}",
      "scope_pattern": "global"
      }
      },
      {
      "data_store_template": {
      "data_store_type": "STANDARD",
      "data_store_pattern": "Player_{UserId}_Save"
      }
      }
      ]
      }
      }'
    2. 초안을 확인하려면 GET 요청을 통해 초안을 가져오고 검토합니다.


      curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/draft' \
      --header 'x-api-key: <API_KEY>'
    3. 검토 후 이 POST 요청을 전송하여 게시합니다. 이 작업을 실행 취소하는 유일한 방법은 이전 버전을 복원하는 것입니다. 이 작업은 API 키와 연결된 계정이 게임을 게시할 수 있는 자격이 있어야 합니다.


      curl --location --request POST 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/publish' \
      --header 'x-api-key: <API_KEY>' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "deploymentStrategy": "Immediate"
      }'
    4. 게시 후 이 GET 요청으로 구성이 실시간인지 확인합니다.


      curl --location --request GET 'https://apis.roblox.com/creator-configs-public-api/v1/configs/universes/<UNIVERSE_ID>/repositories/DataStoresConfig/full' \
      --header 'x-api-key: <API_KEY>'

모범 사례

  • 대소문자 구분 — 패턴에서 정확한 {UserId} 토큰을 사용하세요. {userId}와 같은 변형은 허용되지 않습니다.
  • 수동 확인 — 구성을 게시하기 전에 Data Stores Manager에서 실시간 Luau 사용을 패턴과 비교하세요.
  • 기본 범위 — 데이터 저장소가 기본 범위를 사용하는 경우 키 템플릿의 scope_pattern"global"로 설정합니다.
  • 테스트 게임에서 엔드 투 엔드 흐름 테스트 — 템플릿을 완전히 검증하려면 테스트 게임을 만들고 더미 계정을 만들어 해당 계정의 사용자 ID를 사용하여 더미 데이터를 채운 후 더미 계정으로 RTBF 요청을 하고 해당 데이터가 삭제되었는지 확인하세요.
  • 삭제 확인 — 실시간 게임에 온보딩 후 Roblox 메시지에 RTBF 요청이 나타나면 해당 데이터가 30일 이내에 삭제되었는지 확인합니다.
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.