Auf gRPC-Endpunkte für Dataproc Metastore zugreifen

Auf dieser Seite wird erläutert, wie Sie ein Google Cloud-Nutzerkonto oder -Dienstkonto zuweisen. Zugriff auf einen Dataproc Metastore-Dienst, der den gRPC-Endpunkt verwendet Protokoll.

gRPC-Metadatenrollen gewähren

Wenn du einem Konto Zugriff auf deine Metadaten gewährst, ist Folgendes zu beachten: Konzepten:

  • Die Zugriffsebene, die gewährt werden soll Mit der von Ihnen gewährten Zugriffsebene wird festgelegt, auf wie viele Metadaten ein Konto zugreifen kann. Sie können beispielsweise Zugriff auf Metadaten gewähren, die in einer bestimmten Datenbank oder Tabelle gespeichert sind, oder Zugriff auf Ihr gesamtes Projekt.
  • Das Hauptkonto, das Zugriff benötigt Sie verwenden IAM-Hauptkonten (Identitäten) um Ihre Jobs auszuführen. Sie können beispielsweise Dataproc-Clusterjobs mit Nutzerkonten oder Dienstkonten ausführen (in der Regel das Dataproc-VM-Dienstkonto).

    Weitere Informationen zu den Konten, die Sie verwenden können Dataproc Metastore, siehe Dataproc-Dienst Konten

Weisen Sie dem Hauptkonto je nach erforderlichem Kontrollumfang eine der folgenden vordefinierten IAM-Rollen zu:

  • Vollzugriff auf die Metadatenressourcen gewähren Rolle „Metadateninhaber“ (roles/metastore.metadataOwner)
  • Lese- und Schreibzugriff auf Metadaten gewähren: Rolle „Metadatenbearbeiter“ roles/metastore.metadataEditor
  • Lesezugriff auf die Metadaten gewähren: Rolle „Metadatenbetrachter“ (roles/metastore.metadataViewer)

Hinweise

  • Aktivieren Sie Dataproc Metastore in Ihrem Projekt.
  • Metastore-Dienst erstellen, der das gRPC-Protokoll verwendet.
  • Überblick über Netzwerke für Ihr Unternehmen Projekt arbeiten.

    • Anforderungen an gRPC und Virtual Private Cloud (VPC) Wenn Sie gRPC verwenden, müssen Sie keine freigegebene VPC konfigurieren oder zusätzliche Netzwerkkonfigurationen festlegen. Standardmäßig können gRPC-Endpunkte von jeder VPC aus erreicht werden.

    Es gibt jedoch eine Ausnahme. Wenn Ihr Projekt einen VPC-SC-Dienst verwendet Perimeter definieren, können gRPC-Endpunkte nur von einer VPC erreicht werden, auf Projekte im Perimeter. Weitere Informationen finden Sie unter VPC-Dienst Einstellungen mit Dataproc Metastore

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Gewähren von Hauptzugriff auf Dataproc-Metastore-Metadaten benötigen, wobei das Prinzip der geringsten Berechtigung befolgt wird:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten Die Berechtigungen, die erforderlich sind, um einem Hauptkonto Zugriff auf Dataproc Metastore-Metadaten zu gewähren. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um einem Hauptkonto Zugriff auf Dataproc Metastore-Metadaten zu gewähren:

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen zu bestimmten Rollen und Berechtigungen für Dataproc Metastore finden Sie unter IAM-Rollen für Dataproc Metastore.

Einem Hauptkonto Zugriff auf Metadaten gewähren

Sie können einem Hauptkonto Zugriff auf Metadaten auf Projektebene gewähren, Dienst-, Datenbank- oder Tabellenebene.

Zugriff auf Projektebene gewähren

Wenn Sie auf Projektebene Zugriff auf alle Dataproc Metastore-Metadaten gewähren möchten, müssen Sie Ihrem Hauptkonto eine Metadatenrolle zuweisen.

gcloud-CLI

So weisen Sie allen Dataproc Metastore-Diensten in der folgenden Tabelle Metadatenrollen zu: einem angegebenen Projekt haben, führen Sie den folgenden gcloud projects add-iam-policy-binding aus. Befehl:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=PRINCIPAL \
    --role=METASTORE_ROLE

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die Google Cloud-Projekt-ID, für die Sie Metadatenzugriff gewähren möchten.
  • PRINCIPAL: Der Typ und die E-Mail-ID (E-Mail-Adresse) des Hauptkontos.
    • Für Nutzerkonten: user:EMAIL_ID
    • Für Dienstkonten: serviceAccount:EMAIL_ID
    • Für Google Groups: group:EMAIL_ID
    • Für andere Prinzipaltypen: Identitätskonzepte
  • METASTORE_ROLE: Eine der folgenden Rollen, je nachdem, welchen Zugriff Sie dem Hauptkonto gewähren möchten: roles/metastore.metadataViewer, roles/metastore.metadataEditor oder roles/metastore.metadataOwner.

Zugriff auf Dienstebene gewähren

Wenn Sie auf Dienstebene Zugriff auf alle Dataproc Metastore-Metadaten gewähren möchten, müssen Sie Ihrem Hauptkonto eine Metadatenrolle zuweisen.

gcloud-CLI

Um Metadatenrollen mit einem einzelnen Detaillierungsgrad Dataproc Metastore-Metastore-Dienst, führen Sie Folgendes aus: gcloud metastore services add-iam-policy-binding Befehl:

