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

La API Cloud Healthcare no tiene acceso automático a otros recursos de tu proyecto, como los segmentos de Cloud Storage y los conjuntos de datos de BigQuery.Google Cloud Cuando se accede a estos recursos, la API Cloud Healthcare usa un agente de servicio llamado Agente de servicio de Cloud Healthcare.

Para realizar operaciones como notificar cambios a temas de Pub/Sub, importar datos de segmentos de Cloud Storage o exportar datos a conjuntos de datos de BigQuery, entre otras, primero debes conceder a la cuenta de servicio los permisos de Identity and Access Management (IAM) necesarios para acceder a los recursos fuera de la API Cloud Healthcare. En esta página se describen los permisos necesarios para realizar varias operaciones y cómo concederlos.

Para obtener más información sobre el uso de IAM para configurar permisos en la API Cloud Healthcare, consulta el artículo sobre el control de acceso.

Agente de servicio de Cloud Healthcare

La cuenta de servicio del agente de servicio de Cloud Healthcare se crea automáticamente después de habilitar la API Cloud Healthcare. Su nombre de miembro es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com. Para encontrar el PROJECT_NUMBER de tu proyecto Google Cloud , consulta el artículo sobre cómo identificar proyectos.

Puede ver información detallada sobre la cuenta de servicio Agente de servicio de Cloud Healthcare, como los roles que se le han concedido, en la página Gestión de Identidades y Accesos de laGoogle Cloud consola.

Para obtener más información sobre el agente de servicio de Cloud Healthcare y su interacción con los roles y permisos de Gestión de Identidades y Accesos (IAM), consulta el artículo sobre el control de acceso.

Permisos de CMEK de conjuntos de datos

Puedes usar una clave de cifrado gestionada por el cliente (CMEK) cuando creas un conjunto de datos de la API Cloud Healthcare. Para permitir que la cuenta de servicio Agente de servicio de Cloud Healthcare cifre y descifre objetos con la clave CMEK, asigna a la cuenta de servicio el rol Encargado del cifrado y descifrado de la clave criptográfica (roles/cloudkms.cryptoKeyEncrypterDecrypter).

Consola

  1. En la consola, ve a la página Gestión de identidades y accesos. Google Cloud

    Ir a IAM

  2. Selecciona la casilla Incluir concesiones de roles proporcionadas por Google.

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

  4. Haz clic en Añadir otro rol.

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

  6. Haz clic en Guardar.

Permisos de Pub/Sub para almacenes DICOM, FHIR y HL7v2

Los cambios en los almacenes DICOM, FHIR y HL7v2 se pueden enviar a un tema de Pub/Sub. Para obtener más información, consulta Usar Cloud Pub/Sub para notificaciones.

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

Usa la Google Cloud consola o gcloud CLI para añadir el rol pubsub.publisher a la cuenta de servicio de tu proyecto:

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página Gestión de identidades y accesos de la consola de Google Cloud , comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Editor de Pub/Sub.
  5. Selecciona el rol y haz clic en Guardar. El rol pubsub.publisher se añade a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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

Configurar permisos de Pub/Sub entre proyectos

Para publicar notificaciones de Pub/Sub en un tema de otro proyecto, concede a la cuenta de servicio Agente de servicio de Cloud Healthcare el rol pubsub.publisher en el tema. Para obtener más información, consulta Controlar el acceso a través de la consola de Google Cloud y Controlar el acceso a través de la API IAM.

Para ver un ejemplo de publicación de notificaciones de Pub/Sub entre proyectos, consulta el ejemplo de caso práctico de comunicación entre proyectos.

Permisos de Cloud Storage para almacenes 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 servicio de Cloud Healthcare para importar datos desde Cloud Storage y exportarlos a este servicio.

Importar datos desde Cloud Storage

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

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página IAM de la consola, comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. Google Cloud El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Visor de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectViewer se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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 datos a Cloud Storage

Puedes usar la Google Cloud consola o la CLI de gcloud para añadir el rol storage.objectAdmin obligatorio a la cuenta de servicio de tu proyecto:

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página Gestión de identidades y accesos de la consola de Google Cloud , comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Administrador de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectAdmin se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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 para almacenes DICOM

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

Conceder permisos a la cuenta de servicio del agente de servicio de Cloud Healthcare

