Como gerenciar permissões entre a API Cloud Healthcare e outros produtos do Google Cloud

A API Cloud Healthcare não tem acesso automático a outros recursos do Google Cloud no projeto, como buckets do Cloud Storage e conjuntos de dados do BigQuery. Ao acessar esses recursos, a API Cloud Healthcare usa uma conta de serviço gerenciada pelo Google chamada Agente de serviço do Cloud Healthcare.

Para realizar operações como notificar tópicos do Pub/Sub sobre alterações, importar dados de buckets do Cloud Storage, exportar dados para conjuntos de dados do BigQuery e assim por diante, primeiro conceda à conta de serviço as permissões de gerenciamento de identidade e acesso (IAM) necessárias para acessar o recursos fora da API Cloud Healthcare. Esta página descreve quais permissões são necessárias para as várias operações e como concedê-las.

Para saber mais sobre como usar o IAM para configurar permissões na API Cloud Healthcare, consulte Controle de acesso.

O Agente de serviço do Cloud Healthcare

A conta de serviço Agente de serviço do Cloud Healthcare é criada automaticamente quando você ativa a API Cloud Healthcare. O nome do membro é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com. Para encontrar o PROJECT_NUMBER do seu projeto do Google Cloud, consulte Como identificar projetos.

Para informações detalhadas sobre a conta de serviço do Agente de serviço da Cloud Healthcare, como os papéis que foram concedidos na página gerenciamento de identidade e acesso no Console do Google Cloud.

Para saber mais sobre o Agente de serviço do Cloud Healthcare e a interação com papéis e permissões do gerenciamento de identidade e acesso (IAM), consulte Controle de acesso.

Permissões do Pub/Sub para armazenamento DICOM, FHIR e HL7v2

As alterações nos armazenamentos DICOM, FHIR e HL7v2 podem ser enviadas para um tópico do Pub/Sub. Para saber como fazer isso, consulte Como usar o Cloud Pub/Sub para notificações.

Os métodos nesses armazenamentos exigem permissões adicionais na conta de serviço Agente de serviço do Cloud Healthcare para publicar alterações em um tópico do Pub/Sub.

Use o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel pubsub.publisher necessário à conta de serviço do seu projeto:

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do Agente de serviço da Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Editor do Pub/Sub.
  5. Selecione o papel e clique em Salvar. O papel pubsub.publisher é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/pubsub.publisher

Permissões do Cloud Storage para armazenamento DICOM

Os métodos projects.locations.datasets.dicomStores.import e projects.locations.datasets.dicomStores.export exigem permissões adicionais na conta de serviço Agente de serviço do Cloud Healthcare para importar e exportar dados para o Cloud Storage.

Como importar dados do Cloud Storage

Você pode usar o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectViewer necessário à conta de serviço do seu projeto.

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Visualizador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectViewer é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Como exportar dados para o Cloud Storage

Use o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectAdmin necessário à conta de serviço do seu projeto:

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Administrador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectAdmin é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectAdmin

Permissões do BigQuery para armazenamento DICOM

O método projects.locations.datasets.dicomStores.export requer permissões adicionais na conta de serviço Agente de serviço do Cloud Healthcare para exportar metadados do DICOM para o BigQuery. Você também precisa conceder acesso WRITER para o conjunto de dados do BigQuery à conta de serviço Agente de serviço do Cloud Healthcare.

Como conceder permissões à conta de serviço Agente de serviço do Cloud Healthcare

Você pode usar o Console do Google Cloud ou a ferramenta gcloud para adicionar os papéis bigquery.dataEditor e bigquery.jobUser necessários à conta de serviço do seu projeto.

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise os papéis Editor de dados do BigQuery e Usuário do job do BigQuery.
  5. Selecione cada papel e clique em Salvar. Em seguida, os papéis bigquery.dataEditor e bigquery.jobUser são adicionados à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.dataEditor
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.jobUser

Como conceder acesso WRITER ao conjunto de dados do BigQuery

