Elige el protocolo del extremo

Tu servicio de Dataproc Metastore proporciona acceso de cliente a los metadatos almacenados de Hive Metastore mediante un protocolo de extremo.

Puedes elegir el protocolo de extremo para que tu servicio de Dataproc Metastore coincida con tu preferencia de comunicación. Puedes elegir entre Apache Thrift o gRPC.

Thrift es el protocolo de extremo heredado y, por lo tanto, es la opción predeterminada. gRPC es más seguro y te permite usar integraciones federadas con otros productos de Google Cloud.

Configuración de red gRPC

No es necesario configurar la VPC compartida o establecer la configuración de red para los servicios basados en gRPC, ya que se puede acceder al extremo de gRPC desde cualquier VPC. La excepción es cuando el proyecto que contiene el servicio se encuentra en un perímetro de servicio de VPC-SC. En ese caso, se puede acceder al extremo desde cualquier VPC que pertenezca a proyectos en el perímetro.

Elige el protocolo de extremo para un servicio nuevo y existente de Dataproc Metastore

Puedes elegir el protocolo de extremo para tu servicio de Dataproc Metastore cuando lo crees o actualices con Google Cloud Console.

Elige el protocolo de extremo para un servicio nuevo

Sigue estos pasos para elegir el protocolo de extremo de un servicio nuevo:

Console

  1. En Cloud Console, abre la página Dataproc Metastore:

    Abre Dataproc Metastore en Cloud Console

  2. En la parte superior de la página Dataproc Metastore haz clic en el botón Crear. Se abrirá la página Crear servicio.

  3. Configura tu servicio como desees.

  4. En Protocolo de extremos, selecciona Thrift o gRPC. Thrift es el protocolo de extremo predeterminado.

  5. Haga clic en Submit.

gcloud

  1. Ejecuta el siguiente comando gcloud beta metastore services create:

    gcloud beta metastore services create SERVICE \
       --endpoint-protocol=ENDPOINT_PROTOCOL ; default="thrift"
    

    Reemplaza lo siguiente:

    • SERVICE: Es un nombre para tu servicio nuevo.
    • ENDPOINT_PROTOCOL: El protocolo que se usará para el extremo del servicio de Metastore. Puedes especificar thrift o grpc.
  2. Verifica que la creación se haya realizado correctamente.

Elige el protocolo de extremo para un servicio existente

Sigue estos pasos para elegir el protocolo de extremo de un servicio existente:

Console

  1. En Cloud Console, abre la página Dataproc Metastore:

    Abre Dataproc Metastore en Cloud Console

  2. En la página Dataproc Metastore, haz clic en el nombre del servicio que quieres actualizar. Se abrirá la página Detalles del servicio de ese servicio.

  3. En la pestaña Configuración, haz clic en el botón Editar. Se abrirá la página Editar servicio.

  4. En la sección Protocolo de extremos, actualiza tu selección entre Thrift o gRPC.

  5. Haz clic en el botón Enviar para actualizar el servicio.

gcloud

  1. Ejecuta el siguiente comando gcloud beta metastore services update:

    gcloud beta metastore services update SERVICE \
       --endpoint-protocol=ENDPOINT_PROTOCOL
    

    Reemplaza lo siguiente:

    • SERVICE: el nombre de tu servicio.
    • ENDPOINT_PROTOCOL: El protocolo que se usará para el extremo del servicio de Metastore. Puedes especificar thrift o grpc.
  2. Verifica que la actualización se haya realizado correctamente.

Después de elegir el protocolo del extremo

En el caso de los servicios habilitados para gRPC, el acceso a los metadatos almacenados se protege con permisos de IAM en bases de datos y tablas. Las funciones son las siguientes:

  • roles/metastore.metadataViewer: Acceso de solo lectura a las políticas de IAM de metadatos y metadatos
  • roles/metastore.metadataEditor: Otorga acceso de lectura y escritura a los metadatos y acceso de solo lectura a las políticas de IAM de metadatos.
  • roles/metastore.metadataOwner: Otorga acceso de lectura y escritura a los metadatos y acceso de lectura y escritura a las políticas de IAM de metadatos.

Debes configurar la política de IAM para otorgar acceso a los recursos. Usa setIamPolicy y getIamPolicies para otorgar los permisos metastore.databases y metastore.tables.

Configurar la política de IAM para otorgar funciones de metadatos

En las siguientes instrucciones, se muestra cómo otorgar funciones de metadatos a nivel de la tabla y la base de datos.

gcloud

  • Para el acceso a nivel de la base de datos:

    Ejecuta el siguiente comando de gcloud metastore services databases para otorgar funciones de metadatos a nivel de la base de datos:

    gcloud beta metastore services databases add-iam-policy-binding --project PROJECT --location LOCATION --service SERVICE_ID DATABASE_ID --role roles/metastore.metadataViewer --member="EMAIL_ID"
    
  • Para el acceso a nivel de tabla, sigue estos pasos:

    Ejecuta el siguiente comando de gcloud metastore services databases tables para otorgar las funciones de metadatos a nivel de tabla:

    gcloud beta metastore services databases tables add-iam-policy-binding --project PROJECT --location LOCATION --service SERVICE_ID --database DATABASE_ID TABLE_ID --role roles/metastore.metadataViewer --member="EMAIL_ID"
    

¿Qué sigue?