Administra permisos entre la API de Cloud Healthcare y otros productos de Google Cloud

La API de Cloud Healthcare no tiene acceso automático a otros recursos de Google Cloud en tu proyecto, como los depósitos de Cloud Storage y los conjuntos de datos de BigQuery. Cuando accedes a estos recursos, la API de Cloud Healthcare usa una cuenta de servicio administrada por Google que se denomina como el agente de servicios de Cloud Healthcare.

Para realizar operaciones como la notificación de cambios en temas de Pub/Sub, la importación de datos desde depósitos de Cloud Storage, la exportación de datos a conjuntos de datos de BigQuery, etc., primero debes otorgar a la cuenta de servicio la permisos de administración de identidades y accesos (IAM) necesarios para acceder a los recursos fuera de la API de Cloud Healthcare. En esta página, se describe qué permisos son necesarios para varias operaciones y cómo otorgarlos.

Para obtener más información sobre el uso de IAM a fin de configurar permisos dentro de la API de Cloud Healthcare, consulta Control de acceso.

El agente de servicios de Cloud Healthcare

La cuenta de servicio del agente de servicios de Cloud Healthcare se crea automáticamente cuando habilitas la API de Cloud Healthcare. Su nombre de miembro es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com. Para encontrar el PROJECT_NUMBER de tu proyecto de Google Cloud, consulta Identifica proyectos.

Puedes ver la información detallada sobre la cuenta de servicio del Agente de servicio de Cloud Healthcare, como las funciones que se otorgaron, en la página de administración de identidades y accesos en Google Cloud Console.

Para obtener más información sobre el Agente de servicio de Cloud Healthcare y su interacción con las funciones y los permisos de administración de identidades y accesos (IAM), consulta Control de acceso.

Los permisos de Pub/Sub de la tienda de DICOM, FHIR y HL7v2

Los cambios en las tiendas de DICOM, FHIR y HL7v2 se pueden enviar a un tema de Pub/Sub. Si deseas obtener información sobre cómo hacerlo, consulta Cómo usar Cloud Pub/Sub para las notificaciones.

Los métodos dentro de estas tiendas requieren permisos adicionales en la cuenta de servicio del agente de servicios de Cloud Healthcare para publicar cambios en un tema de Pub/Sub.

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función pubsub.publisher requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en Google Cloud Console, verifica que la función Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del Agente de servicios de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Publicador de Pub/Sub.
  5. Selecciona la función y haz clic en Guardar. La función pubsub.publisher se agrega a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.

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

Permisos de Cloud Storage de la tienda de DICOM

Los métodos projects.locations.datasets.dicomStores.import y projects.locations.datasets.dicomStores.export requieren permisos adicionales en la cuenta de servicio del agente de servicios de Cloud Healthcare para importar y exportar datos a Cloud Storage.

Importa datos desde Cloud Storage

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función storage.objectViewer requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página de IAM en Google Cloud Console, verifica que la función de Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicio de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Visor de objetos de almacenamiento.
  5. Selecciona la función y haz clic en Guardar. Luego, se agrega la función storage.objectViewer a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Exporta datos a Cloud Storage

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función storage.objectAdmin requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en Google Cloud Console, verifica que la función Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicios de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Administrador de objetos de almacenamiento.
  5. Selecciona la función y haz clic en Guardar. Luego, se agrega la función storage.objectAdmin a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.

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

Permisos de BigQuery de la tienda de DICOM

El método projects.locations.datasets.dicomStores.export requiere permisos adicionales en la cuenta de servicio del agente de servicios de Cloud Healthcare para exportar metadatos de DICOM a BigQuery. También debes otorgarle acceso de WRITER para el conjunto de datos de BigQuery a la cuenta de servicio del agente de servicios de Cloud Healthcare.

Otorga permisos a la cuenta de servicio del agente de servicios de Cloud Healthcare

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar las funciones bigquery.dataEditor y bigquery.jobUser necesarias a la cuenta de servicio de tu proyecto.

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página de IAM en Google Cloud Console, verifica que la función de Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicio de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca las funciones de Editor de datos de BigQuery y de Usuario de trabajo de BigQuery.
  5. Selecciona cada función y, luego, haz clic en Guardar. Luego, las funciones bigquery.dataEditor y bigquery.jobUser se agregan a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.
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

