同意ストアの作成と管理

このページでは、Consent Store の作成と管理の方法について説明します。

Consent Management API は、ユーザーの同意を記録し、その同意に基づいてアクションを管理し、関連するドキュメントと記録を維持するツールです。

Consent Management API を使用する組織は、Consent Management API を介したデータの処理を許可するために必要な同意の取得と維持に対し責任を負います。

Consent Management API は、ポリシー決定ポイントの役割を果たします。ポリシーの適用は、アプリケーションまたはプロキシで実施する必要があります。詳しくは、属性ベースのアクセス制御をご覧ください。

権限を設定する

このガイドで機能を使用するには、roles/healthcare.consentStoreAdmin ロールが必要です。ただし、Consent Management API で有効なオペレーションを追加で行うには、追加の権限が必要になる場合があります。詳しくは、アクセス制御をご覧ください。

Consent Store は、Consent Management API の構成とオペレーションに関連するすべての情報が含まれている最上位のリソースです。Consent Store は Cloud Healthcare API データセットに属します。このデータセットは、作成時にリージョンに割り当てられます。このリージョンは、Consent Store が稼働する地理的な場所です。

  1. Google Cloud コンソールで、[データセット] ページに移動します。

    [データセット] に移動

  2. Consent Store 作成先のデータセットを開きます。

  3. [データストアの作成] をクリックします。

  4. データストアのタイプとして [同意] を選択します。

  5. [ID] フィールドに、データセット内で一意となる任意の名前を入力します。名前が一意でない場合、データストアの作成は失敗します。

  6. [次へ] をクリックします。

  7. [Consent Store を構成する] で、次のいずれかのオプションを選択して、ストアでの同意の有効期限を決定します。

    • [デフォルトの有効期限なし] は、デフォルトでは同意は期限切れにならないことを表します。
    • [デフォルトの有効期限] は、デフォルトでは同意は [有効期限] フィールドで定義された日数が経過すると期限切れになります。
  8. consentStores.patch を使用して新しい同意リソースを作成できるようにするには、[更新時に同意の作成を許可する] をクリックします。

  9. [次へ] をクリックします。

  10. [ラベルを追加] をクリックして、キーと値のラベルを定義し、Google Cloud リソースを整理します。

  11. [作成] をクリックします。

同意ストアを作成するには、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].

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 レスポンスが返されます。

const google = require('@googleapis/healthcare');
const healthcare = google.healthcare({
  version: 'v1',
  auth: new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  }),
});

const createConsentStore = async () => {
  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  // const consentStoreId = 'my-consent-store';
  const parent = `projects/${projectId}/locations/${cloudRegion}/datasets/${datasetId}`;
  const request = {parent, consentStoreId};

  await healthcare.projects.locations.datasets.consentStores.create(request);
  console.log(`Created consent store: ${consentStoreId}`);
};

createConsentStore();
def create_consent_store(
    project_id: str, location: str, dataset_id: str, consent_store_id: str
):
    """Creates a new consent store within the parent dataset.
    See https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/consent
    before running the sample."""
    # Imports the Google API Discovery Service.
    from googleapiclient import discovery

    api_version = "v1"
    service_name = "healthcare"
    # Returns an authorized API client by discovering the Healthcare API
    # and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
    client = discovery.build(service_name, api_version)

    # TODO(developer): Uncomment these lines and replace with your values.
    # project_id = 'my-project'  # replace with your GCP project ID
    # location = 'us-central1'  # replace with the parent dataset's location
    # dataset_id = 'my-dataset'  # replace with the consent store's parent dataset ID
    # consent_store_id = 'my-consent-store'  # replace with the consent store's ID
    consent_store_parent = (
        f"projects/{project_id}/locations/{location}/datasets/{dataset_id}"
    )

    request = (
        client.projects()
        .locations()
        .datasets()
        .consentStores()
        .create(parent=consent_store_parent, body={}, consentStoreId=consent_store_id)
    )

    response = request.execute()
    print(f"Created consent store: {consent_store_id}")
    return response

