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 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 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'