Otorga acceso de WRITER al conjunto de datos de BigQuery

Si agregaste las funciones bigquery.dataEditor y bigquery.jobUser a la cuenta de servicio de tu proyecto, tendrás acceso de WRITER para todos los conjuntos de datos de BigQuery. Sin embargo, si no agregaste estas funciones y necesitas acceso de WRITER a un único conjunto de datos de BigQuery, puedes otorgar acceso de WRITER solo para ese conjunto de datos. Para otorgar acceso de WRITER al conjunto de datos de BigQuery, completa los siguientes pasos:
  1. Navega hasta Control de acceso a un conjunto de datos.
  2. Mediante uno de los métodos disponibles, otorga a la dirección de correo electrónico del agente de servicios de Cloud Healthcare acceso de WRITER al conjunto de datos de BigQuery. (Busca la dirección de correo electrónico que termina en @gcp-sa-healthcare.iam.gserviceaccount.com).

Por ejemplo, si la dirección de correo electrónico de tu agente de servicios de Cloud Healthcare es service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y si usas la IU web de BigQuery, deberías hacer lo siguiente:

  1. Sigue las instrucciones de Console.
  2. En el campo Agregar miembros, ingresa service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y selecciona la función bigquery.dataEditor.

Exporta metadatos de DICOM en proyectos de Google Cloud

Para exportar metadatos de DICOM de una tienda de DICOM en un proyecto a una tabla de BigQuery en otro proyecto, debes agregar la cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen al proyecto destino y otorgar a la cuenta de servicio las funciones bigquery.dataEditor y bigquery.jobUser en el proyecto de destino.

Para encontrar la cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen, completa los siguientes pasos:

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en Google Cloud Console, verifica que la función Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicios de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com. Anota esta dirección en el proyecto de origen, ya que se usará en los siguientes pasos.

Agrega la cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen al proyecto de destino y otorga a la cuenta de servicio los permisos de BigQuery necesarios mediante los siguientes pasos:

Console

  1. Abre la página IAM del proyecto de destino en Google Cloud Console.
  2. Haga clic en Add.
  3. En el campo Nuevos miembros, ingresa la dirección de la cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen.
  4. Haz clic en Agregar otra función y, luego, busca las funciones de Editor de datos de BigQuery y de Usuario de trabajo de BigQuery.
  5. Selecciona la función y haz clic en Guardar. La cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen ahora tiene las funciones bigquery.dataEditor y bigquery.jobUser en el proyecto de destino.

gcloud

Para agregar la cuenta de servicio del agente de servicios de Cloud Healthcare del proyecto de origen al proyecto de destino y otorgar a la cuenta de servicio los permisos de BigQuery necesarios, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar el ID y el número de tus proyectos de origen y destino, consulta Identifica proyectos.

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

Completa los pasos en Otorga acceso de WRITER al conjunto de datos de BigQuery para permitir que el proyecto de origen escriba en el conjunto de datos de destino.

Permisos de Cloud Storage de la tienda de FHIR

Los métodos projects.locations.datasets.fhirStores.import y projects.locations.datasets.fhirStores.export requieren permisos adicionales en la cuenta de servicio del agente de servicios de Cloud Healthcare para importar y exportar recursos de FHIR a Cloud Storage.

Determina los permisos que requiere la cuenta de servicio según las acciones que realiza la aplicación:

  • Si la aplicación importa recursos de FHIR de Cloud Storage a una tienda de FHIR, la cuenta de servicio requiere los permisos storage.objects.get y storage.objects.list, que se incluyen en la función storage.objectViewer.
  • Si la aplicación exporta recursos de FHIR de una tienda de FHIR a Cloud Storage, la cuenta de servicio requiere los permisos storage.objects.create, storage.objects.delete y storage.objects.list, que se incluyen en la función storage.objectAdmin.

