同意聲明和隱私權總覽

本頁面說明 Consent Management API,以及如何使用這項 API 管理使用者同意聲明和隱私權。

同意聲明管理 API 是同意聲明和隱私權架構的元件,可讓您安全地管理使用者的同意聲明和資料隱私權。Consent Management API 會儲存您從使用者收到的同意聲明資訊,追蹤每個用途可使用的資料,並協助應用程式僅按照使用者指示使用資料。

Consent Management API 資訊流

同意聲明管理 API 中的同意聲明和隱私權資訊流程如下:

  1. 您的應用程式會向使用者顯示隱私權選項,然後在 Consent Management API 中建立或修改同意聲明記錄,以代表使用者的決定。
  2. 當應用程式將資料寫入各種資料儲存庫時,會向 Consent Management API 例項註冊該資料的位置和特性。
  3. 當應用程式需要判斷是否已取得特定用途的資料同意聲明時,會向 Consent Management API 提出要求,並提供要求的資料和建議用途。
  4. Consent Management API 會將要求的資料和建議用途與儲存的同意聲明進行比較,如果有有效的同意聲明,就會傳回正面回應。如果沒有有效的同意聲明,系統會傳回負面回應。

下圖顯示 Consent Management API 資訊流程:

同意資料流

如要進一步瞭解 Consent Management API 中同意聲明資料的組織方式,請參閱 Consent Management API 資料模型

政策決策點

同意聲明管理 API 會在同意聲明和隱私權架構中擔任政策決策點,如下所示:

  1. 儲存應用程式使用者授予的同意授權政策。
  2. 接受經授權的用戶端應用程式提出的資料存取查詢。
  3. 根據儲存的同意聲明政策評估存取查詢。
  4. 決定存取權限,以便對用戶端應用程式強制執行同意聲明政策。

政策強制執行

同意聲明管理 API 支援在同意聲明和隱私權架構中強制執行政策,如下所示:

  1. 處理應用程式或政策執行點提出的存取權決定查詢。
  2. 評估資源是否可供特定用途存取。
  3. 判斷可供特定用途存取的所有資源。
  4. 將資源連結至屬性和同意政策,讓執行點只需指定要求屬性和選用的資源名稱。
  5. 即使同意聲明已新增、更新或撤銷,系統仍會使用目前的同意聲明狀態傳回存取權決定。

您可以在同意聲明和隱私權架構中,使用 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 會依下列方式執行這項評估:

  1. 同意聲明管理 API 會收到存取權判定要求,其中包含要求屬性值 (針對所提議的用途),以及目標資源或以使用者 ID 或資源屬性值描述的一系列目標資源。
  2. 如果指定目標資源範圍,Consent Management API 會判斷符合範圍的資源。舉例來說,如果您定義資源屬性值的範圍,系統就會在存取權判定要求中使用該範圍內的所有資源。
  3. 系統會找出所有相符資源的同意聲明。
  4. 系統會根據相關同意聲明的授權規則評估建議用途。
  5. 如果任何授權規則允許此要求屬性值組合,則系統會針對每個評估的資源傳回肯定的存取權決定。

根據預設,系統只會針對有效的同意聲明決定存取權。您可以直接在存取權判定要求中指定草稿狀態的同意聲明,將其納入存取權判定。在所有存取權判定要求中,系統會忽略已到期、已撤銷或處於拒絕狀態的同意聲明。

如要進一步瞭解如何提出存取權判定要求,請參閱「提出存取權判定要求」。