Se você adicionou os papéis bigquery.dataEditor e bigquery.jobUser à conta de serviço do seu projeto, terá acesso de WRITER para todos os conjuntos de dados do BigQuery. No entanto, se você não adicionou esses papéis e precisar de acesso WRITER a um único conjunto de dados do BigQuery, pode conceder acesso WRITER apenas para esse conjunto de dados. Para conceder acesso WRITER a um conjunto de dados do BigQuery, conclua as etapas a seguir:
  1. Navegue até Como controlar o acesso a um conjunto de dados.
  2. Usando um dos métodos disponíveis, conceda ao endereço de e-mail do Agente de serviço do Cloud Healthcare o acesso WRITER ao conjunto de dados do BigQuery. Procure o endereço de e-mail que termina com @gcp-sa-healthcare.iam.gserviceaccount.com.

Por exemplo, se o endereço de e-mail do Agente de serviço do Cloud Healthcare for service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com e, se você estiver usando a IU da Web do BigQuery:

  1. Siga as instruções do Console.
  2. No campo Adicionar principais, digite service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com e selecione o papel bigquery.dataEditor.

Como exportar metadados do DICOM entre projetos do Google Cloud

Para exportar metadados do DICOM de um armazenamento DICOM em um projeto para uma tabela do BigQuery em um projeto diferente, adicione a conta de serviço Agente de serviço do Cloud Healthcare ao projeto de destino e conceda a essa conta os papéis bigquery.dataEditor e bigquery.jobUser no projeto de destino.

Para encontrar a conta de serviço Agente de serviço do Cloud Healthcare do projeto de origem, siga estas etapas:

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do Agente de serviço da Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com. Anote esse endereço no projeto de origem, pois ele será usado nas etapas a seguir.

Adicione a conta de serviço Agente de serviço do Cloud Healthcare do projeto de origem ao projeto de destino e conceda a essa conta as permissões necessárias do BigQuery seguindo estas etapas:

Console

  1. Abra a página do IAM do projeto de destino no Console do Google Cloud.
  2. Clique em Add.
  3. No campo Novos membros, digite o endereço da conta de serviço Agente de serviço do Cloud Healthcare do projeto de origem.
  4. Clique em Adicionar outro papel e pesquise os papéis Editor de dados do BigQuery e Usuário do job do BigQuery.
  5. Selecione o papel e clique em Salvar. A conta de serviço Agente de serviço do Cloud Healthcare do projeto de origem agora tem os papéis bigquery.dataEditor e bigquery.jobUser no projeto de destino.

gcloud

Para adicionar a conta de serviço Agente de serviço do Cloud Healthcare do projeto de origem ao projeto de destino e conceder a essa conta as permissões necessárias do BigQuery, execute o comando gcloud projects add-iam-policy-binding. Para encontrar o ID e o número dos projetos de origem e de destino, consulte Como identificar projetos.

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

Conclua as etapas em Como conceder acesso WRITER ao conjunto de dados do BigQuery para permitir que o projeto de origem grave no conjunto de dados de destino.

Permissões do Cloud Storage para armazenamento FHIR

Os métodos projects.locations.datasets.fhirStores.import e projects.locations.datasets.fhirStores.export exigem permissões adicionais na conta de serviço Agente de serviço do Cloud Healthcare para importar e exportar recursos do FHIR para o Cloud Storage.

Determine as permissões exigidas pela conta de serviço com base nas ações que o aplicativo executa:

  • Se o aplicativo importar recursos do FHIR do Cloud Storage para um armazenamento FHIR, a conta de serviço exigirá as permissões storage.objects.get e storage.objects.list, que estão incluídas no papel storage.objectViewer.
  • Se o aplicativo exportar recursos do FHIR de um armazenamento FHIR para o Cloud Storage, a conta de serviço exigirá as permissões storage.objects.create, storage.objects.delete e storage.objects.list, que estão incluídas no papel storage.objectAdmin.

Como importar recursos do FHIR do Cloud Storage

Você pode usar o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectViewer necessário à conta de serviço do seu projeto.

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Visualizador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectViewer é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Como exportar recursos do FHIR para o Cloud Storage

Use o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectAdmin necessário à conta de serviço do seu projeto:

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Criador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectAdmin é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectAdmin

Permissões do BigQuery para armazenamento FHIR

