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