Cloud Healthcare API 無法自動存取專案中的其他Google Cloud 資源,例如 Cloud Storage 值區和 BigQuery 資料集。存取這些資源時,Cloud Healthcare API 會使用稱為「Cloud Healthcare 服務代理程式」的服務代理程式。
如要執行作業 (例如通知 Pub/Sub 主題變更、從 Cloud Storage 值區匯入資料、將資料匯出至 BigQuery 資料集等),您必須先授予服務帳戶必要的 Identity and Access Management (IAM) 權限,才能存取 Cloud Healthcare API 以外的資源。本頁面說明各種作業所需的權限,以及如何授予權限。
如要進一步瞭解如何使用 IAM 在 Cloud Healthcare API 中設定權限,請參閱「存取權控管」。
Cloud Healthcare 服務代理人
啟用 Cloud Healthcare API 後,系統會自動建立 Cloud Healthcare 服務代理人 服務帳戶。其成員名稱為 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。如要找出專案的 PROJECT_NUMBER Google Cloud ,請參閱「識別專案」。
您可以在Google Cloud 控制台的「身分與存取權管理」頁面,查看Cloud Healthcare 服務代理人服務帳戶的詳細資訊,例如已授予的角色。
如要進一步瞭解 Cloud Healthcare 服務代理程式,以及該代理程式與 Identity and Access Management (IAM) 角色和權限的互動方式,請參閱存取權控管。
資料集 CMEK 權限
您可以在建立 Cloud Healthcare API 資料集時使用客戶自行管理的加密金鑰 (CMEK)。如要讓 Cloud Healthcare Service Agent 服務帳戶使用 CMEK 金鑰加密及解密物件,請將CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter
) 角色授予該服務帳戶。
控制台
前往 Google Cloud 控制台的「IAM」頁面。
選取「包含 Google 提供的角色授權」
核取方塊。確認已選取「依主體檢視」分頁標籤。找出包含「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理) 服務帳戶的資料列,然後點選該列中的
「Edit principal」(編輯主體)。系統會顯示「編輯權限」窗格。按一下
「Add another role」(新增其他角色)。在「Select a role」(選取角色) 下拉式選單中,搜尋並點按「CryptoKey Encrypter/Decrypter」(加密編譯金鑰加密者/解密者)。
按一下 [儲存]。
DICOM、FHIR 和 HL7v2 儲存庫的 Pub/Sub 權限
DICOM、FHIR 和 HL7v2 儲存庫中的變更可以傳送至 Pub/Sub 主題。詳情請參閱「使用 Cloud Pub/Sub 接收通知」。
這些存放區中的方法需要 Cloud Healthcare 服務代理人服務帳戶的額外權限,才能將變更發布至 Pub/Sub 主題。
使用 Google Cloud 控制台或 gcloud CLI,將 pubsub.publisher
角色新增至專案的服務帳戶:
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Pub/Sub 發布者」角色。
- 選取角色,然後點選 [Save] (儲存)。
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 通知發布至其他專案中的主題,請將主題的 pubsub.publisher
角色授予 Cloud Healthcare 服務代理服務帳戶。詳情請參閱「透過 Google Cloud 控制台控管存取權」和「透過 IAM API 控管存取權」。
如要查看在專案之間發布 Pub/Sub 通知的範例,請參閱用途範例:跨專案通訊。
DICOM 儲存庫 Cloud Storage 權限
projects.locations.datasets.dicomStores.import
和 projects.locations.datasets.dicomStores.export
方法需要 Cloud Healthcare Service Agent 服務帳戶的額外權限,才能從 Cloud Storage 匯入資料,以及將資料匯出至 Cloud Storage。
從 Cloud Storage 匯入資料
您可以使用 Google Cloud 控制台或 gcloud CLI,將必要的storage.objectViewer
角色新增至專案的服務帳戶。控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中,是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。 「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Storage 物件檢視者」角色。
- 選取角色,然後點選 [Save] (儲存)。系統會將
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 控制台或 gcloud CLI,將必要的 storage.objectAdmin
角色新增至專案的服務帳戶:
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare 服務代理」服務帳戶的「角色」欄中是否顯示「Healthcare 服務代理」角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。「編輯權限」窗格隨即開啟。
- 按一下「Add another role」(新增其他角色),然後搜尋「Storage Object Admin」(Storage 物件管理員) 角色。
- 選取角色,然後點選 [Save] (儲存)。然後將
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
方法需要 Cloud Healthcare Service Agent 服務帳戶的額外權限,才能將 DICOM 中繼資料匯出至 BigQuery。您也必須將 BigQuery 資料集的 WRITER
存取權授予 Cloud Healthcare Service Agent 服務帳戶。
將權限授予 Cloud Healthcare Service Agent 服務帳戶
您可以使用 Google Cloud 控制台或 gcloud CLI,將必要的 bigquery.dataEditor
和 bigquery.jobUser
角色新增至專案的服務帳戶。
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中,是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。 「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「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
存取權。不過,如果您尚未新增這些角色,且需要WRITER
存取單一 BigQuery 資料集,可以只授予該資料集的存取權。WRITER
如要將 BigQuery 資料集的存取權授予 WRITER
,請完成下列步驟:
- 請參閱「控管資料集存取權」。
- 使用其中一種可用方法,將 BigQuery 資料集存取權授予 Cloud Healthcare 服務代理程式的電子郵件地址
WRITER
。(請尋找結尾為@gcp-sa-healthcare.iam.gserviceaccount.com
的電子郵件地址)。
舉例來說,如果您的 Cloud Healthcare Service Agent 電子郵件地址是 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
,且您使用 BigQuery 網頁版 UI,則請按照下列步驟操作:
- 按照 Console 指示操作。
- 在「Add principals」(新增主體) 欄位中輸入
service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
,然後選取bigquery.dataEditor
角色。
跨 Google Cloud 專案匯出 DICOM 中繼資料
如要將一個專案中 DICOM 存放區的 DICOM 中繼資料匯出至另一個專案的 BigQuery 表格,您必須將來源專案的 Cloud Healthcare 服務代理程式服務帳戶新增至目的地專案,並在目的地專案中將 bigquery.dataEditor
和 bigquery.jobUser
角色授予該服務帳戶。
如要找出來源專案的 Cloud Healthcare 服務代理服務帳戶,請完成下列步驟:
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。請記下來源專案中的這個地址,後續步驟會用到。
將來源專案的 Cloud Healthcare 服務代理程式服務帳戶新增至目標專案,然後完成下列步驟,將必要的 BigQuery 權限授予該服務帳戶:
控制台
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
完成「授予 WRITER
BigQuery 資料集存取權」一文中的步驟,允許來源專案寫入目的地資料集。
FHIR 商店 Cloud Storage 權限
以下各節說明需要 Cloud Healthcare Service Agent 具備額外權限的 FHIR 方法,才能從 Cloud Storage 讀取或寫入資料。
從 Cloud Storage 匯入 FHIR 資源
projects.locations.datasets.fhirStores.import
方法需要 Cloud Healthcare 服務代理服務帳戶的下列權限:
storage.objects.get
storage.objects.list
預先定義的 storage.objectViewer
角色包含這些權限。
您也可以將權限新增至自訂角色,或權限可能已包含在其他基本角色中。
您可以使用 Google Cloud 控制台或 gcloud CLI,將必要的storage.objectViewer
角色新增至專案的服務帳戶。控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中,是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。 「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Storage 物件檢視者」角色。
- 選取角色,然後點選 [Save] (儲存)。系統會將
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
將 FHIR 資源匯出至 Cloud Storage
如要使用 projects.locations.datasets.fhirStores.export
方法,您必須對 Cloud Healthcare 服務代理程式服務帳戶具備下列權限:
storage.objects.create
storage.objects.delete
storage.objects.list
預先定義的 storage.objectAdmin
角色包含這些權限。
您也可以將權限新增至自訂角色,或權限可能已包含在其他基本角色中。
如要將 storage.objectAdmin
角色授予服務帳戶,請按照下列步驟操作:
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare 服務代理」服務帳戶的「角色」欄中是否顯示「Healthcare 服務代理」角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Storage 物件建立者」角色。
- 選取角色,然後點選 [Save] (儲存)。然後將
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
方法需要 Cloud Healthcare 服務代理程式服務帳戶的其他權限,才能將 FHIR 資源匯出至 BigQuery。您也必須將 BigQuery 資料集的 WRITER
存取權授予 Cloud Healthcare Service Agent 服務帳戶。
將權限授予 Cloud Healthcare Service Agent 服務帳戶
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中,是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。 「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「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
存取權。不過,如果您尚未新增這些角色,且需要WRITER
存取單一 BigQuery 資料集,可以只授予該資料集的存取權。WRITER
如要將 BigQuery 資料集的存取權授予 WRITER
,請完成下列步驟:
- 請參閱「控管資料集存取權」。
- 使用其中一種可用方法,將 BigQuery 資料集存取權授予 Cloud Healthcare 服務代理程式的電子郵件地址
WRITER
。(請尋找結尾為@gcp-sa-healthcare.iam.gserviceaccount.com
的電子郵件地址)。
舉例來說,如果您的 Cloud Healthcare Service Agent 電子郵件地址是 service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
,且您使用 BigQuery 網頁版 UI,則請按照下列步驟操作:
- 按照 Console 指示操作。
- 在「Add principals」(新增主體) 欄位中輸入
service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com
,然後選取bigquery.dataEditor
角色。
HL7v2 儲存區 Cloud Storage 權限
projects.locations.datasets.hl7V2Stores.import
和 projects.locations.datasets.hl7V2Stores.export
方法需要 Cloud Healthcare 服務代理程式服務帳戶的額外權限,才能從 Cloud Storage 匯入及匯出 HL7v2 訊息。
根據應用程式執行的動作,判斷服務帳戶所需的權限:
- 如果應用程式要將 HL7v2 訊息從 Cloud Storage 匯入 HL7v2 儲存庫,服務帳戶必須具備
storage.objects.get
和storage.objects.list
權限,這些權限包含在storage.objectViewer
角色中。 - 如果應用程式將 HL7v2 訊息從 HL7v2 儲存庫匯出至 Cloud Storage,服務帳戶需要
storage.objects.create
、storage.objects.delete
和storage.objects.list
權限,這些權限包含在storage.objectCreator
角色中。
從 Cloud Storage 匯入 HL7v2 訊息
您可以使用 Google Cloud 控制台或 gcloud CLI,將必要的storage.objectViewer
角色新增至專案的服務帳戶。控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare Service Agent」(Cloud Healthcare 服務代理人) 服務帳戶的「角色」欄中,是否顯示「Healthcare Service Agent」(Healthcare 服務代理人) 角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。 「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Storage 物件檢視者」角色。
- 選取角色,然後點選 [Save] (儲存)。系統會將
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
將 HL7v2 訊息匯出至 Cloud Storage
您可以使用 Google Cloud 控制台或 gcloud CLI,將必要的 storage.objectCreator
角色新增至專案的服務帳戶:
控制台
- 確認您已啟用 Cloud Healthcare API。
- 在 Google Cloud 控制台的「IAM」頁面,確認「Cloud Healthcare 服務代理」服務帳戶的「角色」欄中是否顯示「Healthcare 服務代理」角色。
服務帳戶 ID 為
service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
。 - 在與角色相符的「Inheritance」(繼承) 欄中,點選鉛筆圖示。「編輯權限」窗格隨即開啟。
- 按一下「新增其他角色」,然後搜尋「Storage 物件建立者」角色。
- 選取角色,然後點選 [Save] (儲存)。然後將
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