Halaman ini menjelaskan Consent Management API dan cara menggunakannya untuk mengelola izin dan privasi pengguna.
Consent Management API adalah komponen arsitektur privasi dan izin Anda, serta memberikan pengelolaan yang skalabel dan aman untuk izin dan privasi data pengguna Anda. Consent Management API menyimpan informasi izin yang Anda terima dari pengguna, melacak data yang diizinkan untuk setiap kasus penggunaan, dan membantu aplikasi Anda memanfaatkan data hanya seperti yang diarahkan oleh pengguna Anda.
Alur informasi Consent Management API
Alur informasi izin dan privasi dalam Consent Management API adalah sebagai berikut:
- Aplikasi Anda menyajikan opsi privasi kepada pengguna, lalu membuat atau merevisi data izin dalam Consent Management API untuk mewakili keputusan pengguna tersebut.
- Saat aplikasi Anda menulis data ke berbagai penyimpanan datanya, aplikasi Anda mendaftarkan lokasi dan karakteristik data tersebut dengan instance Consent Management API.
- Jika perlu menentukan apakah data diizinkan untuk kasus penggunaan tertentu, aplikasi akan membuat permintaan ke Consent Management API dengan menyertakan data yang diminta dan penggunaan yang diusulkan.
- Consent Management API membandingkan data yang diminta dan penggunaan yang diusulkan dengan izin yang disimpan serta menampilkan respons positif jika terdapat izin yang valid. Respons negatif ditampilkan jika izin yang valid tidak ada.
Diagram berikut menunjukkan alur informasi Consent Management API:
Untuk mendapatkan informasi lebih lanjut tentang cara pengaturan data izin dalam Consent Management API, lihat model data Consent Management API.
Poin keputusan kebijakan
Consent Management API bertindak sebagai titik keputusan kebijakan dalam arsitektur izin dan privasi Anda sebagai berikut:
- Menyimpan kebijakan izin yang diberikan oleh pengguna aplikasi Anda.
- Menerima kueri akses data yang dibuat oleh aplikasi klien yang diotorisasi.
- Mengevaluasi kueri akses berdasarkan kebijakan izin yang tersimpan.
- Membuat penentuan akses guna menerapkan kebijakan izin untuk aplikasi klien.
Penegakan kebijakan
Consent Management API mendukung penegakan kebijakan dalam izin dan arsitektur privasi Anda sebagai berikut:
- Memproses kueri penentuan akses yang dibuat oleh aplikasi atau titik penerapan kebijakan.
- Mengevaluasi apakah resource dapat diakses untuk tujuan tertentu.
- Menentukan semua resource yang dapat diakses untuk tujuan tertentu.
- Menautkan resource ke atribut dan kebijakan izin, sehingga titik penegakan hanya perlu menentukan atribut permintaan dan nama resource opsional.
- Menampilkan penentuan akses menggunakan status izin saat ini, meskipun izin ditambahkan, diperbarui, atau dicabut.
Anda dapat menerapkan lebih dari satu pola penegakan kebijakan menggunakan Consent Management API dalam arsitektur izin dan privasi Anda. Daftar berikut menunjukkan contoh pola penegakan kebijakan:
- Penegakan oleh aplikasi tepercaya. Aplikasi yang telah memverifikasi identitas dan kualifikasi pengguna dapat meneruskan properti yang relevan ke Consent Management API. Hal ini memungkinkan pengguna mengirimkan atau memperbarui izin dan memungkinkan aplikasi, dengan kualifikasi yang terverifikasi, hanya mengakses informasi yang diberi izin untuk kasus penggunaan mereka.
- Penegakan oleh middleware pelanggan. Aplikasi yang mewajibkan verifikasi identitas dan kualifikasi pengguna dapat menggunakan Consent Management API untuk menentukan apakah akses diizinkan untuk permintaan tertentu atau tidak.
- Penegakan oleh server resource. Server resource dapat menggunakan identitas pengguna untuk mengambil kualifikasi dari aplikasi lain, jika diperlukan, lalu memanggil Consent Management API untuk menentukan akses sebelum memenuhi permintaan.
Representasi kebijakan
Kebijakan izin dalam Consent Management API terdiri dari kumpulan nilai atribut resource yang menentukan data yang diberlakukan oleh kebijakan dan aturan otorisasi yang menentukan kondisi yang mendasari kebijakan tersebut.
Jika beberapa nilai ditentukan untuk satu atribut resource, kebijakan akan berlaku untuk data yang cocok dengan salah satu nilai tersebut. Jika beberapa atribut resource muncul dalam kebijakan, masing-masing atribut resource tersebut harus cocok agar kebijakan dapat diterapkan.
Aturan otorisasi menggunakan variasi yang dibatasi dari Common Expression Language (CEL) untuk menjelaskan secara fleksibel hubungan antara nilai atribut permintaan yang mengizinkan akses ke data yang relevan. Untuk informasi selengkapnya tentang CEL, lihat Common Expression Language.
Resource izin dapat berisi beberapa kebijakan izin yang dapat mewakili respons positif terhadap pertanyaan izin yang diberikan kepada pengguna. Kebijakan izin juga dapat digunakan untuk merepresentasikan seluruh formulir izin atau keputusan organisasi dan administratif.
Diagram berikut menunjukkan cara kebijakan ditampilkan di Consent Management API:
Diagram ini menunjukkan cara membuat kebijakan izin sederhana menggunakan atribut resource dan permintaan. Kebijakan yang lebih kompleks dapat dibangun dengan menggabungkan dua atau lebih kebijakan.
Data izin
Consent Management API menyimpan jenis data izin berikut:
- Artefak izin: menyimpan dokumen yang diterima atau ditandatangani oleh pengguna. Data ini dapat berisi PDF atau gambar layar yang ditampilkan kepada pengguna selama proses izin. Stempel waktu juga dapat digunakan untuk menyimpan tanda tangan, stempel waktu, dan informasi penting lainnya yang mendokumentasikan proses izin.
- Resource izin: jelaskan izin yang diberikan oleh pengguna berdasarkan atribut izin yang dikonfigurasi. Consent Management API mengevaluasi catatan ini untuk menentukan apakah data diizinkan untuk kasus penggunaan. Resource izin berisi izin yang diberikan dan status izin. Data ini juga dapat ditautkan ke artefak izin yang sesuai.
Untuk informasi selengkapnya tentang catatan izin, lihat Membuat dan memperbarui izin pengguna.
Pengelolaan data
Consent Management API dapat mengelola data yang disimpan dalam skema Anda sendiri di Google Cloud, secara lokal, atau dengan penyedia cloud lain selama data tersebut dapat dijelaskan menggunakan string. Consent Management API menggunakan pemetaan data pengguna untuk melacak data terkelola tanpa perlu menyimpan data tersebut di dalam layanan itu sendiri.
Setiap pemetaan data pengguna berisi ID data, ID pengguna, dan serangkaian nilai atribut resource. ID data adalah string yang secara unik mengidentifikasi data yang diwakili oleh pemetaan data pengguna. User-ID adalah ID buram yang menautkan data tersebut ke pengguna. Nilai atribut resource menjelaskan karakteristik data menggunakan kosakata yang ditentukan oleh resource definisi atribut.
Berikut adalah lokasi penyimpanan umum untuk data yang dikelola izin:
- Toko FHIR
- BigQuery
- Cloud Storage
Untuk mengetahui informasi selengkapnya tentang cara membuat pemetaan data pengguna, lihat Mendaftarkan data pengguna.
Penentuan akses
Permintaan penentuan akses dibuat oleh aplikasi yang perlu mengetahui apakah penggunaan yang diusulkan diizinkan untuk mengakses elemen data tertentu, semua elemen data yang terkait dengan pengguna, atau penyimpanan seluruh data. Consent Management API menentukan apakah permintaan diizinkan dengan mengevaluasi apakah ada izin valid yang memberikan izin untuk data yang ditentukan dan penggunaan yang diusulkan. Consent Management API melakukan evaluasi ini sebagai berikut:
- Consent Management API menerima permintaan penentuan akses dengan nilai atribut permintaan untuk penggunaan yang diusulkan dan resource target atau berbagai resource target yang dijelaskan oleh ID pengguna atau nilai atribut resource.
- Jika rentang resource target telah ditentukan, Consent Management API akan menentukan resource yang cocok dengan rentang tersebut. Misalnya, jika Anda menentukan rentang nilai atribut resource, semua resource dalam rentang ini akan digunakan dalam permintaan penentuan akses.
- Izin untuk semua resource yang cocok diidentifikasi.
- Penggunaan yang diusulkan dievaluasi berdasarkan aturan otorisasi izin yang relevan.
- Jika salah satu aturan otorisasi mengizinkan kombinasi nilai atribut permintaan ini, penentuan akses positif akan ditampilkan untuk setiap resource yang dievaluasi.
Secara default, penentuan akses hanya dilakukan atas izin aktif. Izin dalam status draf dapat disertakan dalam penentuan akses dengan menentukannya secara langsung dalam permintaan penentuan akses. Izin yang sudah tidak berlaku, dicabut, atau dalam status ditolak akan diabaikan di semua permintaan penentuan akses.
Untuk informasi lebih lanjut tentang cara membuat permintaan penentuan akses, lihat Melakukan penentuan akses.