Freigeben über


Was ist eine OneLake-SAS (Shared Access Signature)? (Vorschau)

Eine OneLake-SAS (Shared Access Signature) ermöglicht den sicheren, kurzfristigen und delegierten Zugriff auf Ressourcen in OneLake. Mit einer OneLake-SAS können Sie genau steuern, wie ein Client auf Ihre Daten zugreifen kann. Zum Beispiel:

  • Auf welche Ressourcen der Client zugreifen kann.
  • Über welche Berechtigungen sie verfügen, um auf die Ressourcen zuzugreifen.
  • Wie lange die SAS gültig ist

Jede OneLake-SAS (und jeder Benutzerdelegierungsschlüssel) wird immer von einer Microsoft Entra-Identität unterstützt, hat eine maximale Lebensdauer von 1 Stunde und kann nur Zugriff auf Ordner und Dateien innerhalb eines Datenelements gewähren, z. B. ein Lakehouse.

Wichtig

Dieses Feature befindet sich in der Vorschauphase.

Funktionsweise von Shared Access Signatures

Eine SAS (Shared Access Signature) ist ein Token, das an den URI einer OneLake-Ressource angefügt wird. Das Token enthält einen speziellen Satz von Abfrageparametern, die angeben, wie der Client auf die Ressource zugreifen kann. Einer der Abfrageparameter ist die Signatur. Sie besteht aus den SAS-Parametern und wird mit dem Schlüssel signiert, der zum Erstellen der SAS verwendet wurde. OneLake verwendet diese Signatur, um den Zugriff auf den Ordner oder die Datei in OneLake zu autorisieren. OneLake-SASs verwenden das gleiche Format und dieselben Eigenschaften wie benutzerdelegierte SAS von Azure Storage, jedoch mit mehr Sicherheitseinschränkungen für ihre Lebensdauer und ihren Gültigkeitsbereich.

Eine OneLake-SAS wird mit einem Benutzerdelegierungsschlüssel (User Delegation Key, UDK) signiert, der von Microsoft Entra-Anmeldeinformationen unterstützt wird. Sie können einen Benutzerdelegierungsschlüssel mit dem Vorgang Get User Delegation Key (Benutzerdelegierungsschlüssel abrufen) anfordern. Anschließend verwenden Sie diesen Schlüssel (während er noch gültig ist), um die OneLake-SAS zu erstellen. Die Berechtigungen dieses Microsoft Entra-Kontos sowie die Berechtigungen, die der SAS explizit erteilt wurden, bestimmen den Zugriff des Clients auf die Ressource.

Autorisieren einer OneLake-SAS

Wenn ein Client oder eine Anwendung mit einer OneLake-SAS auf OneLake zugreift, wird die Anforderung mithilfe der Microsoft Entra-Anmeldeinformationen autorisiert, mit denen der UDK zum Erstellen der SAS angefordert wurde. Daher gelten alle OneLake-Berechtigungen, die dieser Microsoft Entra-Identität erteilt wurden, für die SAS, was bedeutet, dass eine SAS niemals die Berechtigungen des Benutzers überschreiten kann, der sie erstellt. Darüber hinaus gewähren Sie beim Erstellen einer SAS explizit Berechtigungen, sodass Sie noch mehr bereichsbezogene Berechtigungen für die SAS bereitstellen können. Zwischen der Microsoft Entra-Identität, den explizit erteilten Berechtigungen und der kurzen Lebensdauer folgt OneLake den bewährten Methoden für die Sicherheit, um delegierten Zugriff auf Ihre Daten bereitzustellen.

Verwendung einer OneLake-SAS

OneLake-SASs delegieren sicheren und temporären Zugriff auf OneLake, unterstützt durch eine Microsoft Entra-Identität. Anwendungen ohne native Microsoft Entra-Unterstützung können eine OneLake-SAS verwenden, um temporären Zugriff zum Laden von Daten ohne komplizierte Einrichtung und Integration zu erhalten.

OneLake-SASs unterstützten auch Anwendungen, die als Proxys zwischen Benutzern und ihren Daten dienen. Beispielsweise werden einige unabhängige Softwarehersteller (Independent Software Vendors, ISVs) zwischen Benutzern und ihrem Fabric-Arbeitsbereich ausgeführt und bieten zusätzliche Funktionen und möglicherweise ein anderes Authentifizierungsmodell. Durch das Delegieren des Zugriffs mit einer OneLake-SAS können diese ISVs den Zugriff auf die zugrunde liegenden Daten verwalten und direkten Zugriff auf Daten gewähren, auch wenn ihre Benutzer nicht über Microsoft Entra-Identitäten verfügen.

