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 un agente de servicio llamado 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 después de que 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 los roles que se le otorgaron, en la página de administración de identidades y accesos en la consola de Google Cloud.

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.

Permisos de CMEK del conjunto de datos

Puedes usar una clave de encriptación administrada por el cliente (CMEK) cuando creas un conjunto de datos de la API de Cloud Healthcare. Para permitir que la cuenta de servicio del agente de servicio de Cloud Healthcare encripte y desencripte objetos con la clave de CMEK, otorga a la cuenta de servicio el rol de encriptador/desencriptador de CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter).

Console

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Selecciona la casilla de verificación Incluir asignaciones de roles proporcionadas por Google.

  3. Asegúrate de que la pestaña Ver por principales esté seleccionada. Ubica la fila que contiene la cuenta de servicio del Agente de servicios de Cloud Healthcare y haz clic en Editar principal en esa fila. Se mostrará el panel Editar permisos.

  4. Haz clic en Agregar otro rol.

  5. En el menú desplegable Seleccionar un rol, busca Encriptador/desencriptador de CryptoKey y haz clic en él.

  6. Haz clic en Guardar.

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. Para obtener más información, 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.

Usa la consola de Google Cloud o gcloud CLI para agregar el rol pubsub.publisher 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 la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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

Configura los permisos de Pub/Sub entre proyectos

Para publicar notificaciones de Pub/Sub en un tema de otro proyecto, otorga el rol pubsub.publisher al Agente de servicios de Cloud Healthcare en el tema. Para obtener más información, consulta Controla el acceso a través de la Consola de Google Cloud y Controla el acceso a través de la API de IAM.

Para ver un ejemplo de cómo publicar notificaciones de Pub/Sub entre proyectos, consulta el caso de uso de muestra: comunicación entre proyectos.

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 la consola de Google Cloud o la CLI de gcloud para agregar el rol storage.objectViewer requerido a la cuenta de servicio de tu proyecto.

Consola

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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 la consola de Google Cloud o la CLI de gcloud para agregar el rol storage.objectAdmin requerido a la cuenta de servicio de tu proyecto:

Consola

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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 la consola de Google Cloud o gcloud CLI para agregar los roles bigquery.dataEditor y bigquery.jobUser requeridos 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 la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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.

  1. Otorga la función roles/bigquery.dataEditor:

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • PROJECT_NUMBER: El número de tu proyecto de Google Cloud

    Ejecuta el siguiente comando:

    Linux, macOS o 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

    Deberías recibir una respuesta similar a la que figura a continuación:

    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
    

  2. Otorga la función roles/bigquery.jobUser:

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • PROJECT_NUMBER: El número de tu proyecto de Google Cloud

    Ejecuta el siguiente comando:

    Linux, macOS o 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

    Deberías recibir una respuesta similar a la que figura a continuación:

    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
    

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 principales, 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 la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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:

Consola

  1. Abre la página de IAM del proyecto de destino en la consola de Google Cloud.
  2. Haga clic en Agregar.
  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

En las siguientes secciones, se describen los métodos de FHIR que requieren permisos adicionales en el agente de servicios de Cloud Healthcare para leer o escribir en Cloud Storage.

Importa recursos de FHIR desde Cloud Storage

El método projects.locations.datasets.fhirStores.import requiere los siguientes permisos en la cuenta de servicio del agente de servicios de Cloud Healthcare:

  • storage.objects.get
  • storage.objects.list

Estos permisos se incluyen en el rol predefinido storage.objectViewer.

También puedes agregar los permisos a un rol personalizado o incluirlos en otros roles básicos.

Puedes usar la consola de Google Cloud o la CLI de gcloud para agregar el rol storage.objectViewer requerido a la cuenta de servicio de tu proyecto.

Consola

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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

Para usar el método projects.locations.datasets.fhirStores.export, se requieren los siguientes permisos en la cuenta de servicio del agente de servicios de Cloud Healthcare:

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

Estos permisos se incluyen en el rol predefinido storage.objectAdmin.

También puedes agregar los permisos a un rol personalizado, o bien pueden incluirse en otros roles básicos.

Para otorgarle el rol storage.objectAdmin a la cuenta de servicio, sigue estos pasos:

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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

Lee archivos de filtro desde Cloud Storage

El método projects.locations.datasets.fhirStores.rollback requiere los siguientes permisos en la cuenta de servicio del agente de servicios de Cloud Healthcare para leer archivos de filtro desde Cloud Storage:

  • storage.objects.get
  • storage.objects.list

Estos permisos se incluyen en el rol predefinido storage.objectViewer.

También puedes agregar los permisos a un rol personalizado o incluirlos en otros roles básicos.

Para otorgar el rol storage.objectViewer a la cuenta de servicio, sigue estos pasos:

Escribe archivos de salida en Cloud Storage

El método projects.locations.datasets.fhirStores.rollback requiere los siguientes permisos en la cuenta de servicio del agente de servicios de Cloud Healthcare para escribir archivos de salida en Cloud Storage:

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list

Estos permisos se incluyen en el rol predefinido storage.objectAdmin.

También puedes agregar los permisos a un rol personalizado, o bien pueden incluirse en otros roles básicos.

Para otorgar el rol storage.objectAdmin a la cuenta de servicio, sigue estos pasos:

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

Console

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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.

  1. Otorga la función roles/bigquery.dataEditor:

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • PROJECT_NUMBER: El número de tu proyecto de Google Cloud

    Ejecuta el siguiente comando:

    Linux, macOS o 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

    Deberías recibir una respuesta similar a la que figura a continuación:

    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
    

  2. Otorga la función roles/bigquery.jobUser:

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • PROJECT_IDEl ID de tu proyecto de Google Cloud.
    • PROJECT_NUMBER: El número de tu proyecto de Google Cloud

    Ejecuta el siguiente comando:

    Linux, macOS o 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

    Deberías recibir una respuesta similar a la que figura a continuación:

    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
    

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 principales, ingresa service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y selecciona la función bigquery.dataEditor.

Permisos de Cloud Storage del almacén HL7v2

Los métodos projects.locations.datasets.hl7V2Stores.import y projects.locations.datasets.hl7V2Stores.export requieren permisos adicionales en la cuenta de servicio del agente del servicio de Cloud Healthcare para importar mensajes HL7v2 desde Cloud Storage y exportar mensajes HL7v2 hacia allí

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

  • Si la aplicación importa mensajes HL7v2 de Cloud Storage a un almacén HL7v2, 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 mensajes HL7v2 de un almacén HL7v2 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.objectCreator.

Importar mensajes HL7v2 desde Cloud Storage

Puedes usar la consola de Google Cloud o la CLI de gcloud para agregar el rol storage.objectViewer requerido a la cuenta de servicio de tu proyecto.

Consola

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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 

Exportar mensajes HL7v2 a Cloud Storage

Puedes usar la consola de Google Cloud o la CLI de gcloud para agregar el rol storage.objectCreator requerido a la cuenta de servicio de tu proyecto:

Consola

  1. Asegúrate de haber habilitado la API de Cloud Healthcare.
  2. En la página IAM en la consola de Google Cloud, verifica que el rol Agente de servicio de Healthcare aparezca en la columna Rol de la cuenta de servicio del agente de servicio de Cloud Healthcare. El identificador de 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.objectCreator 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.objectCreator