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:
-
So gewähren Sie vollständige Kontrolle über Dataproc Metastore-Ressourcen (
roles/metastore.editor
) -
Vollständige Kontrolle über Dataproc Metastore-Ressourcen gewähren, einschließlich Aktualisieren von IAM-Berechtigungen (
roles/metastore.admin
)
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
oderroles/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
oderroles/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
oderroles/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
oderroles/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
- Dataproc-Cluster anhängen
- Dataproc Metastore aktualisieren und löschen
- Metadaten in Dataproc Metastore importieren