Puedes usar la Google Cloud consola o la CLI de gcloud para añadir los roles bigquery.dataEditor y bigquery.jobUser obligatorios a la cuenta de servicio de tu proyecto.

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página IAM de la consola, comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. Google Cloud El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca los roles Editor de datos de BigQuery y Usuario de tareas de BigQuery.
  5. Selecciona cada rol y haz clic en Guardar. Los roles bigquery.dataEditor y bigquery.jobUser se añadirán a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre cómo identificar proyectos.

  1. Asigna el rol roles/bigquery.dataEditor:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • PROJECT_NUMBER: el número de tu Google Cloud proyecto

    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 siguiente:

    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. Asigna el rol roles/bigquery.jobUser:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • PROJECT_NUMBER: el número de tu Google Cloud proyecto

    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 siguiente:

    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
    

Conceder acceso WRITER al conjunto de datos de BigQuery

Si has añadido los roles bigquery.dataEditor y bigquery.jobUser a la cuenta de servicio de tu proyecto, tendrás acceso WRITER a todos los conjuntos de datos de BigQuery. Sin embargo, si no has añadido estos roles y necesitas WRITERacceso a un solo conjunto de datos de BigQuery, puedes conceder WRITERacceso solo a ese conjunto de datos. Para conceder acceso a WRITER a un conjunto de datos de BigQuery, sigue estos pasos:
  1. Desplázate a la sección de control del acceso a un conjunto de datos.
  2. Utiliza uno de los métodos disponibles para conceder a la dirección de correo electrónico del agente de servicio de Cloud Healthcare acceso de WRITER al conjunto de datos de BigQuery (busca la dirección de correo que termina en @gcp-sa-healthcare.iam.gserviceaccount.com).

Por ejemplo, si la dirección de correo electrónico del agente de servicio de Cloud Healthcare es service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y estás usando la interfaz de usuario web de BigQuery, haz lo siguiente:

  1. Sigue las instrucciones de Console.
  2. En el campo Añadir principales, introduce service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y selecciona el rol bigquery.dataEditor.

Exportar metadatos DICOM entre Google Cloud proyectos

Para exportar metadatos DICOM de un almacén DICOM de un proyecto a una tabla de BigQuery de otro proyecto, debes añadir la cuenta de servicio Agente de servicio de Cloud Healthcare del proyecto de origen al proyecto de destino y concederle los roles bigquery.dataEditor y bigquery.jobUser en el proyecto de destino.

Para encontrar la cuenta de servicio Agente de servicio de Cloud Healthcare del proyecto de origen, sigue estos pasos:

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página Gestión de identidades y accesos de la consola de Google Cloud , comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. El identificador 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 pasos siguientes.

Añade la cuenta de servicio Agente de servicio de Cloud Healthcare del proyecto de origen al proyecto de destino y concédele los permisos de BigQuery necesarios siguiendo estos pasos:

Consola

  1. Abre la página IAM del proyecto de destino en la consola de Google Cloud .
  2. Haz clic en Añadir.
  3. En el campo Miembros nuevos, introduce la dirección de la cuenta de servicio Agente de servicio de Cloud Healthcare del proyecto de origen.
  4. Haz clic en Añadir otro rol y busca los roles Editor de datos de BigQuery y Usuario de tareas de BigQuery.
  5. Selecciona el rol y haz clic en Guardar. La cuenta de servicio Agente de servicio de Cloud Healthcare del proyecto de origen ahora tiene los roles bigquery.dataEditor y bigquery.jobUser en el proyecto de destino.

gcloud

Para añadir la cuenta de servicio Cloud Healthcare Service Agent del proyecto de origen al proyecto de destino y concederle los permisos de BigQuery necesarios, ejecuta el comando gcloud projects add-iam-policy-binding. Para encontrar el ID y el número de proyecto de los proyectos de origen y de destino, consulta el artículo Identificar 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

Sigue los pasos que se indican en Conceder 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 para almacenes FHIR

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

Importar recursos FHIR desde Cloud Storage

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

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

Estos permisos están incluidos en el rol predefinido storage.objectViewer.

También puedes añadir los permisos a un rol personalizado o puede que estén incluidos en otros roles básicos.

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

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página IAM de la consola, comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. Google Cloud El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Visor de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectViewer se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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 recursos FHIR a Cloud Storage

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

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

Estos permisos están incluidos en el rol predefinido storage.objectAdmin.