同意ストアを作成した後、更新できます。たとえば、ラベルを追加または削除して、同意ストアを整理できます。

以下のサンプルは、Consent Store を編集する方法を示しています。

Consent Store を編集するには、次の手順を行います。

  1. Google Cloud コンソールで、[データセット] ページに移動します。

    [データセット] に移動

  2. 編集するストアを含むデータセットを選択します。
  3. [データストア] リストで、編集するデータストアをクリックします。
  4. Consent Store の構成を編集するには、[Consent Store の構成] の隣にある編集アイコンをクリックします。

    Consent Store の構成オプションの詳細については、Consent Store の作成をご覧ください。
  5. ストアに 1 つ以上のラベルを追加するには、 [ラベル] をクリックし、[ラベルを追加] をクリックして、Key-Value ラベルを入力します。 リソースラベルの詳細については、リソースラベルの使用をご覧ください。
  6. [保存] をクリックします。

同意ストアを編集するには、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

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 レスポンスが返されます。

const google = require('@googleapis/healthcare');
const healthcare = google.healthcare({
  version: 'v1',
  auth: new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  }),
});

const patchConsentStore = async () => {
  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  // const consentStoreId = 'my-consent-store';
  // const defaultConsentTtl = '172800s' Must be at least 24 hours, specified
  // in seconds, appended with 's' character.
  const name = `projects/${projectId}/locations/${cloudRegion}/datasets/${datasetId}/consentStores/${consentStoreId}`;
  const request = {
    name,
    updateMask: 'defaultConsentTtl',
    resource: {
      defaultConsentTtl: defaultConsentTtl,
    },
  };

  await healthcare.projects.locations.datasets.consentStores.patch(request);
  console.log(
    `Patched consent store ${consentStoreId} with default consent time-to-live ${defaultConsentTtl}`
  );
};

patchConsentStore();
def patch_consent_store(
    project_id: str,
    location: str,
    dataset_id: str,
    consent_store_id: str,
    default_consent_ttl,
):
    """Updates the consent store.
    See https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/consent
    before running the sample."""
    # Imports the Google API Discovery Service.
    from googleapiclient import discovery

    api_version = "v1"
    service_name = "healthcare"
    # Returns an authorized API client by discovering the Healthcare API
    # and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
    client = discovery.build(service_name, api_version)

    # TODO(developer): Uncomment these lines and replace with your values.
    # project_id = 'my-project'  # replace with your GCP project ID
    # location = 'us-central1'  # replace with the parent dataset's location
    # dataset_id = 'my-dataset'  # replace with the consent store's parent dataset ID
    # consent_store_id = 'my-consent-store'  # replace with the consent store's ID
    # default_consent_ttl = '172800s'  # replace with a default TTL
    consent_store_parent = "projects/{}/locations/{}/datasets/{}".format(
        project_id, location, dataset_id
    )
    consent_store_name = "{}/consentStores/{}".format(
        consent_store_parent, consent_store_id
    )

    # Updates the default time-to-live (TTL) of consents in the consent store.
    # Updating the TTL does not affect the expiration time of existing consents.
    # Specify as a duration in seconds with up to nine fractional digits,
    # terminated by "s", for example "172800s".
    # Minimum value is 24 hours, or "86400s" in seconds.
    patch = {"defaultConsentTtl": default_consent_ttl}

    request = (
        client.projects()
        .locations()
        .datasets()
        .consentStores()
        .patch(name=consent_store_name, updateMask="defaultConsentTtl", body=patch)
    )

    response = request.execute()
    print(
        "Patched consent store {} with new default consent TTL: {}".format(
            consent_store_id, default_consent_ttl
        )
    )

    return response

以下のサンプルは、Consent Store の詳細を取得する方法を示しています。