Importa recursos de FHIR desde Cloud Storage

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función storage.objectViewer requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página de IAM en Google Cloud Console, verifica que la función de Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicio de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Visor de objetos de almacenamiento.
  5. Selecciona la función y haz clic en Guardar. Luego, se agrega la función storage.objectViewer a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

Exporta recursos de FHIR a Cloud Storage

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función storage.objectAdmin requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en Google Cloud Console, verifica que la función Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicios de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Creador de objetos de almacenamiento.
  5. Selecciona la función y haz clic en Guardar. Luego, se agrega la función storage.objectAdmin a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.

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

Permisos de BigQuery de la tienda de FHIR

El método projects.locations.datasets.fhirStores.export requiere permisos adicionales en la cuenta de servicio del agente de servicios de Cloud Healthcare para exportar recursos de FHIR a BigQuery. También debes otorgarle acceso de WRITER para el conjunto de datos de BigQuery a la cuenta de servicio del agente de servicios de Cloud Healthcare.

Otorga permisos a la cuenta de servicio del agente de servicios de Cloud Healthcare

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar las funciones bigquery.dataEditor y bigquery.jobUser necesarias a la cuenta de servicio de tu proyecto.

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página de IAM en Google Cloud Console, verifica que la función de Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicio de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca las funciones de Editor de datos de BigQuery y de Usuario de trabajo de BigQuery.
  5. Selecciona cada función y, luego, haz clic en Guardar. Luego, las funciones bigquery.dataEditor y bigquery.jobUser se agregan a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.
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

Otorga acceso de WRITER al conjunto de datos de BigQuery

Si agregaste las funciones bigquery.dataEditor y bigquery.jobUser a la cuenta de servicio de tu proyecto, tendrás acceso de WRITER para todos los conjuntos de datos de BigQuery. Sin embargo, si no agregaste estas funciones y necesitas acceso de WRITER a un único conjunto de datos de BigQuery, puedes otorgar acceso de WRITER solo para ese conjunto de datos. Para otorgar acceso de WRITER al conjunto de datos de BigQuery, completa los siguientes pasos:
  1. Navega hasta Control de acceso a un conjunto de datos.
  2. Mediante uno de los métodos disponibles, otorga a la dirección de correo electrónico del agente de servicios de Cloud Healthcare acceso de WRITER al conjunto de datos de BigQuery. (Busca la dirección de correo electrónico que termina en @gcp-sa-healthcare.iam.gserviceaccount.com).

Por ejemplo, si la dirección de correo electrónico de tu agente de servicios de Cloud Healthcare es service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y si usas la IU web de BigQuery, deberías hacer lo siguiente:

  1. Sigue las instrucciones de Console.
  2. En el campo Agregar miembros, ingresa service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y selecciona la función bigquery.dataEditor.

Permisos de Cloud Storage del almacén HL7v2

El método projects.locations.datasets.hl7V2Stores.import requiere que la función storage.objectViewer se otorgue a la cuenta de servicio para importar mensajes de HL7v2 de Cloud Storage.

Puedes usar Google Cloud Console o la herramienta de gcloud para agregar la función storage.objectViewer requerida a la cuenta de servicio de tu proyecto:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página de IAM en Google Cloud Console, verifica que la función de Agente de servicio de Healthcare aparezca en la columna Función de la cuenta de servicio del agente de servicio de Cloud Healthcare. El miembro de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con la función, haz clic en el ícono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Agregar otra función y, luego, busca la función de Visor de objetos de almacenamiento.
  5. Selecciona la función y haz clic en Guardar. Luego, se agrega la función storage.objectViewer a la cuenta de servicio.

gcloud

Para agregar los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar los valores de PROJECT_ID y PROJECT_NUMBER, consulta cómo identificar proyectos.
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer 

El método projects.locations.datasets.consentStores.queryAccessibleData requiere permisos adicionales en la cuenta de servicio del agente de servicio de Cloud Healthcare para escribir los resultados de la consulta en una ubicación en Cloud Storage. Debes otorgar la función roles/storage.objectAdmin a la cuenta de servicio del agente de servicio de Cloud Healthcare.