Autorisieren des Zugriffs auf Azure Blob Storage für einen SFTP (SSH File Transfer Protocol)-Client

In diesem Artikel erfahren Sie, wie Sie den Zugriff auf SFTP-Clients autorisieren, damit Sie mithilfe eines SFTP-Clients sicher eine Verbindung mit dem Blob Storage-Endpunkt Ihres Azure Storage-Kontos herstellen können.

Weitere Informationen zur SFTP-Unterstützung für Azure Blob Storage finden Sie unter Unterstützung von SSH File Transfer Protocol (SFTP) für Azure Blob Storage (Vorschau).

Voraussetzungen

Erstellen eines lokalen Benutzers

Azure Storage unterstützt keine SAS-Authentifizierung (Shared Access Signature) oder Microsoft Entra-Authentifizierung für den Zugriff auf den SFTP-Endpunkt. Stattdessen müssen Sie eine Identität namens lokaler Benutzer verwenden, die mit einem von Azure generierten Kennwort oder einem SSH-Schlüsselpaar (Secure Shell) geschützt werden kann. Dem Speicherkonto muss eine Identität zugeordnet sein, die mit diesem Kennwort oder Schlüsselpaar verknüpft ist, um einem Verbindungsherstellungsclient Zugriff zu gewähren. Diese Identität wird als lokaler Benutzer bezeichnet.

In diesem Abschnitt erfahren Sie, wie Sie einen lokalen Benutzer erstellen, eine Authentifizierungsmethode auswählen und diesem lokalen Benutzer Berechtigungen zuweisen.

Weitere Informationen zum SFTP-Berechtigungsmodell finden Sie unter SFTP-Berechtigungsmodell.

Tipp

In diesem Abschnitt erfahren Sie, wie Sie lokale Benutzer für ein vorhandenes Speicherkonto konfigurieren. Eine Azure Resource Manager-Vorlage, mit der ein lokaler Benutzer im Rahmen der Kontoerstellung konfiguriert wird, finden Sie unter Erstellen eines Azure Storage-Kontos und Blobcontainers, auf die über das SFTP-Protokoll in Azure zugegriffen werden kann.

Auswählen einer Authentifizierungsmethode

Sie können lokale Benutzer, die eine Verbindung von SFTP-Clients herstellen, mit einem Kennwort oder einem SSH (Secure Shell)-Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel authentifizieren.

Wichtig

Sie können zwar beide Authentifizierungsarten aktivieren, SFTP-Clients können jedoch nur eine Verbindung herstellen. Die MFA, bei der sowohl ein gültiges Kennwort als auch ein gültiges Paar aus öffentlichem und privatem Schlüssel für eine erfolgreiche Authentifizierung erforderlich sind, wird jedoch nicht unterstützt.

  1. Navigieren Sie im Azure-Portal zu Ihrem Speicherkonto.

  2. Wählen Sie unter Einstellungen den Eintrag SFTP und dann Lokalen Benutzer hinzufügen aus.

    Screenshot der Schaltfläche „Lokale Benutzer hinzufügen“.

  3. Fügen Sie im Konfigurationsbereich Lokalen Benutzer hinzufügen den Namen eines Benutzers hinzu, und wählen Sie dann aus, welche Authentifizierungsmethoden Sie diesem lokalen Benutzer zuordnen möchten. Sie können ein Kennwort und/oder einen SSH-Schlüssel zuordnen.

    Wenn Sie SSH-Kennwort auswählen, dann erscheint Ihr Kennwort, wenn alle Schritte im Konfigurationsbereich Lokalen Benutzer hinzufügen abgeschlossen sind. SSH-Kennwörter werden von Azure generiert und sind mindestens 32 Zeichen lang.

    Wenn Sie SSH-Schlüsselpaar auswählen, müssen Sie Quelle des öffentlichen Schlüssels auswählen, um eine Schlüsselquelle anzugeben.

    Screenshot des Konfigurationsbereichs „Lokaler Benutzer“.

    In der folgenden Tabelle werden die einzelnen Schlüsselquellenoptionen beschrieben:

    Option Anleitungen
    Ein neues Schlüsselpaar generieren Verwenden Sie diese Option, um ein neues Paar aus öffentlichem und privatem Schlüssel zu erstellen. Der öffentliche Schlüssel wird in Azure mit dem Schlüsselnamen gespeichert, den Sie angeben. Der private Schlüssel kann heruntergeladen werden, nachdem der lokale Benutzer erfolgreich hinzugefügt wurde.
    In Azure gespeicherten vorhandenen Schlüssel verwenden Verwenden Sie diese Option, wenn Sie einen öffentlichen Schlüssel verwenden möchten, der bereits in Azure gespeichert ist. Informationen zum Suchen vorhandener Schlüssel in Azure finden Sie unter Auflisten von Schlüsseln. Wenn SFTP-Clients eine Verbindung mit Azure Blob Storage herstellen, müssen diese Clients den privaten Schlüssel angeben, der diesem öffentlichen Schlüssel zugeordnet ist.
    Verwenden Sie den vorhandenen öffentlichen Schlüssel. Verwenden Sie diese Option, wenn Sie einen öffentlichen Schlüssel hochladen möchten, der außerhalb von Azure gespeichert ist. Wenn Sie nicht über einen öffentlichen Schlüssel verfügen, aber einen außerhalb von Azure generieren möchten, finden Sie weitere Informationen unter Generieren von Schlüsseln mit ssh-keygen.

    Wichtig

    Nur mit OpenSSH formatierte öffentliche Schlüssel werden unterstützt. Der Schlüssel, den Sie bereitstellen, muss dieses Format verwenden: <key type> <key data>. RSA-Schlüssel würden beispielsweise in etwa wie folgt aussehen: ssh-rsa AAAAB3N.... Wenn Ihr Schlüssel in einem anderen Format vorliegt, kann ein Tool wie ssh-keygen verwendet werden, um ihn in das OpenSSH-Format zu konvertieren.

  4. Wählen Sie Weiter aus, um die Registerkarte Berechtigungen im Konfigurationsbereich zu öffnen.

Erteilen von Berechtigungen für Container

Wählen Sie aus, auf welche Container Sie Zugriff gewähren und welche Zugriffsebene Sie bereitstellen wollen. Diese Berechtigungen gelten für alle Verzeichnisse und Unterverzeichnisse im Container. Weitere Informationen zu den einzelnen Containerberechtigungen finden Sie unter Containerberechtigungen.

Wenn Sie den Zugriff auf Datei- und Verzeichnisebene autorisieren möchten, können Sie die ACL-Autorisierung aktivieren. Diese Funktion befindet sich in der Vorschau und kann nur über das Azure-Portal aktiviert werden.

  1. Wählen Sie auf der Registerkarte Berechtigungen die Container aus, die Sie diesem lokalen Benutzer zur Verfügung stellen möchten. Wählen Sie dann aus, welche Arten von Vorgängen dieser lokale Benutzer ausführen soll.

    Screenshot der Registerkarte Berechtigungen

    Wichtig

    Der lokale Benutzer muss über mindestens eine Containerberechtigung oder ACL-Berechtigung für das Stammverzeichnis dieses Containers verfügen. Andernfalls schlägt ein Verbindungsversuch mit diesem Container fehl.

  2. Wenn Sie den Zugriff mithilfe der den Dateien und Verzeichnissen in diesem Container zugeordneten Zugriffssteuerungslisten (Access Control Lists, ACLs) autorisieren wollen, aktivieren Sie das Kontrollkästchen ACL-Autorisierung zulassen. Weitere Informationen zur Verwendung von ACLs zum Autorisieren von SFTP-Clients finden Sie unter ACLs.

    Sie können diesen lokalen Benutzer auch zu einer Gruppe hinzufügen, indem Sie diesen Benutzer einer Gruppen-ID zuweisen. Diese ID kann eine beliebige Nummer oder ein beliebiges Nummernschema sein. Durch Gruppieren von Benutzern können Sie Benutzer hinzufügen und entfernen, ohne dass ACLs erneut auf eine gesamte Verzeichnisstruktur angewendet werden müssen. Stattdessen können Sie Benutzer einfach der Gruppe hinzufügen oder aus ihr entfernen.

    Screenshot der Gruppen-ID und des Kontrollkästchens „ACL-Autorisierung“.

    Hinweis

    Eine Benutzer-ID für den lokalen Benutzer wird automatisch generiert. Sie können diese ID nicht ändern, aber Sie können die ID sehen, nachdem Sie den lokalen Benutzer erstellt haben, indem Sie diesen Benutzer im Bereich Lokalen Benutzer bearbeiten erneut öffnen.

  3. Geben Sie im Bearbeitungsfeld Stammverzeichnis den Namen des Containers oder den Verzeichnispfad (einschließlich des Containernamens) ein, der dem lokalen Benutzer als Standardspeicherort zugeordnet ist (Beispiel: mycontainer/mydirectory).

    Weitere Informationen zum Stammverzeichnis finden Sie unter Startverzeichnis.

  4. Klicken Sie auf die Hinzufügen-Schaltfläche, um fortzufahren.

    Wenn Sie die Kennwortauthentifizierung aktiviert haben, wird das von Azure generierte Kennwort in einem Dialogfeld angezeigt, nachdem der lokale Benutzer hinzugefügt wurde.

    Wichtig

    Sie können dieses Kennwort später nicht abrufen. Achten Sie daher darauf, das Kennwort zu kopieren und es dann an einem Ort zu speichern, an dem Sie es finden.

    Wenn Sie ein neues Schlüsselpaar generieren möchten, werden Sie aufgefordert, den privaten Schlüssel dieses Schlüsselpaars herunterzuladen, nachdem der lokale Benutzer hinzugefügt wurde.

    Hinweis

    Lokale Benutzer verfügen über die Eigenschaft sharedKey, die nur für die SMB-Authentifizierung verwendet wird.

Nächste Schritte