Vad är en OneLake-signatur för delad åtkomst (SAS)? (Förhandsversion)
En Signatur för delad åtkomst i OneLake (SAS) ger säker, kortsiktig och delegerad åtkomst till resurser i din OneLake. Med en OneLake SAS har du detaljerad kontroll över hur en klient kan komma åt dina data. Till exempel:
- Vilka resurser klienten kan komma åt.
- Vilka behörigheter de har till resurserna.
- Hur länge SAS är giltigt.
Varje OneLake SAS (och användardelegeringsnyckel) backas alltid upp av en Microsoft Entra-identitet, har en maximal livslängd på 1 timme och kan bara ge åtkomst till mappar och filer i ett dataobjekt, som ett lakehouse.
Viktigt!
Den här funktionen är i förhandsversion.
Så här fungerar en signatur för delad åtkomst
En signatur för delad åtkomst är en token som läggs till i URI:n för en OneLake-resurs. Token innehåller en särskild uppsättning frågeparametrar som anger hur klienten kan komma åt resursen. En av frågeparametrarna är signaturen. Den konstrueras från SAS-parametrarna och signeras med nyckeln som användes för att skapa SAS. OneLake använder den här signaturen för att auktorisera åtkomst till mappen eller filen i OneLake. OneLake SAS använder samma format och egenskaper som Användardelegering av Användardelegering i Azure Storage, men med fler säkerhetsbegränsningar för deras livslängd och omfattning.
En OneLake SAS är signerad med en användardelegeringsnyckel (UDK), som backas upp av en Microsoft Entra-autentiseringsuppgift. Du kan begära en användardelegeringsnyckel med åtgärden Hämta användardelegeringsnyckel . Sedan använder du den här nyckeln (även om den fortfarande är giltig) för att skapa OneLake SAS. Behörigheterna för det Microsoft Entra-kontot, tillsammans med de behörigheter som uttryckligen beviljats SAS, avgör klientens åtkomst till resursen.
Auktorisera en OneLake SAS
När en klient eller ett program får åtkomst till OneLake med en OneLake SAS, auktoriseras begäran med hjälp av Microsoft Entra-autentiseringsuppgifterna som begärde den UDK som användes för att skapa SAS. Därför gäller alla OneLake-behörigheter som beviljats den Microsoft Entra-identiteten för SAS, vilket innebär att en SAS aldrig kan överskrida behörigheterna för användaren som skapar den. När du skapar en SAS beviljar du dessutom uttryckligen behörigheter, så att du kan ge sas ännu mer begränsade behörigheter. Mellan Microsoft Entra-identiteten, de uttryckligen beviljade behörigheterna och den korta livslängden följer OneLake rekommenderade säkerhetsmetoder för att ge delegerad åtkomst till dina data.
När du ska använda en OneLake SAS
OneLake SASs delegerar säker och tillfällig åtkomst till OneLake, som backas upp av en Microsoft Entra-identitet. Program utan inbyggt Microsoft Entra-stöd kan använda en OneLake SAS för att få tillfällig åtkomst för att läsa in data utan komplicerat konfigurations- och integrationsarbete.
OneLake SASs stöder också program som fungerar som proxyservrar mellan användare och deras data. Till exempel körs vissa oberoende programvaruleverantörer (ISV:er) mellan användare och deras infrastrukturresurser, vilket ger extra funktioner och eventuellt en annan autentiseringsmodell. Genom att delegera åtkomst med en OneLake SAS kan dessa ISV:er hantera åtkomst till underliggande data och ge direkt åtkomst till data, även om deras användare inte har Microsoft Entra-identiteter.
Hantera OneLake SAS
Två inställningar i fabric-klientorganisationen hanterar användningen av OneLake SASs. Den första är en inställning på klientorganisationsnivå, Use short-lived user-delegated SAS tokens, som hanterar genereringen av användardelegeringsnycklar. Eftersom användardelegeringsnycklar genereras på klientorganisationsnivå styrs de av en klientinställning. Den här inställningen är aktiverad som standard eftersom dessa användardelegeringsnycklar har motsvarande behörigheter som Den Microsoft Entra-identitet som begär dem och alltid är kortvariga.
Kommentar
Om du inaktiverar den här funktionen förhindrar du att alla arbetsytor använder OneLake SAS eftersom alla användare inte kan generera användardelegeringsnycklar.
Den andra inställningen är en delegerad arbetsyteinställning, Authenticate with OneLake user-delegated SAS tokens, som styr om en arbetsyta accepterar en OneLake SAS. Den här inställningen är inaktiverad som standard och kan aktiveras av en arbetsyteadministratör som vill tillåta autentisering med en OneLake SAS på sin arbetsyta. En klientadministratör kan aktivera den här inställningen för alla arbetsytor via klientinställningen eller låta arbetsyteadministratörer aktivera den.
Du kan också övervaka skapandet av användardelegeringsnycklar via efterlevnadsportal i Microsoft Purview. Du kan söka efter åtgärdsnamnet generateonelakeudk för att visa alla nycklar som genererats i din klientorganisation. Eftersom det är en åtgärd på klientsidan att skapa en SAS kan du inte övervaka eller begränsa skapandet av en OneLake SAS, bara genereringen av en UDK.
Metodtips med OneLake SAS
- Använd alltid HTTPS för att skapa eller distribuera en SAS för att skydda mot man-in-the-middle-attacker som försöker fånga upp SAS.
- Spåra dina förfallotider för token, nyckel och SAS-token. OneLake-användardelegeringsnycklar och SAS har en maximal livslängd på 1 timme. Om du försöker begära en UDK eller skapa en SAS med en livslängd som är längre än 1 timme misslyckas begäran. För att förhindra att SAS används för att förlänga livslängden för förfallna OAuth-token måste tokens livslängd också vara längre än förfallotiden för användardelegeringsnyckeln och SAS.
- Var försiktig med en SAS-starttid. Om du anger starttiden för en SAS som aktuell tid kan det orsaka fel under de första minuterna, på grund av olika starttider mellan datorer (klocksnedställning). Om du anger starttiden till några minuter tidigare kan du skydda mot dessa fel.
- Ge SAS minsta möjliga behörighet. Att ge minsta möjliga behörighet till så få resurser som möjligt är bästa praxis för säkerhet och minskar effekten om en SAS komprometteras.
- Övervaka genereringen av användardelegeringsnycklar. Du kan granska skapandet av användardelegeringsnycklar i efterlevnadsportal i Microsoft Purview. Sök efter åtgärdsnamnet "generateonelakeudk" för att visa nycklar som genererats i din klientorganisation.
- Förstå begränsningarna i OneLake SASs. Eftersom OneLake SASs inte kan ha behörigheter på arbetsytenivå är de inte kompatibla med vissa Azure Storage-verktyg som förväntar sig att behörigheter på containernivå ska passera data, till exempel Azure Storage Explorer.