Mendaftarkan data pengguna

Halaman ini menjelaskan cara mendaftarkan data pengguna dengan Consent Management API.

Elemen data didaftarkan dengan Consent Management API dan terhubung ke izin menggunakan pemetaan data pengguna. Data pengguna tidak pernah disimpan di Consent Management API.

Pemetaan data pengguna, yang direpresentasikan sebagai resource UserDataMappings, mencakup elemen berikut:

  • ID pengguna yang mengidentifikasi pengguna. ID ini cocok dengan ID yang diberikan oleh aplikasi Consent Management API saat mendaftarkan izin.
  • ID data yang mengidentifikasi data pengguna yang disimpan di tempat lain, seperti di Google Cloud atau secara lokal. ID data dapat berupa ID buram, URL, atau ID lainnya.
  • Atribut resource, yang menjelaskan karakteristik data pengguna menggunakan nilai atribut resource yang dikonfigurasi untuk penyimpanan persetujuan menggunakan definisi atribut. Misalnya, data dapat menyertakan attribute_definition_id data_identifiable dengan nilai de-identified.

Diagram berikut menunjukkan aliran data untuk membuat pemetaan data pengguna:

pemetaan data pengguna

Mendaftarkan pemetaan data pengguna

Untuk membuat pemetaan data pengguna, gunakan metode projects.locations.datasets.consentStores.userDataMappings.create. Buat permintaan POST dan tentukan informasi berikut dalam permintaan:

  • Nama penyimpanan persetujuan orang tua
  • userID unik dan buram yang mewakili pengguna yang terkait dengan elemen data
  • ID untuk resource data pengguna, seperti jalur REST ke resource unik
  • Kumpulan atribut RESOURCE yang mendeskripsikan elemen data
  • Token akses

curl

Contoh berikut menunjukkan permintaan POST menggunakan curl:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/consent+json; charset=utf-8" \
    --data "{
       'user_id': 'USER_ID',
       'data_id' : 'DATA_ID',
       'resource_attributes': [{
           'attribute_definition_id': 'data_identifiable',
           'values': ['de-identified']
      }]
    }" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/userDataMappings"

Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/userDataMappings/USER_DATA_MAPPING_ID",
  "dataId": "DATA_ID",
  "userId": "USER_ID",
  "resourceAttributes": [
    {
      "attributeDefinitionId": "data_identifiable",
      "values": [
        "de-identified"
      ]
    }
  ]
}

PowerShell

Contoh berikut menunjukkan permintaan POST menggunakan Windows PowerShell:

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/consent+json; charset=utf-8" `
  -Body "{
       'user_id': 'USER_ID',
       'data_id' : 'DATA_ID',
       'resource_attributes': [{
           'attribute_definition_id': 'data_identifiable',
           'values': ['de-identified']
      }]
    }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/userDataMappings" | Select-Object -Expand Content

Jika permintaan berhasil, server akan menampilkan respons yang mirip dengan contoh berikut dalam format JSON:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/userDataMappings/USER_DATA_MAPPING_ID",
  "dataId": "DATA_ID",
  "userId": "USER_ID",
  "resourceAttributes": [
    {
      "attributeDefinitionId": "data_identifiable",
      "values": [
        "de-identified"
      ]
    }
  ]
}

Mengonfigurasi ID data

Kolom data_id dari resource pemetaan data pengguna berisi string yang ditentukan pelanggan yang menjelaskan data yang dirujuk oleh resource pemetaan data pengguna. String apa pun diizinkan, seperti ID atau URI buram.

ID data dapat sedetail yang diperlukan oleh aplikasi Anda. Jika data yang Anda daftarkan dapat dijelaskan pada level tabel atau bucket, tentukan data_id sebagai jalur REST ke resource tersebut. Jika data yang Anda daftarkan memerlukan lebih banyak perincian, Anda dapat menentukan baris atau sel tertentu. Jika aplikasi Anda menggunakan resource konseptual, seperti tindakan atau class data yang diizinkan, Anda harus menentukan data_id dengan konvensi yang mendukung kasus penggunaan tersebut.

Contoh data_id yang menjelaskan data yang disimpan di berbagai layanan dan pada berbagai tingkat perincian mencakup, tetapi tidak terbatas pada, hal berikut:

Objek Google Cloud Storage

  'data_id' : 'gs://BUCKET_NAME/OBJECT_NAME'
  

Objek Amazon S3

  'data_id' : 'https://BUCKET_NAME.s3.REGION.amazonaws.com/OBJECT_NAME'
  

Tabel BigQuery

  'data_id' : 'bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID'
  

Baris BigQuery (tidak ada jalur REST untuk baris BigQuery, sehingga ID Anda sendiri diperlukan - salah satu pendekatan yang memungkinkan ada di bawah)

  'data_id' : 'bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID/myRows/ROW_ID'
  

Sel BigQuery (tidak ada jalur REST untuk sel BigQuery, sehingga ID Anda sendiri diperlukan - satu kemungkinan pendekatan ada di bawah)

  'data_id' : 'bigquery/v2/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID/myRows/ROW_ID/myColumns/COLUMN_ID'
  

Resource FHIR

  'data_id' : 'https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/PATIENT_ID'
  

Representasi konseptual

  'data_id' : 'wearables/fitness/step_count/daily_sum'