このページでは、Consent Store の作成と管理の方法について説明します。
Consent Management API は、ユーザーの同意を記録し、その同意に基づいてアクションを管理し、関連するドキュメントと記録を維持するツールです。
Consent Management API を使用する組織は、Consent Management API を介したデータの処理を許可するために必要な同意の取得と維持に対し責任を負います。
Consent Management API は、ポリシー決定ポイントの役割を果たします。ポリシーの適用は、アプリケーションまたはプロキシで実施する必要があります。詳しくは、属性ベースのアクセス制御をご覧ください。
権限を設定する
このガイドで機能を使用するには、roles/healthcare.consentStoreAdmin
ロールが必要です。ただし、Consent Management API で有効なオペレーションを追加で行うには、追加の権限が必要になる場合があります。詳しくは、アクセス制御をご覧ください。
Consent Store の作成
Consent Store は、Consent Management API の構成とオペレーションに関連するすべての情報が含まれている最上位のリソースです。Consent Store は Cloud Healthcare API データセットに属します。このデータセットは、作成時にリージョンに割り当てられます。このリージョンは、Consent Store が稼働する地理的な場所です。
Console
Google Cloud コンソールで、[データセット] ページに移動します。
Consent Store 作成先のデータセットを開きます。
[データストアの作成] をクリックします。
データストアのタイプとして [同意] を選択します。
[ID] フィールドに、データセット内で一意となる任意の名前を入力します。名前が一意でない場合、データストアの作成は失敗します。
[次へ] をクリックします。
[Consent Store を構成する] で、次のいずれかのオプションを選択して、ストアでの同意の有効期限を決定します。
- [デフォルトの有効期限なし] は、デフォルトでは同意は期限切れにならないことを表します。
- [デフォルトの有効期限] は、デフォルトでは同意は [有効期限] フィールドで定義された日数が経過すると期限切れになります。
consentStores.patch
を使用して新しい同意リソースを作成できるようにするには、[更新時に同意の作成を許可する] をクリックします。[次へ] をクリックします。
[ラベルを追加] をクリックして、キーと値のラベルを定義し、Google Cloud リソースを整理します。
[作成] をクリックします。
gcloud
同意ストアを作成するには、gcloud healthcare consent-stores create
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア識別子。同意ストア ID は、次の要件を満たす必要があります。
- そのデータセットの一意の ID
- 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
- 数字
- 手紙
- アンダースコア
- ダッシュ
- ピリオド
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare consent-stores create CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare consent-stores create CONSENT_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare consent-stores create CONSENT_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
次のようなレスポンスが返されます。
レスポンス
Created consentStore [CONSENT_STORE_ID].
REST
Consent Store を作成するには、projects.locations.datasets.consentStores.create
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア識別子。同意ストア ID は、次の要件を満たす必要があります。
- そのデータセットの一意の ID
- 次のもので構成される 1 ~ 256 文字の Unicode 文字列。
- 数字
- 手紙
- アンダースコア
- ダッシュ
- ピリオド
- DEFAULT_CONSENT_EXPIRATION_DURATION: このストアで作成された同意の有効期限が切れるまでのデフォルト期間(秒数)(省略可)。この期間は 24 時間(86,400 秒)以上で、
DEFAULT_CONSENT_EXPIRATION_DURATIONs
形式とする必要があります。 - ENABLE_CONSENT_CREATE_ON_UPDATE:
consentStores.patch
を使用して存在しない同意リソースへのパッチ適用をリクエストするときに、そのリソースを作成するかどうかを決定するブール値(省略可)。デフォルトはFALSE
です。
リクエストの本文(JSON):
{ "defaultConsentTtl": "DEFAULT_CONSENT_EXPIRATION_DURATIONs", "enableConsentCreateOnUpdate": "ENABLE_CONSENT_CREATE_ON_UPDATE" }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "defaultConsentTtl": "DEFAULT_CONSENT_EXPIRATION_DURATIONs", "enableConsentCreateOnUpdate": "ENABLE_CONSENT_CREATE_ON_UPDATE" } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-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?consentStoreId=CONSENT_STORE_ID"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "defaultConsentTtl": "DEFAULT_CONSENT_EXPIRATION_DURATIONs", "enableConsentCreateOnUpdate": "ENABLE_CONSENT_CREATE_ON_UPDATE" } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-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?consentStoreId=CONSENT_STORE_ID" | Select-Object -Expand Content
API Explorer
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
Node.js
Python
同意ストアの編集
同意ストアを作成した後、更新できます。たとえば、ラベルを追加または削除して、同意ストアを整理できます。
以下のサンプルは、Consent Store を編集する方法を示しています。
Console
Consent Store を編集するには、次の手順を行います。
- Google Cloud コンソールで、[データセット] ページに移動します。
- 編集するストアを含むデータセットを選択します。
- [データストア] リストで、編集するデータストアをクリックします。
- Consent Store の構成を編集するには、[Consent Store の構成] の隣にある編集アイコンをクリックします。
Consent Store の構成オプションの詳細については、Consent Store の作成をご覧ください。 - ストアに 1 つ以上のラベルを追加するには、リソースラベルの使用をご覧ください。 [ラベル] をクリックし、[ラベルを追加] をクリックして、Key-Value ラベルを入力します。 リソースラベルの詳細については、
- [保存] をクリックします。
gcloud
同意ストアを編集するには、gcloud healthcare consent-stores update
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
- KEY: 同意ストアの整理に使用する Key-Value ペアのキー。ラベルの要件と制限事項については、
labels
をご覧ください。 - VALUE: 同意ストアの整理に使用する Key-Value ペアの値。ラベルの要件と制限事項については、
labels
をご覧ください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare consent-stores update CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION \ --update-labels=KEY=VALUE
Windows(PowerShell)
gcloud healthcare consent-stores update CONSENT_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION ` --update-labels=KEY=VALUE
Windows(cmd.exe)
gcloud healthcare consent-stores update CONSENT_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION ^ --update-labels=KEY=VALUE
次のようなレスポンスが返されます。
レスポンス
Updated consentStore [CONSENT_STORE_ID]. labels: KEY: VALUE name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID
REST
Consent Store を編集するには、projects.locations.datasets.consentStores.patch
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
- KEY: 同意ストアの整理に使用する Key-Value ペアのキー。ラベルの要件と制限事項については、
labels
をご覧ください。 - VALUE: 同意ストアの整理に使用する Key-Value ペアの値。ラベルの要件と制限事項については、
labels
をご覧ください。
リクエストの本文(JSON):
{ "labels": { "KEY": "VALUE" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "labels": { "KEY": "VALUE" } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
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?updateMask=labels"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "labels": { "KEY": "VALUE" } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$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?updateMask=labels" | Select-Object -Expand Content
API Explorer
リクエスト本文をコピーして、メソッドのリファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。このツールにリクエスト本文を貼り付け、その他の必須フィールドに入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
Node.js
Python
Consent Store の詳細の取得
以下のサンプルは、Consent Store の詳細を取得する方法を示しています。
Console
Consent Store の詳細を表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 表示する Consent Store を含むデータセットを選択します。
- Consent Store の名前
[Datastore の詳細] ページに、選択した同意ストアの詳細が表示されます。
gcloud
Consent Store の詳細を取得するには、gcloud healthcare consent-stores describe
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare consent-stores describe CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare consent-stores describe CONSENT_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare consent-stores describe CONSENT_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
ConsentStore
リソースでフィールドを構成した場合は、それらのフィールドもレスポンスに表示されます。
レスポンス
name: projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID
REST
Consent Store の詳細を取得するには、projects.locations.datasets.consentStores.get
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
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"
PowerShell
次のコマンドを実行します。
$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" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
ConsentStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Node.js
Python
データセット内の Consent Store の一覧表示
以下のサンプルは、データセット内の Consent Store を一覧表示する方法を示します。
Console
データセット内のデータストアを表示するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 表示するデータストアを含むデータセットを選択します。
gcloud
データセット内の Consent Store を一覧表示するには、gcloud healthcare consent-stores list
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- DATASET_ID: 同意ストアの親データセット
- LOCATION: データセットの場所
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare consent-stores list --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare consent-stores list --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare consent-stores list --dataset=DATASET_ID ^ --location=LOCATION
ConsentStore
リソースでフィールドを構成した場合は、それらのフィールドもレスポンスに表示されます。
ID LABELS LOCATION CONSENT_STORE_ID LOCATION
REST
データセット内の Consent Store を一覧表示するには、projects.locations.datasets.consentStores.list
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- DATASET_ID: 同意ストアの親データセット
- LOCATION: データセットの場所
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
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"
PowerShell
次のコマンドを実行します。
$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" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
ConsentStore
リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
Node.js
Python
Consent Store の削除
以下のサンプルは、Consent Store を削除する方法を示しています。
Console
データストアを削除するには:
- Google Cloud コンソールで、[データセット] ページに移動します。
- 削除するデータストアを含むデータセットを選択します。
- 削除するデータストアの [アクション] プルダウン リストから [削除] を選択します。
- 確認のために、データストア名を入力して [削除] をクリックします。
gcloud
同意ストアを削除するには、gcloud healthcare consent-stores delete
コマンドを実行します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud healthcare consent-stores delete CONSENT_STORE_ID \ --dataset=DATASET_ID \ --location=LOCATION
Windows(PowerShell)
gcloud healthcare consent-stores delete CONSENT_STORE_ID ` --dataset=DATASET_ID ` --location=LOCATION
Windows(cmd.exe)
gcloud healthcare consent-stores delete CONSENT_STORE_ID ^ --dataset=DATASET_ID ^ --location=LOCATION
Deleted consentStore [CONSENT_STORE_ID].
REST
同意ストアを削除するには、projects.locations.datasets.consentStores.delete
メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- LOCATION: データセットの場所
- DATASET_ID: 同意ストアの親データセット
- CONSENT_STORE_ID: 同意ストア ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
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"
PowerShell
次のコマンドを実行します。
$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" | Select-Object -Expand Content
API Explorer
メソッド リファレンス ページを開きます。ページの右側に [API Explorer] パネルが開きます。このツールを操作してリクエストを送信できます。必須フィールドを入力して、[Execute] をクリックします。
次のような JSON レスポンスが返されます。
Node.js
Python
監査ロギング
Consent Management API は、次の種類の監査ログを書き込みます。
- 管理アクティビティ: リソースの構成やメタデータを変更するオペレーションを記録します。管理アクティビティ監査ログは無効にできません。
- データアクセス: リソースの構成やメタデータを読み取る API 呼び出しや、顧客提供のリソースデータの作成、変更、読み取りを行う外部 API 呼び出しが含まれます。これらのログは有効にする必要があります。たとえば、データアクセス監査ログでは、アクセス決定リクエストを行ったサービス、そのリクエストで提供された情報、API がそのリクエストにどのように応答したかをログに記録できます。データアクセス監査ログの詳細については、データアクセス監査ログの構成をご覧ください。Cloud Healthcare API の監査ログの詳細については、Cloud Audit Logs の表示をご覧ください。
Consent Management API の監査ログついて詳しくは、Cloud Audit Logs の表示をご覧ください。