gcloud metastore services add-iam-policy-binding SERVICE_ID \
  --location=LOCATION \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ersetzen Sie Folgendes:

  • SERVICE_ID: Die ID oder voll qualifizierte Kennzeichnung für Ihren Dataproc Metastore-Dienst.
  • LOCATION: Die Region des Dataproc Metastores, auf die Sie Zugriff gewähren.
  • PRINCIPAL: Der Typ und die E-Mail-ID (E-Mail-Adresse) des Hauptkontos:
    • Für Nutzerkonten: user:EMAIL_ID
    • Für Dienstkonten: serviceAccount:EMAIL_ID
    • Für Google Groups: group:EMAIL_ID
    • Für andere Prinzipaltypen: Identitätskonzepte
  • METASTORE_ROLE: Eine der folgenden Rollen, je nach Zugriffsbereich,den Sie dem Hauptkonto gewähren möchten: roles/metastore.metadataViewer, roles/metastore.metadataEditor oder roles/metastore.metadataOwner.

Zugriff auf Datenbankebene gewähren

Um Zugriff auf alle Dataproc Metastore-Metadaten in einem bestimmten müssen Sie Ihrem Hauptkonto eine Metadatenrolle hinzufügen.

gcloud-CLI

Wenn Sie Metadatenrollen auf Ebene einer bestimmten Datenbank gewähren möchten, führen Sie den folgenden gcloud metastore services databases add-iam-policy-binding-Befehl aus:

gcloud metastore services databases add-iam-policy-binding DATABASE_ID \
  --project=PROJECT \
  --location=LOCATION \
  --service=SERVICE_ID \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ersetzen Sie Folgendes:

  • DATABASE_ID: Die ID der Datenbank, für die Sie Metadatenzugriff gewähren. Diese ID finden Sie in Ihrem Datenbankschema.
  • PROJECT: Die Google Cloud-Projekt-ID, die den Dataproc Metastore-Dienst enthält, für den Sie Metadatenzugriff gewähren.
  • LOCATION: Die Region des Dataproc Metastore-Dienstes, auf die Sie Zugriff gewähren.
  • SERVICE_ID: Die ID oder die voll qualifizierte Kennung für Ihren Dataproc Metastore-Dienst.
  • PRINCIPAL: Typ und E-Mail-ID (E-Mail-Adresse) des Hauptkontos:
    • Für Nutzerkonten: user:EMAIL_ID
    • Für Dienstkonten: serviceAccount:EMAIL_ID
    • Für Google Groups: group:EMAIL_ID
    • Für andere Prinzipaltypen: Identitätskonzepte
  • METASTORE_ROLE: Eine der folgenden Rollen, je nachdem, welchen Zugriff Sie dem Hauptkonto gewähren möchten: roles/metastore.metadataViewer, roles/metastore.metadataEditor oder roles/metastore.metadataOwner.

Zugriff auf Tabellenebene gewähren

Wenn Sie Zugriff auf alle Dataproc Metastore-Metadaten in einer bestimmten Tabelle gewähren möchten, müssen Sie Ihrem Hauptkonto eine Metadatenrolle zuweisen.

gcloud-CLI

Wenn Sie Metadatenrollen auf Tabellenebene gewähren möchten, führen Sie den folgenden gcloud metastore services databases tables add-iam-policy-binding-Befehl aus:

gcloud metastore services databases tables add-iam-policy-binding TABLE_ID \
  --database=DATABASE_ID \
  --project=PROJECT \
  --location=LOCATION \
  --service=SERVICE_ID \
  --member=PRINCIPAL \
  --role=METASTORE_ROLE

Ersetzen Sie Folgendes:

  • TABLE_ID: Die ID der Tabelle, auf die Sie Zugriff gewähren. Diese ID finden Sie in Ihrem Datenbankschema.
  • DATABASE_ID: Die ID der Datenbank, die die Tabelle enthält, der Sie Metadaten Zugriff gewähren. Diese ID finden Sie in Ihrem Datenbankschema.
  • PROJECT: Die Google Cloud-Projekt-ID, die den Dataproc Metastore-Dienst enthält, für den Sie Metadatenzugriff gewähren.
  • LOCATION: Die Region des Dataproc Metastore-Dienstes, der Sie Metadaten Zugriff gewähren.
  • SERVICE_ID: Die ID oder voll qualifizierte Kennzeichnung für Ihren Dataproc Metastore-Dienst.
  • PRINCIPAL: Typ und E-Mail-ID (E-Mail-Adresse) des Hauptkontos:
    • Für Nutzerkonten: user:EMAIL_ID
    • Für Dienstkonten: serviceAccount:EMAIL_ID
    • Für Google Groups: group:EMAIL_ID
  • METASTORE_ROLE: Eine der folgenden Rollen, je nach Zugriffsbereich, den Sie dem Hauptkonto gewähren möchten: roles/metastore.metadataViewer, roles/metastore.metadataEditor oder roles/metastore.metadataOwner.

Nachdem Sie Zugriff auf Ihre Metadaten gewährt haben

Nachdem Sie den Dienstkonten die erforderlichen Rollen zugewiesen haben, können Sie Dataproc Metastore mit einem Dataproc-Cluster verbinden. Der Cluster verwendet dann den Dataproc Metastore-Dienst als Hive-Metastore.

Nächste Schritte