Zugriffssteuerung mit IAM

Sie gewähren Zugriff auf Google Cloud Managed Lustre-Vorgänge, indem Sie Nutzern IAM-Rollen (Identity and Access Management) zuweisen.

IAM-Berechtigungen steuern nur den Zugriff auf Google Cloud Managed Lustre-Vorgänge, z. B. das Erstellen einer Google Cloud Managed Lustre-Instanz. Verwenden Sie POSIX-Dateiberechtigungen, um den Zugriff auf Dateisystemvorgänge in der Instanz zu steuern, z. B. das Lesen oder Schreiben in eine Datei.

Berechtigungen und Rollen

Managed Lustre verwendet die folgenden Berechtigungen:

Berechtigung Beschreibung
lustre.instances.create Neue Instanzen erstellen
lustre.instances.delete Instanzen löschen
lustre.instances.update Instanzen aktualisieren. Löschen ist nicht zulässig
lustre.instances.get Instanzen beschreiben
lustre.instances.list Alle Instanzen auflisten
lustre.instances.exportData Daten aus Managed Lustre nach Cloud Storage exportieren
lustre.instances.importData Daten aus Cloud Storage in Managed Lustre importieren
lustre.locations.get Standort abrufen
lustre.locations.list Alle unterstützten Standorte auflisten
lustre.operations.list Vorgänge auflisten
lustre.operations.get Einen Vorgang abrufen
lustre.operations.cancel Vorgang abbrechen
lustre.operations.delete Vorgang löschen

Google Cloud unterstützt das direkte Erteilen einzelner Berechtigungen nicht. Sie müssen eine Rolle gewähren, die Berechtigungen enthält. Die vordefinierten Rollen von Managed Lustre sind:

  • Managed Lustre-Administrator (roles/lustre.admin)
  • Managed Lustre-Betrachter (roles/lustre.viewer)

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die von den vordefinierten Rollen für Managed Lustre sowie von der grundlegenden Rolle „Bearbeiter“ gewährt werden:

Funktion Bearbeiter (roles/editor) Managed Lustre (roles/lustre.*)
admin viewer
Instanzen erstellen
Instanzen löschen
Instanzen aktualisieren
Instanzen abrufen
Instanzen auflisten
Daten aus/in Cloud Storage importieren/exportieren
Standort abrufen
Unterstützte Standorte auflisten
Lange laufende Vorgänge auflisten
Einen Vorgang abrufen
Vorgang abbrechen
Vorgang löschen

Benutzerdefinierte Rollen

Wenn die verfügbaren vordefinierten Rollen die Zugriffs anforderungen Ihres Unternehmens nicht erfüllen, können Sie benutzerdefinierte IAM-Rollen erstellen und anwenden.

Beim Erstellen von benutzerdefinierten Rollen empfehlen wir eine Kombination aus vordefinierten Rollen, damit die richtigen Berechtigungen enthalten sind.

Managed Lustre-Dienst-Agent

Managed Lustre verwendet einen Dienst-Agent um auf andere Google Cloud Ressourcen zuzugreifen und in Ihrem Namen Aktionen auszuführen. Ein Dienst-Agent ist ein von Google verwaltetes Dienstkonto, das automatisch erstellt wird, wenn Sie zum ersten Mal eine Managed Lustre-Instanz in einem Projekt erstellen. Es kann auch manuell erstellt werden.

Das Erteilen von Berechtigungen für den Dienst-Agent ist nur erforderlich, wenn Sie bestimmte optionale Funktionen verwenden. Für die Standardinstanzerstellung und Dateisystemvorgänge ohne diese Funktionen ist keine Dienst-Agent-Konfiguration erforderlich.

Funktionen, für die Berechtigungen für den Dienst-Agent erforderlich sind

Für die folgenden Funktionen müssen dem Dienst-Agent IAM-Rollen gewährt werden:

Funktion Erforderliche Rolle Zielressource Beschreibung
Kundenverwaltete Verschlüsselungsschlüssel (CMEK) roles/cloudkms.cryptoKeyEncrypterDecrypter Cloud KMS-Schlüssel Ermöglicht dem Dienst-Agent, ruhende Daten mit Ihrem Schlüssel zu verschlüsseln und zu entschlüsseln.
Daten aus Cloud Storage übertragen roles/storage.objectViewer Cloud Storage-Bucket Ermöglicht dem Dienst-Agent, Objekte aus Ihrem Bucket zu lesen und in die Instanz zu importieren.
Daten in und aus Cloud Storage übertragen roles/storage.objectUser Cloud Storage-Bucket Ermöglicht dem Dienst-Agent, Objekte während Import- und Exportvorgängen zu lesen und zu schreiben.

Wenn Sie keine dieser Funktionen verwenden, können Sie die restlichen Schritte in diesem Abschnitt überspringen.

Dienst-Agent-Identität erstellen oder abrufen

Um dem Dienst-Agent Berechtigungen zu erteilen, müssen Sie seine Identität abrufen. Der Dienst-Agent hat das folgende Format:

service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com

Verwenden Sie eine der folgenden Optionen, um die Dienst-Agent-Identität zu erstellen oder zu ermitteln:

  • Wenn Sie noch keine Managed Lustre-Instanz erstellt haben: Erstellen Sie den Dienst-Agent manuell, indem Sie den services identity create Befehl ausführen:

    gcloud beta services identity create \
      --service=lustre.googleapis.com \
      --project=PROJECT_NUMBER_OR_ID
    

    Ersetzen Sie PROJECT_NUMBER_OR_ID durch die Projektnummer oder ID des Projekts, in dem Sie die Managed Lustre-Instanz erstellen möchten. Die Ausgabe des Befehls sieht in etwa so aus:

    Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com
    
  • Wenn Sie bereits eine Managed Lustre-Instanz erstellt haben:Rufen Sie die Projektnummer mit dem Befehl gcloud projects describe ab, um die Dienst-Agent-Identität zu erstellen:

    gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID. Ersetzen Sie dann PROJECT_NUMBER in der E-Mail-Adresse des Dienst-Agent:

    service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
    

Berechtigungen für den Dienst-Agent erteilen

Nachdem Sie die Dienst-Agent-Identität abgerufen haben, finden Sie in der folgenden Dokumentation Informationen zum Erteilen der erforderlichen Rolle für Ihre Funktion:

Zusätzliche erforderliche Google Cloud Berechtigungen

Neben den lustre-Berechtigungen benötigen Sie möglicherweise Berechtigungen in anderen Google Cloud Diensten, um bestimmte Aufgaben auszuführen:

Aufgabe Berechtigung
VPC-Netzwerk erstellen Weitere Informationen finden Sie im Abschnitt Erforderliche Berechtigungen unter VPC-Netzwerk konfigurieren
Compute Engine-VMs erstellen Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1) Weitere Informationen finden Sie in der Compute Engine-Dokumentation.
Google Kubernetes Engine-Cluster erstellen und verwalten Container-Administrator (roles/container.admin) Weitere Informationen finden Sie in der Google Kubernetes Engine-Dokumentation.