Verwalten einer OneLake-SAS

Zwei Einstellungen in Ihrem Fabric-Mandanten verwalten die Verwendung von OneLake-SASs. Die erste ist eine Einstellung auf Mandantenebene, Verwenden von kurzlebigen benutzerdelegierten SAS-Token, die die Generierung von Benutzerdelegierungsschlüsseln verwaltet. Da Benutzerdelegierungsschlüssel auf Mandantenebene generiert werden, werden sie durch eine Mandanteneinstellung gesteuert. Diese Einstellung ist standardmäßig aktiviert, da diese Benutzerdelegierungsschlüssel über gleichwertige Berechtigungen für die Microsoft Entra-Identität verfügen, die sie anfordert, und immer kurzlebig sind.

Hinweis

Wenn Sie dieses Feature deaktivieren, wird verhindert, dass alle Arbeitsbereiche OneLake-SASs verwenden, da alle Benutzer keine Benutzerdelegierungsschlüssel generieren können.

Die zweite Einstellung ist eine delegierte Arbeitsbereichseinstellung, Authentifizieren mit benutzerdelegierten SAS-Token von OneLake, die steuert, ob ein Arbeitsbereich eine OneLake-SAS akzeptiert. Diese Einstellung ist standardmäßig deaktiviert und kann von einem Arbeitsbereichsadministrator aktiviert werden, der die Authentifizierung mit einer OneLake-SAS in seinem Arbeitsbereich zulassen möchte. Ein Mandantenadministrator kann diese Einstellung für alle Arbeitsbereiche über die Mandanteneinstellung aktivieren oder es den Arbeitsbereichsadministratoren überlassen, sie zu aktivieren.

Sie können auch die Erstellung von Benutzerdelegierungsschlüsseln über das Microsoft Purview-Complianceportal überwachen. Sie können nach dem Vorgangsnamen generateonelakeudk suchen, um alle Schlüssel anzuzeigen, die in Ihrem Mandanten generiert wurden. Da es sich beim Erstellen einer SAS um einen clientseitigen Vorgang handelt, können Sie die Erstellung einer OneLake-SAS nicht überwachen oder einschränken, nur die Generierung eines UDK.

Bewährte Methoden für OneLake-SAS

  • Verwenden Sie immer HTTPS, um eine SAS zum Schutz vor Man-in-the-Middle-Angriffen zu erstellen und zu verteilen, die die SAS abfangen möchten.
  • Verfolgen Sie die Ablaufzeiten Ihres Tokens, Schlüssels und SAS-Tokens. OneLake-Benutzerdelegierungsschlüssel und -SASs haben eine maximale Lebensdauer von 1 Stunde. Wenn Sie versuchen, UDKs anzufordern oder SASs zu erstellen, deren Lebensdauer 1 Stunde überschreitet, schlägt die Anforderung fehl. Um zu verhindern, dass die SAS zum Verlängern der Lebensdauer von ablaufenden OAuth-Token verwendet wird, muss die Lebensdauer des Tokens auch länger sein als die Ablaufzeit des Benutzerdelegierungsschlüssels und der SAS.
  • Seien Sie vorsichtig mit der Startzeit für eine SAS. Das Festlegen der Startzeit für eine SAS als aktuelle Zeit kann in den ersten paar Minuten zu Fehlern führen, da sich die Startzeiten zwischen Computern unterscheiden (Uhrabweichung). Das Festlegen der Startzeit auf ein paar Minuten in der Vergangenheit trägt zum Schutz vor diesen Fehlern bei.
  • Gewähren Sie der SAS die geringstmöglichen Berechtigungen. Die Bereitstellung der mindestens erforderlichen Berechtigungen für möglichst wenige Ressourcen ist eine bewährte Methode für die Sicherheit und verringert die Auswirkungen, wenn eine SAS kompromittiert wird.
  • Überwachen sie die Generierung von Benutzerdelegierungsschlüsseln. Sie können auch die Erstellung von Benutzerdelegierungsschlüsseln im Microsoft Purview-Complianceportal überwachen. Suchen Sie nach dem Vorgangsnamen „generateonelakeudk“, um Schlüssel anzuzeigen, die in Ihrem Mandanten generiert wurden.
  • Verstehen sie die Einschränkungen von OneLake-SASs. Da OneLake-SASs nicht über Berechtigungen auf Arbeitsbereichsebene verfügen dürfen, sind sie mit einigen Azure Storage-Tools nicht kompatibel, die Berechtigungen auf Containerebene zum Durchlaufen von Daten erwarten, z. B. Azure Storage-Explorer.