In diesem Dokument wird beschrieben, wie Sie die Cloud Storage-Buckets für einen Cloud FTP-Nutzer aktualisieren. Dazu gehört auch, auf welche Buckets ein Nutzer zugreifen kann und welche Berechtigungen er hat.
Im Großen und Ganzen sind das die Schritte zum Aktualisieren der Buckets für einen Nutzer:
- Aktualisieren Sie die IAM-Rollen für das Dienstkonto des Nutzers.
- Ordnen Sie die Verzeichnisse des Nutzers den aktualisierten Buckets zu.
Hinweis
Erstellen Sie einen oder mehrere Cloud Storage-Buckets zum Speichern der Daten, mit denen der Nutzer arbeiten wird, falls die Buckets noch nicht vorhanden sind. Sie können einem Nutzer Zugriff auf maximal 10 Buckets gewähren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „FTP-Administrator “ (roles/ftp.admin) für Ihr Projekt zu gewähren, um die Berechtigung zum Aktualisieren von SFTP-Nutzern zu erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die
ftp.users.update
Berechtigung,
die zum
Aktualisieren von SFTP-Nutzern erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
IAM-Rollen für das Dienstkonto eines Nutzers aktualisieren
Wenn Sie ändern, auf welche Buckets ein Nutzer zugreifen kann, oder wenn Sie die Berechtigung ändern, die ein Nutzer für eine vorhandene Verzeichniszuordnung hat, müssen Sie das Dienstkonto des Nutzers mit den entsprechenden IAM-Rollen aktualisieren. Gehen Sie so vor:
Rufen Sie die E‑Mail-Adresse des Dienstkontos des Nutzers ab. Eine Anleitung finden Sie unter Details zu einem Nutzer abrufen.
Wenn Sie der Verzeichniszuordnung neue Buckets hinzufügen oder den Zugriff auf vorhandene Buckets erhöhen, gehen Sie so vor:
Weisen Sie sich selbst die Rolle „Storage-Bucket-Betrachter“ (
roles/storage.bucketViewer) für den Bucket zu, falls Sie sie noch nicht haben:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/storage.bucketViewer"
Ersetzen Sie Folgendes:
ADMINISTRATOR_EMAIL: die E‑Mail-Adresse des Hauptkontos, das den SFTP-Nutzer erstellt. Wenn Sie den Nutzer erstellen (im Gegensatz zu einer Anwendung), ist dieser Wert die E‑Mail Adresse, mit der Sie auf zugreifen Google Cloud.BUCKET_NAME: der Name des Buckets.
Weisen Sie sich selbst die Rolle „Storage-Objekt-Betrachter“ (
roles/storage.objectViewer) für den Bucket zu, falls Sie sie noch nicht haben:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/storage.objectViewer"
Weisen Sie dem Dienstkonto des Nutzers die IAM-Rollen zu, die für den Zugriff auf die Buckets erforderlich sind:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="ROLE_TO_GRANT"
Ersetzen Sie Folgendes:
SERVICE_ACCOUNT: die E‑Mail-Adresse des Dienstkontos des Nutzers.ROLE_TO_GRANT: die zuzuweisende IAM-Rolle. Geben Sie eine der folgenden Rollen an:- Verwenden Sie für schreibgeschützten Zugriff die Rolle
roles/storage.objectViewer. - Verwenden Sie für Lese- und Schreibzugriff die Rolle
roles/storage.objectAdmin.
- Verwenden Sie für schreibgeschützten Zugriff die Rolle
Wiederholen Sie die vorherigen Schritte für jeden Bucket, auf den der Nutzer zugreifen muss.
Wenn Sie Buckets aus der Verzeichniszuordnung entfernen oder den Zugriff auf vorhandene Buckets verringern, widerrufen Sie den Zugriff vom Dienstkonto des Nutzers:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="ROLE_TO_REVOKE"
Ersetzen Sie
ROLE_TO_REVOKEdurch die IAM-Rolle, die Sie widerrufen möchten.Wiederholen Sie diesen Schritt für jeden Bucket und jede IAM-Rolle, auf die der Nutzer keinen Zugriff mehr haben soll.
Buckets eines Nutzers aktualisieren
gcloud
Führen Sie den
gcloud alpha storage ftp users update Befehl aus, um die Buckets für einen SFTP-Nutzer zu aktualisieren.
Ersetzen Sie vor der Verwendung der folgenden Befehlsdaten Folgendes:
- USERNAME: der Nutzername des SFTP-Nutzers.
- LOCATION_ID: der Standort des
Servers, z. B.
us-west1. - SERVER_ID: die Server-ID.
- BUCKET_NAME: der Name eines Buckets, auf den der SFTP-Nutzer Zugriff hat, z. B.
example-bucket. Lassen Siegs://weg. - Optional: BUCKET_PREFIX: der Pfad eines Ordners im Bucket, der als
Stammverzeichnis für diese Verzeichniszuordnung festgelegt werden soll.
Wenn Sie die
bucket_prefixProperty weglassen, verwendet Cloud FTP das Bucket-Stammverzeichnis. -
DIRECTORY: der logische Pfad des Zielverzeichnisses, der dem SFTP-Nutzer angezeigt wird. Beispiel:
/home/uploads.Wenn Sie mehrere Buckets oder Ordner zuordnen, geben Sie für jede Zuordnung einen eindeutigen Verzeichnispfad an.
Verschachtelte logische Verzeichnisse werden nicht unterstützt. Wenn Sie mehrere Zuordnungen für ein Verzeichnis angeben, geben Sie die Verzeichnisse in einer flachen Struktur an, nicht in einer verschachtelten Struktur. Verwenden Sie beispielsweise
/dir1und/dir2anstelle von/dir1und/dir1/dir2. - SFTP_PERMISSION: die Zugriffsebene für das Verzeichnis. Setzen Sie diesen
Wert für schreibgeschützten Zugriff auf
READ_ONLY. Setzen Sie diesen Wert für Lese- und Schreibzugriff aufREAD_WRITE.
Wenn Sie einem Nutzer Zugriff auf mehrere Buckets gewähren möchten, geben Sie das --storage-directory-mapping
Flag mehrmals an, mit einer Verzeichniszuordnung für jeden Bucket.
Führen Sie den folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID \ --server=SERVER_ID \ --storage-directory-mapping=bucket=BUCKET_NAME,bucket_prefix=BUCKET_PREFIX,directory=DIRECTORY,permission=SFTP_PERMISSION
Windows (PowerShell)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ` --server=SERVER_ID ` --storage-directory-mapping=bucket=BUCKET_NAME,bucket_prefix=BUCKET_PREFIX,directory=DIRECTORY,permission=SFTP_PERMISSION
Windows (cmd.exe)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ^ --server=SERVER_ID ^ --storage-directory-mapping=bucket=BUCKET_NAME,bucket_prefix=BUCKET_PREFIX,directory=DIRECTORY,permission=SFTP_PERMISSION
Wenn ein Nutzer eine aktive SFTP-Verbindung hat, muss er möglicherweise die Verbindung trennen und dann wieder herstellen, damit die aktualisierten Bucket Einstellungen wirksam werden.
REST
Verwenden Sie die
servers.users.patch Methode, um die Buckets für einen SFTP-Nutzer zu aktualisieren.
Geben Sie im Suchparameter updateMask das Feld storageDirectoryMappings an.
Ersetzen Sie vor der Verwendung der Anfragedaten Folgendes:
- PROJECT_ID: die Google Cloud Projekt-ID des Servers.
- LOCATION_ID: der Standort des
Servers, z. B.
us-west1. - SERVER_ID: die Server-ID.
- USERNAME: der Nutzername des SFTP-Nutzers.
- BUCKET_NAME: der Name eines Buckets, auf den der SFTP-Nutzer Zugriff hat, z. B.
example-bucket. Lassen Siegs://weg. - Optional: BUCKET_PREFIX: der Pfad eines Ordners im Bucket, der als Stammverzeichnis für diese Verzeichniszuordnung festgelegt werden soll. Wenn Sie diesen Wert weglassen, verwendet Cloud FTP das Bucket Stammverzeichnis.
-
DIRECTORY: der logische Pfad des Zielverzeichnisses, der dem SFTP-Nutzer angezeigt wird. Beispiel:
/home/uploads. Wenn Sie diesen Wert weglassen, legt Cloud FTP das Zielverzeichnis auf/fest.Wenn Sie mehrere Buckets oder Ordner zuordnen, geben Sie für jede Zuordnung einen eindeutigen Verzeichnispfad an.
Verschachtelte logische Verzeichnisse werden nicht unterstützt. Wenn Sie mehrere Zuordnungen für ein Verzeichnis angeben, geben Sie die Verzeichnisse in einer flachen Struktur an, nicht in einer verschachtelten Struktur. Verwenden Sie beispielsweise
/dir1und/dir2anstelle von/dir1und/dir1/dir2. - SFTP_PERMISSION: die Zugriffsebene für das Verzeichnis. Setzen Sie diesen
Wert für schreibgeschützten Zugriff auf
READ_ONLY. Setzen Sie diesen Wert für Lese- und Schreibzugriff aufREAD_WRITE.
Wenn Sie einem Nutzer Zugriff auf mehrere Buckets gewähren möchten, geben Sie in der
storageDirectoryMappings Liste mehrere Bucket-Zuordnungen an.
HTTP-Methode und URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=storageDirectoryMappings
JSON-Text der Anfrage:
{
"storageDirectoryMappings": [
{
"bucket": "BUCKET_NAME",
"bucketPrefix": "BUCKET_PREFIX",
"directory": "DIRECTORY",
"permission": "SFTP_PERMISSION"
}
]
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort gibt einen Vorgang mit langer Ausführungszeit an. Es dauert einige Sekunden, bis der Nutzer aktualisiert wird.Wenn ein Nutzer eine aktive SFTP-Verbindung hat, muss er möglicherweise die Verbindung trennen und dann wieder herstellen, damit die aktualisierten Bucket Einstellungen wirksam werden.
Clientbibliotheken
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der Cloud FTP C# API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der Cloud FTP Go API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der APIJava Referenzdokumentation zu Cloud FTP.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der Cloud FTP Node.js API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der Cloud FTP PHP API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTP Python.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für Cloud FTP finden Sie unter Cloud FTP-Clientbibliotheken. Weitere Informationen finden Sie in der API-Referenzdokumentation zu Cloud FTPRuby.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud FTP zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.