También puedes añadir los permisos a un rol personalizado o puede que estén incluidos en otros roles básicos.

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

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página Gestión de identidades y accesos de la consola de Google Cloud , comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Creador de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectAdmin se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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

Leer archivos de filtro de Cloud Storage

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

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

Estos permisos están incluidos en el rol predefinido storage.objectViewer.

También puedes añadir los permisos a un rol personalizado o puede que estén incluidos en otros roles básicos.

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

Escribir 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 servicio 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 están incluidos en el rol predefinido storage.objectAdmin.

También puedes añadir los permisos a un rol personalizado o puede que estén incluidos en otros roles básicos.

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

Permisos de BigQuery para almacenes FHIR

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

Conceder permisos a la cuenta de servicio del agente de servicio de Cloud Healthcare

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página IAM de la consola, comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. Google Cloud El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca los roles Editor de datos de BigQuery y Usuario de tareas de BigQuery.
  5. Selecciona cada rol y haz clic en Guardar. Los roles bigquery.dataEditor y bigquery.jobUser se añadirán a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre cómo identificar proyectos.

  1. Asigna el rol roles/bigquery.dataEditor:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • PROJECT_NUMBER: el número de tu Google Cloud proyecto

    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 siguiente:

    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. Asigna el rol roles/bigquery.jobUser:

    Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

    • PROJECT_ID: el ID de tu Google Cloud proyecto
    • PROJECT_NUMBER: el número de tu Google Cloud proyecto

    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 siguiente:

    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
    

Conceder acceso WRITER al conjunto de datos de BigQuery

Si has añadido los roles bigquery.dataEditor y bigquery.jobUser a la cuenta de servicio de tu proyecto, tendrás acceso WRITER a todos los conjuntos de datos de BigQuery. Sin embargo, si no has añadido estos roles y necesitas WRITERacceso a un solo conjunto de datos de BigQuery, puedes conceder WRITERacceso solo a ese conjunto de datos. Para conceder acceso a WRITER a un conjunto de datos de BigQuery, sigue estos pasos:
  1. Desplázate a la sección de control del acceso a un conjunto de datos.
  2. Utiliza uno de los métodos disponibles para conceder a la dirección de correo electrónico del agente de servicio de Cloud Healthcare acceso de WRITER al conjunto de datos de BigQuery (busca la dirección de correo que termina en @gcp-sa-healthcare.iam.gserviceaccount.com).

Por ejemplo, si la dirección de correo electrónico del agente de servicio de Cloud Healthcare es service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y estás usando la interfaz de usuario web de BigQuery, haz lo siguiente:

  1. Sigue las instrucciones de Console.
  2. En el campo Añadir principales, introduce service-000000000000@gcp-sa-healthcare.iam.gserviceaccount.com y selecciona el rol bigquery.dataEditor.

Permisos de Cloud Storage para almacenes 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 de servicio de Cloud Healthcare para importar mensajes HL7v2 desde Cloud Storage y exportarlos a este servicio.

Determina los permisos que necesita la cuenta de servicio en función de las acciones que realice 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 el rol 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 el rol storage.objectCreator.

Importar mensajes HL7v2 desde Cloud Storage

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

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página IAM de la consola, comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. Google Cloud El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Visor de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectViewer se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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 Google Cloud consola o la CLI de gcloud para añadir el rol storage.objectCreator obligatorio a la cuenta de servicio de tu proyecto:

Consola

  1. Asegúrate de que has habilitado la API Cloud Healthcare.
  2. En la página Gestión de identidades y accesos de la consola de Google Cloud , comprueba que el rol Agente de servicio del sector sanitario aparece en la columna Rol de la cuenta de servicio Agente de servicio de Cloud Healthcare. El identificador de la cuenta de servicio es service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com.
  3. En la columna Herencia que coincide con el rol, haz clic en el icono de lápiz. Se abrirá el panel Editar permisos.
  4. Haz clic en Añadir otro rol y busca el rol Creador de objetos de Storage.
  5. Selecciona el rol y haz clic en Guardar. El rol storage.objectCreator se añadirá a la cuenta de servicio.

gcloud

Para añadir los permisos de la cuenta de servicio, ejecuta el comando gcloud projects add-iam-policy-binding. Para localizar los valores de PROJECT_ID y PROJECT_NUMBER, consulta el artículo sobre 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