Consent Store の詳細を表示するには:

  1. Google Cloud コンソールで、[データセット] ページに移動します。

    [データセット] に移動

  2. 表示する Consent Store を含むデータセットを選択します。
  3. Consent Store の名前
  4. [Datastore の詳細] ページに、選択した同意ストアの詳細が表示されます。

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

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 リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
const google = require('@googleapis/healthcare');
const healthcare = google.healthcare({
  version: 'v1',
  auth: new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  }),
});

const getConsentStore = async () => {
  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  // const consentStoreId = 'my-consent-store';
  const name = `projects/${projectId}/locations/${cloudRegion}/datasets/${datasetId}/consentStores/${consentStoreId}`;
  const request = {name};

  const consentStore =
    await healthcare.projects.locations.datasets.consentStores.get(request);
  console.log(consentStore.data);
};

getConsentStore();
def get_consent_store(
    project_id: str, location: str, dataset_id: str, consent_store_id: str
):
    """Gets the specified consent store.
    See https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/consent
    before running the sample."""
    # Imports the Google API Discovery Service.
    from googleapiclient import discovery

    # Imports Python's built-in "json" module
    import json

    api_version = "v1"
    service_name = "healthcare"
    # Returns an authorized API client by discovering the Healthcare API
    # and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
    client = discovery.build(service_name, api_version)

    # TODO(developer): Uncomment these lines and replace with your values.
    # project_id = 'my-project'  # replace with your GCP project ID
    # location = 'us-central1'  # replace with the parent dataset's location
    # dataset_id = 'my-dataset'  # replace with the consent store's parent dataset ID
    # consent_store_id = 'my-consent-store'  # replace with the consent store's ID
    consent_store_parent = "projects/{}/locations/{}/datasets/{}".format(
        project_id, location, dataset_id
    )
    consent_store_name = "{}/consentStores/{}".format(
        consent_store_parent, consent_store_id
    )

    consent_stores = client.projects().locations().datasets().consentStores()
    consent_store = consent_stores.get(name=consent_store_name).execute()

    print(json.dumps(consent_store, indent=2))
    return consent_store

以下のサンプルは、データセット内の Consent Store を一覧表示する方法を示します。

データセット内のデータストアを表示するには:

  1. Google Cloud コンソールで、[データセット] ページに移動します。

    [データセット] に移動

  2. 表示するデータストアを含むデータセットを選択します。

データセット内の 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

データセット内の 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 リソースでフィールドを構成した場合は、そのフィールドもレスポンスに表示されます。
const google = require('@googleapis/healthcare');
const healthcare = google.healthcare({
  version: 'v1',
  auth: new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  }),
});

const listConsentStores = async () => {
  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  const parent = `projects/${projectId}/locations/${cloudRegion}/datasets/${datasetId}`;
  const request = {parent};

  const consentStores =
    await healthcare.projects.locations.datasets.consentStores.list(request);
  console.log(JSON.stringify(consentStores.data));
};

listConsentStores();
def list_consent_stores(project_id, location, dataset_id):
    """Lists the consent stores in the given dataset.
    See https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/consent
    before running the sample."""
    # Imports the Google API Discovery Service.
    from googleapiclient import discovery

    api_version = "v1"
    service_name = "healthcare"
    # Returns an authorized API client by discovering the Healthcare API
    # and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
    client = discovery.build(service_name, api_version)

    # TODO(developer): Uncomment these lines and replace with your values.
    # project_id = 'my-project'  # replace with your GCP project ID
    # location = 'us-central1'  # replace with the parent dataset's location
    # dataset_id = 'my-dataset'  # replace with the consent store's parent dataset ID
    consent_store_parent = "projects/{}/locations/{}/datasets/{}".format(
        project_id, location, dataset_id
    )

    consent_stores = (
        client.projects()
        .locations()
        .datasets()
        .consentStores()
        .list(parent=consent_store_parent)
        .execute()
        .get("consentStores", [])
    )

    for consent_store in consent_stores:
        print(consent_store)

    return consent_stores