O método projects.locations.datasets.fhirStores.export requer permissões adicionais na conta de serviço Agente de serviço do Cloud Healthcare para exportar recursos do FHIR para o BigQuery. Você também precisa conceder acesso WRITER para o conjunto de dados do BigQuery à conta de serviço Agente de serviço do Cloud Healthcare.

Como conceder permissões à conta de serviço Agente de serviço do Cloud Healthcare

Você pode usar o Console do Google Cloud ou a ferramenta gcloud para adicionar os papéis bigquery.dataEditor e bigquery.jobUser necessários à conta de serviço do seu projeto.

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise os papéis Editor de dados do BigQuery e Usuário do job do BigQuery.
  5. Selecione cada papel e clique em Salvar. Em seguida, os papéis bigquery.dataEditor e bigquery.jobUser são adicionados à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.dataEditor
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/bigquery.jobUser

Como conceder acesso WRITER ao conjunto de dados do BigQuery

Se você adicionou os papéis bigquery.dataEditor e bigquery.jobUser à conta de serviço do seu projeto, terá acesso de WRITER para todos os conjuntos de dados do BigQuery. No entanto, se você não adicionou esses papéis e precisar de acesso WRITER a um único conjunto de dados do BigQuery, pode conceder acesso WRITER apenas para esse conjunto de dados. Para conceder acesso WRITER a um conjunto de dados do BigQuery, conclua as etapas a seguir:
  1. Navegue até Como controlar o acesso a um conjunto de dados.
  2. Usando um dos métodos disponíveis, conceda ao endereço de e-mail do Agente de serviço do Cloud Healthcare o acesso WRITER ao conjunto de dados do BigQuery. Procure o endereço de e-mail que termina com @gcp-sa-healthcare.iam.gserviceaccount.com.

Por exemplo, se o endereço de e-mail do Agente de serviço do Cloud Healthcare for service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com e, se você estiver usando a IU da Web do BigQuery:

  1. Siga as instruções do Console.
  2. No campo Adicionar principais, digite service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com e selecione o papel bigquery.dataEditor.

O HL7v2 armazena permissões do Cloud Storage

Os métodos projects.locations.datasets.hl7V2Stores.import e projects.locations.datasets.hl7V2Stores.export exigem outras permissões na conta de serviço do Agente de serviço do Cloud Healthcare para importar e exportar mensagens HL7v2 de e para o Cloud Storage.

Determine as permissões exigidas pela conta de serviço com base nas ações que o aplicativo executa:

  • Se o aplicativo importar mensagens HL7v2 do Cloud Storage para um armazenamento HL7v2, a conta de serviço exigirá as permissões storage.objects.get e storage.objects.list, incluídas no papel storage.objectViewer.
  • Se o aplicativo exportar mensagens HL7v2 de um armazenamento HL7v2 para o Cloud Storage, a conta de serviço exigirá as permissões storage.objects.create, storage.objects.delete e storage.objects.list, incluídas no papel storage.objectCreator.

Como importar mensagens HL7v2 do Cloud Storage

Você pode usar o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectViewer necessário à conta de serviço do seu projeto.

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Visualizador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectViewer é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Como exportar mensagens HL7v2 para o Cloud Storage

Use o Console do Google Cloud ou a ferramenta gcloud para adicionar o papel storage.objectCreator necessário à conta de serviço do seu projeto:

Console

  1. Verifique se você ativou a API Cloud Healthcare.
  2. Na página do IAM no Console do Google Cloud, verifique se o papel Agente de serviço da Healthcare aparece na coluna Papel da conta de serviço do agente de serviço do Cloud Healthcare. O identificador da conta de serviço é service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. Na coluna Herança que corresponde ao papel, clique no ícone de lápis. O painel Editar permissões é aberto.
  4. Clique em Adicionar outro papel e pesquise o papel Criador de objetos do Storage.
  5. Selecione o papel e clique em Salvar. O papel storage.objectCreator é adicionado à conta de serviço.

gcloud

Para adicionar as permissões da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Para encontrar PROJECT_ID e PROJECT_NUMBER, consulte Como identificar projetos.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectCreator