In diesem Dokument wird beschrieben, wie Sie das Dienstkonto für einen Cloud FTP-Nutzer aktualisieren. Das Dienstkonto greift im Namen des Nutzers auf Cloud Storage-Ressourcen zu.
Im Großen und Ganzen sind das die Schritte zum Aktualisieren des Dienstkontos für einen Nutzer:
- Konfigurieren Sie ein Dienstkonto mit den entsprechenden IAM-Rollen.
- Aktualisieren Sie das Dienstkonto, das mit dem Nutzer verknüpft ist.
Wir empfehlen, für jeden Nutzer ein eigenes Dienstkonto zu verwenden, damit Sie den SFTP-Zugriff für jeden Nutzer separat verwalten können.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die
FTP-Administrator (roles/ftp.admin) IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigung zu erhalten, die
Sie zum Aktualisieren von SFTP-Nutzern benötigen.
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.
Dienstkonto konfigurieren
Erstellen Sie ein Dienstkonto für den Nutzer, falls noch keines vorhanden ist.
gcloud iam service-accounts create USERNAME-sa \ --description="USERNAME SFTP Service Account" \ --display-name="USERNAME SFTP Service Account"
Ersetzen Sie
USERNAMEdurch einen eindeutigen Nutzernamen für den SFTP-Nutzer. Der Nutzername muss mit einem Kleinbuchstaben beginnen und kann Kleinbuchstaben, Ziffern oder Bindestriche enthalten.Bei Erfolg wird eine Meldung wie
Created service account [example-userid-sa]angezeigt.Weisen Sie sich selbst die Rolle „Dienstkontonutzer“ (
roles/iam.serviceAccountUser) zu:gcloud iam service-accounts add-iam-policy-binding USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/iam.serviceAccountUser"
Ersetzen Sie
ADMINISTRATOR_EMAILdurch die E-Mail-Adresse des Prinzipals, der den SFTP-Nutzer aktualisiert. Wenn Sie den Nutzer aktualisieren (im Gegensatz zu einer Anwendung), ist dieser Wert die E-Mail-Adresse, mit der Sie auf zugreifen Google Cloud.Bei Erfolg wird eine Meldung wie die folgende angezeigt:
Updated IAM policy for serviceAccount [example-userid-sa@example-project.iam.gserviceaccount.com]. bindings: - members: - user:admin@example.com role: roles/iam.serviceAccountUser etag: BwZJk7OiSzw= version: 1Weisen Sie dem Dienstkonto des Nutzers die IAM-Rolle zu, die für den Zugriff auf den Bucket erforderlich ist:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE"
Ersetzen Sie
ROLEdurch eine der folgenden IAM-Rollen:- Verwenden Sie für den Lesezugriff die Rolle
roles/storage.objectViewer. - Verwenden Sie für den Lese- und Schreibzugriff die Rolle
roles/storage.objectAdmin.
Wiederholen Sie diesen Schritt für jeden Bucket, auf den der Nutzer zugreifen muss.
- Verwenden Sie für den Lesezugriff die Rolle
Autorisieren Sie den Cloud FTP-Dienst-Agent, Tokens für das Dienstkonto des Nutzers zu generieren:
Rufen Sie die E-Mail-Adresse des Dienst-Agents des SFTP-Servers ab. Eine Anleitung finden Sie unter Details zu einem Server abrufen.
Autorisieren Sie den Cloud FTP-Dienst-Agent:
gcloud iam service-accounts add-iam-policy-binding USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:SERVICE_AGENT_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"
Ersetzen Sie
SERVICE_AGENT_EMAILdurch die E-Mail-Adresse des Dienst-Agents.
Aktualisieren Sie als Nächstes das Dienstkonto des Nutzers.
Dienstkonto eines Nutzers aktualisieren
REST
Verwenden Sie die
servers.users.patch Methode, um das Dienstkonto zu aktualisieren, das mit einem SFTP-Nutzer verknüpft ist.
Geben Sie im Abfrageparameter updateMask das Feld customerServiceAccount an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- 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.
HTTP-Methode und URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=customerServiceAccount
JSON-Text der Anfrage:
{
"customerServiceAccount": "USERNAME-sa@PROJECT_ID.iam.gserviceaccount.com"
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort identifiziert einen Vorgang mit langer Ausführungszeit. Es dauert einige Sekunden, bis der Nutzer aktualisiert ist.