Halaman ini menjelaskan cara mengonfigurasi kebijakan dan atribut izin.
Kebijakan izin digunakan oleh Consent Management API untuk merepresentasikan izin yang diberikan oleh pengguna akhir atau melalui panduan organisasi. Kebijakan izin adalah elemen penyusun resource consent
. Setiap resource consent
dapat berisi hingga 10 kebijakan izin. Kebijakan izin terdiri dari atribut RESOURCE
yang menjelaskan apa yang berlaku untuk kebijakan tersebut, dan atribut REQUEST
yang menentukan aturan otorisasi yang menentukan dalam kondisi apa kebijakan tersebut valid. Untuk mengetahui informasi selengkapnya tentang kebijakan izin, lihat Representasi kebijakan.
Consent Management API menggunakan atribut untuk menentukan izin dan taksonomi privasi yang dapat dipahami oleh penyimpanan izin. Atribut digunakan untuk mendeskripsikan izin yang disimpan dan data yang dikelola. Permintaan penentuan akses juga menggunakan atribut untuk menjelaskan permintaan yang sedang dibuat.
Resource attributeDefinition
adalah resource dalam penyimpanan izin yang menentukan atribut izin yang dapat diproses oleh Consent Management API. Penyimpanan izin dapat berisi hingga 200 resource definisi atribut. Setiap definisi atribut memiliki salah satu jenis atribut berikut:
- Atribut
RESOURCE
adalah atribut yang nilainya ditentukan oleh properti data atau tindakan. Misalnya, apakah data telah dide-identifikasi atau dapat diidentifikasi. Jenis atribut ini digunakan untuk mendeskripsikan fungsi kebijakan izin, mendeskripsikan data yang terdaftar denganuser data mappings
, dan untuk mempersempit cakupan beberapa permintaan penentuan akses ke class resource tertentu. - Atribut
REQUEST
adalah atribut yang nilainya ditentukan oleh identitas atau tujuan pemohon. Misalnya, profesi yang diizinkan untuk digunakan, seperti peneliti atau penyedia perawatan. Jenis atribut ini digunakan untuk menulis aturan otorisasi kebijakan izin, dan untuk menentukan penggunaan yang diusulkan dalam permintaan penentuan akses.
Resource attributeDefinition
mewakili satu atribut dengan maksimal 500
nilai atribut. Nilai atribut mewakili kemungkinan nilai
yang dapat dimiliki suatu atribut. Untuk contoh, lihat Representasi kebijakan.
Nilai atribut tambahan dapat ditambahkan ke definisi atribut dari waktu ke waktu, tetapi tidak dapat dihapus. Integritas referensial
definisi atribut diterapkan sebagai terkait dengan resource consent
. Artinya,
beberapa kolom definisi atribut tidak dapat diubah atau dihapus saat
definisi atribut tersebut direferensikan oleh revisi terbaru
resource izin.
Diagram berikut menunjukkan proses pembuatan atribut izin di penyimpanan izin baru:
Untuk membuat semua definisi atribut yang diperlukan izin dan taksonomi privasi
Anda, ulangi proses yang ditunjukkan dalam
Membuat definisi atribut RESOURCE
dan
Membuat definisi atribut REQUEST
.
Membuat definisi atribut RESOURCE
Untuk membuat definisi atribut RESOURCE
, gunakan
metode
projects.locations.datasets.consentStores.attributeDefinitions.create
. Buat permintaan POST
dan tentukan informasi berikut dalam
permintaan:
- Nama penyimpanan izin induk.
- Nama untuk definisi atribut yang unik di penyimpanan izin induk. Nama dapat berupa huruf kecil atau besar, angka, dan garis bawah. Kata kunci ini tidak boleh berupa kata kunci yang dicadangkan dalam Common Expression Language (CEL).
- Kategori atribut, dalam hal ini
RESOURCE
- Nilai yang mungkin yang dapat diwakili oleh atribut ini
- Token akses
curl
Contoh berikut menunjukkan permintaan POST
menggunakan curl
yang membuat
atribut RESOURCE
bernama data_identifiable
dengan nilai identifiable
dan
de-identified
:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/consent+json; charset=utf-8" \ --data "{ 'description': 'whether the data is identifiable', 'category': 'RESOURCE', 'allowed_values': [ 'identifiable', 'de-identified' ], }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=data_identifiable"
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/attributeDefinitions/data_identifiable", "description": "whether the data is identifiable", "category": "RESOURCE", "allowedValues": [ "identifiable", "de-identified" ] }
PowerShell
Contoh berikut menunjukkan permintaan POST
menggunakan Windows PowerShell yang
membuat atribut RESOURCE
bernama data_identifiable
dengan nilai
identifiable
dan de-identified
:
$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 "{ 'description': 'whether the data is identifiable', 'category': 'RESOURCE', 'allowed_values': [ 'identifiable', 'de-identified' ] }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=data_identifiable" | 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/attributeDefinitions/data_identifiable", "description": "whether the data is identifiable", "category": "RESOURCE", "allowedValues": [ "identifiable", "de-identified" ] }
Python
Membuat definisi atribut REQUEST
Untuk membuat definisi atribut REQUEST
, gunakan
metode
projects.locations.datasets.consentStores.attributeDefinitions.create
. Buat permintaan POST
dan tentukan informasi berikut dalam
permintaan:
- Nama penyimpanan izin induk.
- Nama untuk definisi atribut yang unik di penyimpanan izin induk. Nama dapat berupa string Unicode apa pun yang terdiri dari 1 hingga 256 karakter yang terdiri dari angka, huruf, garis bawah, tanda hubung, dan titik, tetapi tidak boleh diawali dengan angka.
- Kategori atribut, dalam hal ini
REQUEST
. - Nilai yang mungkin yang dapat diwakili oleh atribut ini.
- Kumpulan nilai default opsional yang akan diterapkan ke kebijakan izin. Menetapkan nilai untuk kolom ini akan mengonfigurasi penyimpanan izin Anda agar mengasumsikan bahwa kebijakan izin menyertakan atribut dan nilai ini jika atribut ini tidak ditentukan dalam kebijakan tersebut. Kolom ini hanya boleh ditetapkan jika secara khusus diperlukan untuk kasus penggunaan Anda.
- Token akses.
curl
Contoh berikut menunjukkan permintaan POST
menggunakan curl
yang membuat
atribut REQUEST
bernama requester_identity
:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/consent+json; charset=utf-8" \ --data "{ 'description': 'what groups are consented for access', 'category': 'REQUEST', 'allowed_values': ['internal-researcher', 'external-researcher', 'clinical-admin'], }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=requester_identity"
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/attributeDefinitions/requester_identity", "description": "what groups are consented for access", "category": "REQUEST", "allowedValues": [ "internal-researcher", "external-researcher", "clinical-admin" ] }
PowerShell
Contoh berikut menunjukkan permintaan POST
menggunakan Windows PowerShell yang
membuat atribut REQUEST
bernama requester_identity
:
$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 "{ 'description': 'what groups are consented for access', 'category': 'REQUEST', 'allowed_values': ['internal-researcher', 'external-researcher', 'clinical-admin'] }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=requester_identity" | 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/attributeDefinitions/requester_identity", "description": "what groups are consented for access", "category": "REQUEST", "allowedValues": [ "internal-researcher", "external-researcher", "clinical-admin" ] }
Python
Mengedit definisi atribut
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: ID set data
- CONSENT_STORE_ID: ID penyimpanan izin
- ATTRIBUTE_DEFINITION_ID: ID definisi atribut
- DESCRIPTION: deskripsi atribut
Meminta isi JSON:
{ "description": "DESCRIPTION" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID?updateMask=description"
PowerShell
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID?updateMask=description" | Select-Object -Expand Content
APIs Explorer
Salin isi permintaan dan buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Tempelkan isi permintaan di alat ini, lengkapi kolom lainnya yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Python
Mendapatkan definisi atribut
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: ID set data
- CONSENT_STORE_ID: ID penyimpanan izin
- ATTRIBUTE_DEFINITION_ID: ID definisi atribut
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Python
Mencantumkan definisi atribut
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: ID set data
- CONSENT_STORE_ID: ID penyimpanan izin
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut:
Python
Menghapus definisi atribut
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: ID project Google Cloud Anda
- LOCATION: lokasi set data
- DATASET_ID: ID set data
- CONSENT_STORE_ID: ID penyimpanan izin
- ATTRIBUTE_DEFINITION_ID: ID definisi atribut
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID" | Select-Object -Expand Content
APIs Explorer
Buka halaman referensi metode. Panel APIs Explorer akan terbuka di sisi kanan halaman. Anda bisa berinteraksi dengan alat ini untuk mengirim permintaan. Lengkapi kolom yang wajib diisi, lalu klik Jalankan.
Anda akan melihat respons JSON seperti berikut: