本頁面說明 Consent Management API,以及如何使用這項 API 管理使用者同意聲明和隱私權。
同意聲明管理 API 是同意聲明和隱私權架構的元件,可讓您安全地管理使用者的同意聲明和資料隱私權。Consent Management API 會儲存您從使用者收到的同意聲明資訊,追蹤每個用途可使用的資料,並協助應用程式僅按照使用者指示使用資料。
Consent Management API 資訊流
同意聲明管理 API 中的同意聲明和隱私權資訊流程如下:
- 您的應用程式會向使用者顯示隱私權選項,然後在 Consent Management API 中建立或修改同意聲明記錄,以代表使用者的決定。
- 當應用程式將資料寫入各種資料儲存庫時,會向 Consent Management API 例項註冊該資料的位置和特性。
- 當應用程式需要判斷是否已取得特定用途的資料同意聲明時,會向 Consent Management API 提出要求,並提供要求的資料和建議用途。
- Consent Management API 會將要求的資料和建議用途與儲存的同意聲明進行比較,如果有有效的同意聲明,就會傳回正面回應。如果沒有有效的同意聲明,系統會傳回負面回應。
下圖顯示 Consent Management API 資訊流程:
如要進一步瞭解 Consent Management API 中同意聲明資料的組織方式,請參閱 Consent Management API 資料模型。
政策決策點
同意聲明管理 API 會在同意聲明和隱私權架構中擔任政策決策點,如下所示:
- 儲存應用程式使用者授予的同意授權政策。
- 接受經授權的用戶端應用程式提出的資料存取查詢。
- 根據儲存的同意聲明政策評估存取查詢。
- 決定存取權限,以便對用戶端應用程式強制執行同意聲明政策。
政策強制執行
同意聲明管理 API 支援在同意聲明和隱私權架構中強制執行政策,如下所示:
- 處理應用程式或政策執行點提出的存取權決定查詢。
- 評估資源是否可供特定用途存取。
- 判斷可供特定用途存取的所有資源。
- 將資源連結至屬性和同意政策,讓執行點只需指定要求屬性和選用的資源名稱。
- 即使同意聲明已新增、更新或撤銷,系統仍會使用目前的同意聲明狀態傳回存取權決定。
您可以在同意聲明和隱私權架構中,使用 Consent Management API 導入多種政策執行模式。以下列出政策執行模式的範例:
- 由信任的應用程式強制執行。已驗證使用者身分和資格的應用程式,可以將相關屬性轉送至 Consent Management API。這可讓使用者提交或更新同意聲明,並允許經過驗證資格的應用程式僅存取其用途所需的同意聲明資訊。
- 由客戶中介軟體強制執行。需要驗證使用者身分和資格的應用程式,可以使用 Consent Management API 判斷是否允許存取特定要求。
- 由資源伺服器強制執行。資源伺服器可使用使用者的身分,在必要時從其他應用程式擷取資格,然後在滿足要求前呼叫 Consent Management API 來判斷存取權。
政策代表
Consent Management API 中的同意聲明政策由一組資源屬性值組成,用來定義政策適用的資料,以及授權規則,用來定義政策有效的條件。
如果為單一資源屬性指定多個值,政策就會套用至符合其中任一值的資料。如果政策中出現多個資源屬性,則每個資源屬性都必須相符,政策才能套用。
授權規則會使用一般運算語言 (CEL) 的受限變化版本,靈活描述允許存取相關資料的請求屬性值之間的關係。如要進一步瞭解 CEL,請參閱「一般運算語言」。
同意授權資源可包含多項同意授權政策,這些政策可代表使用者對呈現的同意授權問題做出肯定回應。同意聲明政策也可用於代表整份同意聲明表單,或組織和管理決策。
下圖顯示 Consent Management API 中政策的呈現方式:
此圖表顯示如何使用資源和要求屬性建構簡單的同意聲明政策。您可以結合兩個以上的政策,建立更複雜的政策。
同意聲明記錄
Consent Management API 會儲存下列類型的同意聲明記錄:
- 同意聲明構件:儲存使用者接受或簽署的文件。這些記錄可包含同意程序中向使用者顯示的畫面 PDF 或圖片。也可以用來儲存簽名、時間戳記和其他記錄同意程序的重要資訊。
- 同意聲明資源:根據已設定的同意聲明屬性,說明使用者提供的同意聲明。Consent Management API 會評估這些記錄,判斷資料是否已獲得用途同意聲明。同意聲明資源包含已授予的同意聲明和同意聲明狀態。這些記錄也可以連結至對應的同意聲明構件。
如要進一步瞭解同意聲明記錄,請參閱「建立及更新使用者同意聲明」。
資料管理
只要資料可以使用字串描述,Consent Management API 就能管理儲存在您自己的結構定義中、內部部署或其他雲端服務供應商的資料。 Google CloudConsent Management API 會使用使用者資料對應項目追蹤受管理的資料,但資料不必儲存在服務本身。
每個使用者資料對應項目都包含資料 ID、使用者 ID 和一組資源屬性值。資料 ID 是字串,可用來識別使用者資料對應項目所代表的資料。使用者 ID 是一種不透明的 ID,可將資料連結至使用者。資源屬性值會使用屬性定義資源定義的字彙來說明資料的特性。
以下是同意聲明管理資料的常見儲存位置:
- FHIR 儲存庫
- BigQuery
- Cloud Storage
如要進一步瞭解如何建立使用者資料對應項目,請參閱「註冊使用者資料」。
存取權決定
存取權判定要求是由應用程式提出,用於瞭解所提議的用途是否可存取特定資料元素、與使用者相關聯的所有資料元素,或整個資料儲存庫。Consent Management API 會評估是否有有效的同意聲明,授予指定資料和預期用途的權限,進而判斷要求是否允許。Consent Management API 會依下列方式執行這項評估:
- 同意聲明管理 API 會收到存取權判定要求,其中包含要求屬性值 (針對所提議的用途),以及目標資源或以使用者 ID 或資源屬性值描述的一系列目標資源。
- 如果指定目標資源範圍,Consent Management API 會判斷符合範圍的資源。舉例來說,如果您定義資源屬性值的範圍,系統就會在存取權判定要求中使用該範圍內的所有資源。
- 系統會找出所有相符資源的同意聲明。
- 系統會根據相關同意聲明的授權規則評估建議用途。
- 如果任何授權規則允許此要求屬性值組合,則系統會針對每個評估的資源傳回肯定的存取權決定。
根據預設,系統只會針對有效的同意聲明決定存取權。您可以直接在存取權判定要求中指定草稿狀態的同意聲明,將其納入存取權判定。在所有存取權判定要求中,系統會忽略已到期、已撤銷或處於拒絕狀態的同意聲明。
如要進一步瞭解如何提出存取權判定要求,請參閱「提出存取權判定要求」。