以下のサンプルは、Consent Store を削除する方法を示しています。

データストアを削除するには:

  1. Google Cloud コンソールで、[データセット] ページに移動します。

    [データセット] に移動

  2. 削除するデータストアを含むデータセットを選択します。
  3. 削除するデータストアの [アクション] プルダウン リストから [削除] を選択します。
  4. 確認のために、データストア名を入力して [削除] をクリックします。

同意ストアを削除するには、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
確認するには、Y と入力します。次のようなレスポンスが返されます。
Deleted consentStore [CONSENT_STORE_ID].

同意ストアを削除するには、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 レスポンスが返されます。

const google = require('@googleapis/healthcare');
const healthcare = google.healthcare({
  version: 'v1',
  auth: new google.auth.GoogleAuth({
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  }),
});

const deleteConsentStore = async () => {
  // TODO(developer): uncomment these lines before running the sample
  // const cloudRegion = 'us-central1';
  // const projectId = 'adjective-noun-123';
  // const datasetId = 'my-dataset';
  // const consentStoreId = 'my-consent-store';
  const name = `projects/${projectId}/locations/${cloudRegion}/datasets/${datasetId}/consentStores/${consentStoreId}`;
  const request = {name};

  await healthcare.projects.locations.datasets.consentStores.delete(request);
  console.log(`Deleted consent store: ${consentStoreId}`);
};

deleteConsentStore();
def delete_consent_store(
    project_id: str, location: str, dataset_id: str, consent_store_id: str
):
    """Deletes the specified consent store.
    See https://github.com/GoogleCloudPlatform/python-docs-samples/tree/main/healthcare/api-client/v1/consent
    before running the sample."""
    # Imports the Google API Discovery Service.
    from googleapiclient import discovery

    api_version = "v1"
    service_name = "healthcare"
    # Returns an authorized API client by discovering the Healthcare API
    # and using GOOGLE_APPLICATION_CREDENTIALS environment variable.
    client = discovery.build(service_name, api_version)

    # TODO(developer): Uncomment these lines and replace with your values.
    # project_id = 'my-project'  # replace with your GCP project ID
    # location = 'us-central1'  # replace with the parent dataset's location
    # dataset_id = 'my-dataset'  # replace with the consent store's parent dataset ID
    # consent_store_id = 'my-consent-store'  # replace with the consent store's ID
    consent_store_parent = "projects/{}/locations/{}/datasets/{}".format(
        project_id, location, dataset_id
    )
    consent_store_name = "{}/consentStores/{}".format(
        consent_store_parent, consent_store_id
    )

    request = (
        client.projects()
        .locations()
        .datasets()
        .consentStores()
        .delete(name=consent_store_name)
    )

    response = request.execute()
    print(f"Deleted consent store: {consent_store_id}")
    return response

監査ロギング

Consent Management API は、次の種類の監査ログを書き込みます。

  • 管理アクティビティ: リソースの構成やメタデータを変更するオペレーションを記録します。管理アクティビティ監査ログは無効にできません。
  • データアクセス: リソースの構成やメタデータを読み取る API 呼び出しや、顧客提供のリソースデータの作成、変更、読み取りを行う外部 API 呼び出しが含まれます。これらのログは有効にする必要があります。たとえば、データアクセス監査ログでは、アクセス決定リクエストを行ったサービス、そのリクエストで提供された情報、API がそのリクエストにどのように応答したかをログに記録できます。データアクセス監査ログの詳細については、データアクセス監査ログの構成をご覧ください。Cloud Healthcare API の監査ログの詳細については、Cloud Audit Logs の表示をご覧ください。

Consent Management API の監査ログついて詳しくは、Cloud Audit Logs の表示をご覧ください。