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 aplikasi ke Consent Management API saat mendaftarkan izin.
  • ID data yang mengidentifikasi data pengguna yang disimpan di tempat lain, seperti di Google Cloud atau di infrastruktur 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 izin menggunakan definisi atribut. Misalnya, data dapat menyertakan attribute_definition_id data_identifiable dengan nilai de-identified.

Diagram berikut menunjukkan alur 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 izin induk
  • userID unik dan buram yang mewakili pengguna yang dikaitkan dengan elemen data
  • ID untuk resource data pengguna, seperti jalur REST ke resource unik
  • Serangkaian atribut RESOURCE yang mendeskripsikan elemen data
  • Token akses

curl

Contoh berikut menunjukkan permintaan POST yang 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 mendeskripsikan data yang dirujuk oleh resource pemetaan data pengguna. Semua string diizinkan, seperti ID atau URI buram.

ID data dapat dibuat sedetail yang diperlukan oleh aplikasi Anda. Jika data yang Anda daftarkan dapat dijelaskan di tingkat tabel atau bucket, tentukan data_id sebagai jalur REST ke resource tersebut. Jika data yang Anda daftarkan memerlukan perincian yang lebih terperinci, Anda dapat menentukan baris atau sel tertentu. Jika aplikasi Anda menggunakan resource konseptual, seperti tindakan yang diizinkan atau class data, 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 Anda memerlukan ID sendiri - salah satu kemungkinan pendekatannya 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 Anda memerlukan ID sendiri - salah satu kemungkinan pendekatannya 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'