Shared Access Signatures (SAS)

Azure-Sicherheit für Entwickler implementieren

Anushika Agarwal

Cloud Data Engineer

Was ist eine Shared Access Signature?

  • Gewährt eingeschränkten Zugriff auf Speicherressourcen
  • Gibt den Schlüssels des Speicherkontos nicht preis

SAS

Azure-Sicherheit für Entwickler implementieren

Analogie: SAS als Automaten-Token

  • Token gilt nur für kurze Zeit (z. B. 30 Sekunden)

  • Token erlaubt nur eine bestimmte Aktion (z. B. eine Coca-Cola)

SAS Vending Machine Example

Azure-Sicherheit für Entwickler implementieren

Wie wird eine SAS gesichert?

  • Signiert mit dem Schlüssel des Speicherkontos

Storage Account key

  • Oder mit Microsoft Entra ID

Microsoft Entra ID

Azure-Sicherheit für Entwickler implementieren

Arten von SAS

  • User Delegation SAS
    • Verwendet Microsoft-Entra-Anmeldedaten
    • Funktioniert mit Blob und Data Lake Storage

SAS Tokens

  • Service SAS
    • Verwendet Schlüssel des Speicherkontos
    • Zugriff auf einen Dienst: Blob, Queue, Table oder File
  • Account SAS
    • Verwendet Schlüssel des Speicherkontos
    • Zugriff auf mehrere Dienste
    • Vorgänge auf Dienstebene
Azure-Sicherheit für Entwickler implementieren

Praxisbeispiel

  • Szenario:

    • PeopleSphere teilt Gehaltsabrechnungen mit einer externen Prüferin/einem externen Prüfer
  • SAS-Typ: User Delegation SAS

  • Gescopeter Zugriff:

    • Prüfer sieht nur die nötigen Berichte
  • Zeitlich begrenzt:

    • Zugriff endet automatisch
  • Sicher authentifiziert:

    • Azuredaten von PeopleSphere

User Delegation SAS

Azure-Sicherheit für Entwickler implementieren

SAS-Struktur verstehen

Bestandteile einer SAS

  1. URI – Ressourcenpfad
  2. Token – Zugriffsregeln & Signatur

SAS Token

Azure-Sicherheit für Entwickler implementieren

Token-Bestandteile

SAS Token

  • sp: Berechtigungen (z. B. r = read, w = write)
  • st / se: Start- und Ablaufzeit
  • spr: Protokoll (z. B. nur https)
  • sr: Ressourcentyp (b = blob, f = file)
  • sv: Storage-API-Version
  • sig: Signatur zur Validierung
Azure-Sicherheit für Entwickler implementieren

Best Practices für SAS

  • Immer HTTPS verwenden

  • Bevorzuge User Delegation SAS
  • Kurze Ablaufzeiten setzen

Short Expiry

  • Minimal nötige Berechtigungen vergeben

Grant Least Access

  • SAS für Hochrisiko-Zugriffe vermeiden

Highly sensitive data

Azure-Sicherheit für Entwickler implementieren

Lass uns üben!

Azure-Sicherheit für Entwickler implementieren

Preparing Video For Download...