Consent Management API データモデル

このページでは、Consent Management API 内で情報を整理する方法と、さまざまなリソース フィールドの使い方について説明します。

概要

Consent Management API では、同意とプライバシーに関連するデータを次の領域で管理します。

  • 構成情報。Consent Store の設定、および Consent Store の構成に関連するデータ(有効期限や、同意属性の定義などのポリシー構成要素を含む)。
  • 同意レコード。ユーザーが付与する権限に関連するデータ(同意や、それに関連付けられた同意アーティファクトを含む)。
  • マネージド リソース。Consent Management API によって管理されるリソースに関連するユーザーデータのマッピングとデータ。ユーザー データのマッピングは Consent Management API 内に保存され、マネージド リソースは Consent Management API の外に保存されます。

データモデル

Consent Management API では、次のデータモデルが使用されます。

同意モデル

構成情報

同意データは Consent Store に保存されます。独立して構成および運用できる 1 つ以上の Consent Store を作成できます。どの Consent Store の構成を選択するかによって、作成可能な他の Consent Management API リソースと、それらのリソースの動作が決まります。

ユースケースによっては、複数の Consent Store が必要になる場合があります。次に、Key-Value ラベルを使用して Consent Store を構成することで、Consent Store を整理できます。

ストア内で作成された同意に適用されるデフォルトの有効期限を構成できます。たとえば、ストアで新たに作成した同意が作成から 1 年後に期限切れになるように、ストアの有効期限を 1 年に設定できます。独自の有効期限を設定して同意を作成した場合、その有効期限がストアのデフォルトの有効期限の代わりに使用されます。Consent Store とその構成の詳細については、ユーザーの同意の作成と更新をご覧ください。

属性定義を作成することで、Consent Store の動作を構成することもできます。属性定義リソースは、Consent Store で許可される属性と属性値を指定します。Consent Store 内の属性定義群は、Consent Store が処理できる同意とプライバシーのコンセプトを定義します。

各属性はリソース属性またはリクエスト属性のいずれかに分類されています。リソース属性は、同意ストアで管理するデータを説明する属性です。リソース属性は、ユーザーデータのマッピングを作成し、同意ポリシーを構成し、アクセス判定リクエストの範囲を特定の種類のデータに制限するために使用されます。

リクエストの属性は、Consent Store 内のデータの使用方法を説明する属性です。リクエストの属性は、同意ポリシーの承認ルールを構成するため、およびアクセス判定リクエストの際に提案される用途を説明するために必要となります。属性の定義の詳細については、属性を使用した同意ポリシーの構成をご覧ください。

Consent Management API でユーザーの同意を記録するときに、同意リソースと同意アーティファクト リソースを作成できます。同意リソースは、同意が有効となる条件を記録し、Consent Management API がアクセス判定リクエストを処理できるようにします。同意アーティファクトのリソースは、ユーザーが同意を行った条件を記録し、同意実行について文書化します。

同意リソースには、Consent Store 内で構成された属性と属性値に関して付与された同意を説明する 1 つ以上のポリシーが含まれます。

同意リソースはユーザーに固有で、同意リソースごとに userID が指定されます。userID は、誰が同意したかを表す識別子です。ユーザー データのマッピングの作成時にも同じ識別子が使用されます。

同意ポリシーでは、リソース属性を使用して同意がどのデータに適用されるかが説明され、そのデータをどのように使用することが許可されるかを定義するための許可ルールが使用されます。許可ルールは、リクエスト属性と Common Expression Language(CEL)を使用して表現されます。Consent Store の属性定義で定義された属性値からポリシーを構成できます。

ポリシーの詳細については、ポリシーの適用をご覧ください。

同意リソースは次のいずれかの状態になります。

  • アクティブ: 同意がユーザーによって付与され、ほとんどのアクセス判定メソッドで評価されます。ユーザーが同意を取り消す必要がある場合は、アクティブな同意を取り消し済みの同意に変更します。
  • 取り消し済み: ユーザーが同意を取り消したため、すべてのアクセス判定でこのリソースは無視されます。
  • ドラフト: ユーザーの同意がまだ付与されていませんが、特定の条件下で、アクセス判定により評価できます。ユーザーが同意した場合は、ドラフトの同意をアクティブに変更できます。ユーザーが同意を却下した場合、ドラフト リソースが拒否される場合があります。
  • 拒否: 同意が成されておらず、すべてのアクセス判定で同意がされます。

同意の有効期限を、絶対日付または期間として定義することもできます。有効期限のない同意は、店舗のデフォルトの有効期限を継承します。Consent Store のデフォルトの有効期限を構成しておらず、同意の有効期限を定義しなかった場合、同意は期限切れになりません。

同意アーティファクトのリソースは、同意リソースにより記述されるポリシーをサポートするためのドキュメントを記録します。このドキュメントには次のものが含まれます。

  • タイムスタンプ
  • ユーザー、保護者、または立会人の署名
  • ユーザーの同意を記録した画像または画像キャプチャ
  • 電子同意書(署名入りの PDF など、同意の証明となる文書)
  • 名前、日付、連絡先情報などの追加のメタデータ

同意リソースは、同意リソースが作成されたときに同意アーティファクトに関連付けられます。同意アーティファクト リソース内でユーザーを識別するために使用できる情報を含めることができます。この情報へのアクセスを制限するには、同意アーティファクトのみの権限を構成します。同意に関する権限の詳細については、アクセス制御をご覧ください。

マネージド リソース

Consent Management API は、Google Cloud、オンプレミス、または別のクラウド プロバイダなど、さまざまなロケーションに保存されているリソースへのアクセスを管理します。管理しているリソースに関する情報はユーザー データのマッピングに含まれます。そのため、Consent Management API は、マネージド リソース自体にアクセスしなくても、アクセスを判定できます。

ユーザーデータのマッピングでは、管理対象のリソースを一意に識別するために dataID フィールドを使用します。マネージド リソースは、文字列を使用して記述できる場所に配置できます。

userID フィールドは、マネージド リソースが関連付けられているユーザーを表す識別子です。これは、同意と同意のアーティファクト リソースを作成するときに使用する ID と同じです。

ユーザー データのマッピングに含まれるリソース属性値のセットは、ユーザー データのマッピングで表されるリソースを記述します。許可されるリソース属性値は、Consent Store の属性定義により定義されます。

ユーザーデータのマッピングの作成と管理に関する詳細は、ユーザーデータの登録をご覧ください。