Halaman ini menjelaskan cara mendaftarkan data pengguna dengan Consent Management API.
Elemen data didaftarkan dengan Consent Management API dan dihubungkan ke izin menggunakan pemetaan data pengguna. Data pengguna tidak pernah disimpan di Consent Management API.
Pemetaan data pengguna, yang ditampilkan 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 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 nilaide-identified
.
Diagram berikut menunjukkan alur data untuk membuat 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 terkait 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
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 sekecil 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 lebih lanjut, 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 ID Anda sendiri diperlukan - salah satu kemungkinan pendekatan 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 - salah 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'