Cloud Healthcare API は、Cloud Storage バケットや BigQuery データセットなど、プロジェクト内の他の Google Cloud リソースに自動的にアクセスできません。これらのリソースにアクセスすると、Cloud Healthcare API は Cloud Healthcare サービス エージェントというサービス エージェントを使用します。
Pub/Sub トピックの変更の通知、Cloud Storage バケットからのデータのインポート、BigQuery データセットへのデータのエクスポートなどの操作を行うには、まず Cloud Healthcare API の外部に存在するリソースにアクセスするために必要な Identity and Access Management(IAM)の権限をサービス アカウントに付与する必要があります。このページでは、さまざまな操作に必要な権限とそれらの権限を付与する方法について説明します。
IAM を使用して Cloud Healthcare API 内で権限を構成する方法について詳しくは、アクセス制御をご覧ください。
Cloud Healthcare サービス エージェント
Cloud Healthcare API を有効にすると、Cloud Healthcare サービス エージェントのサービス アカウントが自動的に作成されます。メンバー名は service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。
Google Cloud プロジェクトの PROJECT_NUMBER を確認するには、プロジェクトの識別をご覧ください。
Cloud Healthcare サービス エージェントのサービス アカウントに関する詳細情報(付与されたロールなど)は、Google Cloud Console の Identity and Access Management ページで確認できます。
Cloud Healthcare サービス エージェント、および Identity and Access Management(IAM)のロールとのやり取り、権限の詳細については、アクセス制御をご覧ください。
データセット CMEK の権限
Cloud Healthcare API データセットを作成するときに、顧客管理の暗号鍵(CMEK)を使用できます。Cloud Healthcare サービス エージェントのサービス アカウントが CMEK 鍵を使用してオブジェクトを暗号化および復号できるようにするには、サービス アカウントに 暗号鍵の暗号化/復号(roles/cloudkms.cryptoKeyEncrypterDecrypter
)ロールを付与します。
Console
Google Cloud コンソールの [IAM] ページに移動します。
[Google 提供のロール付与を含める] チェックボックスをオンにします。
[プリンシパル別に表示] タブが選択されていることを確認します。Cloud Healthcare サービス エージェントのサービス アカウントを含む行を見つけ、その行の
[プリンシパルの編集] をクリックします。[権限の編集] ペインが表示されます。[
別のロールを追加] をクリックします。[ロールを選択] プルダウン メニューから検索して、[CryptoKey の暗号化/復号] をクリックします。
[保存] をクリックします。
DICOM ストア、FHIR ストア、HL7v2 ストアの Pub/Sub 権限
DICOM、FHIR、HL7v2 ストア内の変更は Pub/Sub トピックに送信できます。詳細については、通知での Cloud Pub/Sub の使用をご覧ください。
これらのストア内のメソッドには、Pub/Sub トピックへの変更を公開するためのCloud Healthcare サービス エージェントのサービス アカウントに対する追加の権限が必要です。
Google Cloud コンソールまたは gcloud CLI を使用して、プロジェクトのサービス アカウントに pubsub.publisher
ロールを追加します。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - ロールに一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別のロールを追加] をクリックし、Pub/Sub パブリッシャーのロールを検索します。
- ロールを選択し、[保存] をクリックします。
pubsub.publisher
ロールがサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/pubsub.publisher
プロジェクト間で Pub/Sub 権限を構成する
別のプロジェクトのトピックに Pub/Sub 通知をパブリッシュするには、Cloud Healthcare サービス エージェントのサービス アカウントにトピックに対する pubsub.publisher
ロールを付与します。詳細については、Google Cloud コンソールによるアクセス制御と IAM API によるアクセス制御をご覧ください。
プロジェクト間での Pub/Sub 通知公開の例については、サンプル ユースケース: プロジェクト間の通信をご覧ください。
DICOM ストアの Cloud Storage 権限
projects.locations.datasets.dicomStores.import
メソッドと projects.locations.datasets.dicomStores.export
メソッドでは、Cloud Storage との間でデータのインポートとエクスポートを行うために Cloud Healthcare サービス エージェントのサービス アカウントで追加の権限が必要です。
Cloud Storage からのデータのインポート
Google Cloud Console または gcloud CLI を使用して、必要なstorage.objectViewer
ロールをプロジェクトのアカウントに追加できます。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。
サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - 役割に一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト閲覧者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectViewer
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Cloud Storage へのデータのエクスポート
Google Cloud Console または gcloud CLI を使用して、必要な storage.objectAdmin
ロールをプロジェクトのサービス アカウントに追加できます。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - ロールに一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト管理者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectAdmin
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectAdmin
DICOM ストアの BigQuery 権限
projects.locations.datasets.dicomStores.export
メソッドには、DICOM メタデータを BigQuery にエクスポートするために Cloud Healthcare サービス エージェントのサービス アカウントに対する追加の権限が必要です。また、BigQuery データセットに対する WRITER
アクセス権を Cloud Healthcare サービス エージェントのサービス アカウントに付与する必要があります。
Cloud Healthcare サービス エージェントのサービス アカウントに対する権限の付与
Google Cloud コンソールまたは gcloud CLI を使用して、必要な bigquery.dataEditor
ロールと bigquery.jobUser
ロールをプロジェクトのサービス アカウントに追加できます。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。
サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - 役割に一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、BigQuery データ編集者と BigQuery ジョブユーザーの役割を検索します。
- 各役割を選択し、[保存] をクリックします。
bigquery.dataEditor
とbigquery.jobUser
の役割が、サービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
roles/bigquery.dataEditor
ロールを付与します。後述のコマンドデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- PROJECT_NUMBER: Google Cloud プロジェクトの数
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.dataEditor
Windows(PowerShell)
gcloud projects add-iam-policy-binding PROJECT_ID ` --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ` --role=roles/bigquery.dataEditor
Windows(cmd.exe)
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^ --role=roles/bigquery.dataEditor
次のようなレスポンスが返されます。
Updated IAM policy for project [PROJECT_ID]. bindings: ... - members: - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com role: roles/bigquery.dataEditor ... etag: ETAG version: VERSION
roles/bigquery.jobUser
ロールを付与します。後述のコマンドデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- PROJECT_NUMBER: Google Cloud プロジェクトの数
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.jobUser
Windows(PowerShell)
gcloud projects add-iam-policy-binding PROJECT_ID ` --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ` --role=roles/bigquery.jobUser
Windows(cmd.exe)
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^ --role=roles/bigquery.jobUser
次のようなレスポンスが返されます。
Updated IAM policy for project [PROJECT_ID]. bindings: ... - members: - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com role: roles/bigquery.jobUser ... etag: ETAG version: VERSION
WRITER
に対する BigQuery データセットへのアクセス権の付与
プロジェクトのサービス アカウントに bigquery.dataEditor
と bigquery.jobUser
のロールを追加した場合、すべての BigQuery データセットに対する WRITER
アクセス権が付与されます。ただし、これらのロールを追加していない状態で単一の BigQuery データセットに対する WRITER
アクセス権が必要な場合は、そのデータセットのみに対する WRITER
アクセス権を付与できます。WRITER
に BigQuery データセットへのアクセス権を付与するには、次の手順をおこないます。- データセットへのアクセスの制御に移動します。
- 使用可能ないずれかの方法で、Cloud Healthcare サービス エージェントのメールアドレス
WRITER
に BigQuery データセットへのアクセス権を付与します (末尾が@gcp-sa-healthcare.iam.gserviceaccount.com
のメールアドレスを探します)。
たとえば、Cloud Healthcare サービス エージェントのメールアドレスが service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
で、BigQuery ウェブ UI を使用している場合は、次のようになります。
- コンソールの手順に従います。
- [プリンシパルを追加] フィールドに「
service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
」と入力し、bigquery.dataEditor
役割を選択します。
Google Cloud プロジェクト間での DICOM メタデータのエクスポート
あるプロジェクトの DICOM ストアから別のプロジェクトの BigQuery テーブルに DICOM メタデータをエクスポートするには、ソース プロジェクトの Cloud Healthcare サービス エージェントのサービス アカウントを宛先のプロジェクトに追加し、サービス アカウントに宛先プロジェクトでの bigquery.dataEditor
と bigquery.jobUser
の役割を付与する必要があります。
ソース プロジェクトの Cloud Healthcare サービス エージェントのサービス アカウントを見つけるには、次の手順を実行します。
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。次の手順で使用するため、ソースプロジェクトのこのアドレスをメモします。
次の手順で、ソース プロジェクトから宛先プロジェクトに Cloud Healthcare サービス エージェントのサービス アカウントを追加し、必要な BigQuery 権限を付与します。
Console
- Google Cloud Console で宛先プロジェクトの IAM ページを開きます。
- [追加] をクリックします。
- [新しいメンバー] フィールドに、ソース プロジェクトの Cloud Healthcare サービス エージェントのサービス アカウントのアドレスを入力します。
- [別の役割を追加] をクリックし、BigQuery データ編集者と BigQuery ジョブユーザーの役割を検索します。
- 役割を選択し、[保存] をクリックします。ソース プロジェクトの Cloud Healthcare サービス エージェントのサービス アカウントに、宛先プロジェクトに対する
bigquery.dataEditor
とbigquery.jobUser
の役割が付与されました。
gcloud
ソース プロジェクトから宛先プロジェクトに Cloud Healthcare サービス エージェントのサービス アカウントを追加し、必要な BigQuery 権限をサービス アカウントに付与するには、gcloud projects add-iam-policy-binding
コマンドを実行します。ソース プロジェクトおよび宛先プロジェクトのプロジェクト ID とプロジェクト番号を見つけるには、プロジェクトの識別をご覧ください。
gcloud projects add-iam-policy-binding DESTINATION_PROJECT_ID \ --member=serviceAccount:service-SOURCE_PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.dataEditor
gcloud projects add-iam-policy-binding DESTINATION_PROJECT_ID \ --member=serviceAccount:service-SOURCE_PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.jobUser
BigQuery データセットへのアクセス権を WRITER
に付与するの手順を完了して、ソース プロジェクトが宛先データセットに書き込めるようにします。
FHIR ストアの Cloud Storage 権限
以降のセクションでは、Cloud Storage との間で読み取りまたは書き込みを行うために Cloud Healthcare サービス エージェントで追加の権限が必要な FHIR メソッドについて説明します。
Cloud Storage から FHIR リソースのインポート
projects.locations.datasets.fhirStores.import
メソッドには、Cloud Healthcare サービス エージェントのサービス アカウントに対する次の権限が必要です。
storage.objects.get
storage.objects.list
これらの権限は、事前定義された storage.objectViewer
ロールに含まれています。
また、権限をカスタムロールに追加することも、他の基本ロールに含めることもできます。
Google Cloud コンソールまたは gcloud CLI を使用して、必要なstorage.objectViewer
ロールをプロジェクトのサービス アカウントに追加できます。Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。
サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - 役割に一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト閲覧者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectViewer
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Cloud Storage への FHIR リソースのエクスポート
projects.locations.datasets.fhirStores.export
メソッドを使用するには、Cloud Healthcare サービス エージェントのサービス アカウントに対する次の権限が必要です。
storage.objects.create
storage.objects.delete
storage.objects.list
これらの権限は、事前定義された storage.objectAdmin
ロールに含まれています。
また、権限をカスタムロールに追加することも、他の基本ロールに含めることもできます。
サービス アカウントに storage.objectAdmin
ロールを付与する手順は次のとおりです。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - ロールに一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト作成者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectAdmin
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectAdmin
Cloud Storage からフィルタ ファイルを読み取る
projects.locations.datasets.fhirStores.rollback
メソッドにはCloud Healthcare サービス エージェントのサービス アカウントに対して、Cloud Storage からフィルタ ファイルを読み取る次の権限が必要です。
storage.objects.get
storage.objects.list
これらの権限は、事前定義された storage.objectViewer
ロールに含まれています。
また、権限をカスタムロールに追加することも、他の基本ロールに含めることもできます。
サービス アカウントに storage.objectViewer
ロールを付与する手順は、次のとおりです。
出力ファイルを Cloud Storage に書き込む
projects.locations.datasets.fhirStores.rollback
メソッドにはCloud Healthcare サービス エージェントのサービス アカウントに対して、Cloud Storage に出力ファイルを書き込む次の権限が必要です。
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
これらの権限は、事前定義された storage.objectAdmin
ロールに含まれています。
また、権限をカスタムロールに追加することも、他の基本ロールに含めることもできます。
サービス アカウントに storage.objectAdmin
ロールを付与する手順は、次のとおりです。
FHIR ストアの BigQuery 権限
projects.locations.datasets.fhirStores.export
メソッドには、FHIR リソースを BigQuery にエクスポートするための Cloud Healthcare サービス エージェントのサービス アカウントに対する追加の権限が必要です。また、BigQuery データセットに対する WRITER
アクセス権を Cloud Healthcare サービス エージェントのサービス アカウントに付与する必要があります。
Cloud Healthcare サービス エージェントのサービス アカウントに対する権限の付与
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。
サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - 役割に一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、BigQuery データ編集者と BigQuery ジョブユーザーの役割を検索します。
- 各役割を選択し、[保存] をクリックします。
bigquery.dataEditor
とbigquery.jobUser
の役割が、サービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
roles/bigquery.dataEditor
ロールを付与します。後述のコマンドデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- PROJECT_NUMBER: Google Cloud プロジェクトの数
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.dataEditor
Windows(PowerShell)
gcloud projects add-iam-policy-binding PROJECT_ID ` --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ` --role=roles/bigquery.dataEditor
Windows(cmd.exe)
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^ --role=roles/bigquery.dataEditor
次のようなレスポンスが返されます。
Updated IAM policy for project [PROJECT_ID]. bindings: ... - members: - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com role: roles/bigquery.dataEditor ... etag: ETAG version: VERSION
roles/bigquery.jobUser
ロールを付与します。後述のコマンドデータを使用する前に、次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID
- PROJECT_NUMBER: Google Cloud プロジェクトの数
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/bigquery.jobUser
Windows(PowerShell)
gcloud projects add-iam-policy-binding PROJECT_ID ` --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ` --role=roles/bigquery.jobUser
Windows(cmd.exe)
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com ^ --role=roles/bigquery.jobUser
次のようなレスポンスが返されます。
Updated IAM policy for project [PROJECT_ID]. bindings: ... - members: - serviceAccount:service-NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com role: roles/bigquery.jobUser ... etag: ETAG version: VERSION
WRITER
に対する BigQuery データセットへのアクセス権の付与
プロジェクトのサービス アカウントに bigquery.dataEditor
と bigquery.jobUser
のロールを追加した場合、すべての BigQuery データセットに対する WRITER
アクセス権が付与されます。ただし、これらのロールを追加していない状態で単一の BigQuery データセットに対する WRITER
アクセス権が必要な場合は、そのデータセットのみに対する WRITER
アクセス権を付与できます。WRITER
に BigQuery データセットへのアクセス権を付与するには、次の手順をおこないます。- データセットへのアクセスの制御に移動します。
- 使用可能ないずれかの方法で、Cloud Healthcare サービス エージェントのメールアドレス
WRITER
に BigQuery データセットへのアクセス権を付与します (末尾が@gcp-sa-healthcare.iam.gserviceaccount.com
のメールアドレスを探します)。
たとえば、Cloud Healthcare サービス エージェントのメールアドレスが service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
で、BigQuery ウェブ UI を使用している場合は、次のようになります。
- コンソールの手順に従います。
- [プリンシパルを追加] フィールドに「
service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
」と入力し、bigquery.dataEditor
役割を選択します。
HL7v2 ストアの Cloud Storage 権限
projects.locations.datasets.hl7V2Stores.import
メソッドと projects.locations.datasets.hl7V2Stores.export
メソッドでは、HL7v2 メッセージを Cloud Storage からインポートし、Cloud Storage にエクスポートでするために、Cloud Healthcare サービス エージェントサービス アカウントに対する追加の権限が必要です。
アプリケーションが実行するアクションに基づいて、サービス アカウントに必要な権限を決定します。
- アプリケーションで Cloud Storage から HL7v2 ストアに HL7v2 メッセージをインポートする場合、サービス アカウントには
storage.objects.get
権限とstorage.objects.list
権限が必要です。これらの権限はstorage.objectViewer
ロールに含まれています。 - アプリケーションで HL7v2 ストアから Cloud Storage に HL7v2 メッセージをエクスポートする場合、サービス アカウントには
storage.objects.create
、storage.objects.delete
、storage.objects.list
の権限が必要です。これらの権限はstorage.objectCreator
ロールに含まれています。
Cloud Storage からの HL7v2 メッセージのインポート
Google Cloud Console または gcloud CLI を使用して、必要なstorage.objectViewer
ロールをプロジェクトのアカウントに追加できます。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。
サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - 役割に一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト閲覧者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectViewer
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectViewer
Cloud Storage への HL7v2 メッセージのエクスポート
Google Cloud Console または gcloud CLI を使用して、必要な storage.objectCreator
ロールをプロジェクトのサービス アカウントに追加できます。
Console
- Cloud Healthcare API が有効になっていることを確認します。
- Google Cloud コンソールの IAM ページで、Cloud Healthcare サービス エージェントのサービス アカウントの [ロール] 列に [Healthcare サービス エージェント] が表示されていることを確認します。サービス アカウント ID は
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
です。 - ロールに一致する [継承] 列で、鉛筆アイコンをクリックします。[権限の編集] ペインが開きます。
- [別の役割を追加] をクリックし、ストレージ オブジェクト作成者の役割を検索します。
- 役割を選択し、[保存] をクリックします。
storage.objectCreator
役割がサービス アカウントに追加されます。
gcloud
サービス アカウントの権限を追加するには、gcloud projects add-iam-policy-binding
コマンドを実行します。PROJECT_ID と PROJECT_NUMBER を見つけるには、プロジェクトの識別をご覧ください。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \ --role=roles/storage.objectCreator