Jaa


OneLaken jaetun käyttöoikeuden allekirjoituksen (SAS) luominen (esikatselu)

Voit luoda OneLake SAS:n, joka tarjoaa lyhyenaikaisen ja delegoidun käyttöoikeuden OneLaken kansioon tai tiedostoon Microsoft Entra -tunnistetiedoillasi. OneLake SAS voi tarjota väliaikaiset käyttöoikeudet sovelluksiin ilman Microsoft Entran tukea, jolloin he voivat ladata tietoja tai toimia välityspalvelimina muiden asiakassovellusten tai riippumattomien ohjelmistotoimittajien (ISV) välillä.

OneLake SAS:n luomiseksi sinun on ensin pyydettävä käyttäjän delegointiavainta, jota käytät sitten SAS:n allekirjoittamiseen. Jos haluat pyytää käyttäjän delegoinnin avainta, kutsu Hae käyttäjän delegointiavain - toimintoa. OneLake SAS voi myöntää käyttöoikeuden vain tietokohteiden tiedostoihin ja kansioihin, eikä sitä voi käyttää hallintatoimintoihin, kuten kohteiden tai työtilojen luomiseen tai poistamiseen.

OneLake SAS voi myöntää käyttöoikeuden vain tietokohteiden tiedostoihin ja kansioihin, eikä sitä voi käyttää hallintatoimintoihin, kuten työtilojen tai kohteiden luomiseen.

OneLake SAS luodaan samalla tavalla kuin Azure-tallennus käyttäjän delegoitu SAS, käyttäen samoja parametreja yhteensopivuuden parametrien avulla Azure-tallennus kanssa yhteensopivien työkalujen ja sovellusten kanssa.

Tärkeä

Tämä ominaisuus on esikatselutilassa.

Määritä oikeudet

Käyttäjän delegointiavaimen pyytäminen on vuokraajatason toiminto Fabricissa. Käyttäjän delegointiavaimen pyytämistä varten käyttäjällä tai suojausperiaatteella, joka pyytää käyttäjän delegointiavainta, on oltava vähintään lukuoikeudet yhdessä Fabric-vuokraajan työtilassa. Pyynnön esittäneen käyttäjän henkilöllisyyden avulla todennetaan SAS, mikä tarkoittaa sitä, että käyttäjällä on oltava käyttöoikeudet tietoihin, joihin hän myöntää SAS:n käyttöoikeuden.

OAuth 2.0 -tunnuksen hankinta

Saat käyttäjän delegointiavaimen pyytämällä ensin OAuth 2.0 -tunnusta Microsoft Entra -tunnuksesta. Valtuuta Käyttäjän delegoinnin avain -toiminnon kutsu antamalla tunnus Haltija-järjestelmälle. Lisätietoja OAuth-tunnuksen pyytämisestä Microsoft Entra -tunnuksesta on kohdassa Todentamisen työnkulut ja sovellusskenaariot.

Käyttäjän delegointiavaimen pyytäminen

Hae käyttäjän delegoinnin avain -toiminnon kutsuminen palauttaa avaimen arvojoukkona, jota käytetään parametreina käyttäjän delegoinnin SAS-tunnuimessa. Nämä parametrit on kuvattu Hae käyttäjän delegointiavain -viittauksessa ja seuraavassa osassa.

Kun asiakas pyytää käyttäjän delegoinnin avainta OAuth 2.0 -tunnuksen avulla, OneLake palauttaa käyttäjän delegoinnin avaimen asiakkaan puolesta. Tällä käyttäjän delegointiavaimella luotu SAS-tunnus myönnetään enintään asiakkaalle myönnetyt käyttöoikeudet, jotka on rajoitettu SAS:ssä nimenomaisesti myönnettyjen käyttöoikeuksien mukaisesti.

Voit luoda minkä tahansa määrän OneLake-SAS-arvoja käyttäjän delegointiavaimen elinkaaren ajan. OneLakeN SAS:n ja käyttäjän delegoinnin avaimet voivat kuitenkin olla voimassa enintään tunnin, eivätkä ne voi ylittää niitä pyytävän tunnuksen elinkaarta. Nämä elinkaarirajoitukset ovat lyhyempiä kuin Azure-tallennus käyttäjän delegoidun SAS:n enimmäisikä.

Käyttäjävaltuutuksen SAS:n muodostaminen

Seuraavassa taulukossa on yhteenveto kentistä, joita OneLake SAS -tunnus tukee. Seuraavissa osioissa annetaan lisätietoja näistä parametreista ja siitä, miten ne eroavat Azure-tallennus SAS-tunnuksista. OneLake ei tue kaikkia Azure-tallennus tukemia valinnaisia parametreja, ja tukemattomalla parametrilla rakennettu OneLake SAS hylätään.

SAS-kentän nimi SAS-tunnusparametri Tila Kuvaus
signedVersion sv Pakollinen Ilmaisee sen palvelun version, jota käytetään allekirjoituskentän muodostamiseen. OneLake tukee versiota '2020-02-10', kaikki versiot jälkeen '2020-12-06' ja versiot ennen '2020-02-10'.
signedResource sr Pakollinen Määrittää, mitkä resurssit ovat käytettävissä jaetun käytön allekirjoituksen avulla. Vain blob (b) ja hakemisto (d) soveltuvat OneLakeen.
signedStart st Valinnainen Aika, jolloin jaetun käyttöoikeuden allekirjoituksesta tulee kelvollinen. ISO 8601 UTC -muoto.
signedExpiry se Pakollinen Jaetun käyttöoikeuden allekirjoituksen vanhentumisaika
signedPermissions sp Pakollinen Ilmaisee, mitä toimintoja SAS voi suorittaa resurssille. Lisätietoja on Käyttöoikeuksien määrittäminen -osassa
signedObjectId skoid Pakollinen Tunnistaa Microsoft Entra -suojausobjektin.
signedtenantId sktid Pakollinen Määrittää Microsoft Entra -vuokraajan, jossa suojausobjekti määritetään.
signedKeyStartTime skt Valinnainen Aika UTC-ajassa, kun allekirjoitusavain alkaa. Hae käyttäjän delegoinnin avain -toiminnon palauttama.
signedKeyExpiryTime ske Pakollinen Aika UTC-ajassa, kun allekirjoitusavain päättyy. Hae käyttäjän delegoinnin avain -toiminnon palauttama.
signedKeyVersion skv Pakollinen Tallennuspalveluversio, jolla saadaan käyttäjän delegointiavain. Hae käyttäjän delegoinnin avain -toiminnon palauttama. OneLake tukee versioita 2020-02-10 ja aiempia versioita sekä versioita 2020-12-06 jälkeen
signedKeyService sks Pakollinen Käyttäjän delegoinnin avaimen kelvollinen palvelu. OneLake tukee vain Blob-säilöä (sks=b).
signature sig Pakollinen Allekirjoitus on hajautusarvopohjainen sanoman todennuskoodi (HMAC), joka on laskettu merkkijonosta merkkiin ja avaimeen KÄYTTÄMÄLLÄ SHA256-algoritmia ja koodattu sitten Base64-koodauksella.
signedAuthorizedObjectId saoid Ei tuettu OneLake SAS ei tue tätä ominaisuutta.
signedUnauthorizedObjectId suoid Ei tuettu OneLake SAS ei tue tätä ominaisuutta.
signedCorrelationId suoid Ei tuettu OneLake SAS ei tue tätä parametria.
signedDirectoryDepth sdd Valinnainen Ilmaisee hakemistojen määrän hakemiston pääkansiossa, joka on määritetty merkkijono-to-sign-merkin canonicalizedResource-kentässä. Tuetaan vain kun sr=d.
signedEncryptionScope ses Ei tuettu OneLake SAS ei tällä hetkellä tue mukautettuja salausalueita.
signedIP sip Ei tuettu OneLake SAS ei tällä hetkellä tue IP-suodatusta
signedProtocol spr Valinnainen OneLake tukee vain https-pyyntöjä.
Cache-Control vastauksen otsikko rscc Ei tuettu OneLake SAS ei tue tätä parametria.
Content-Disposition vastauksen otsikko rscd Ei tuettu OneLake SAS ei tue tätä parametria.
Content-Encoding vastauksen otsikko rsce Ei tuettu OneLake SAS ei tue tätä parametria.
Content-Language vastauksen otsikko rscl Ei tuettu OneLake SAS ei tue tätä parametria.
Content Type vastauksen otsikko rsct Ei tuettu OneLake SAS ei tue tätä parametria.

Määritä käyttöoikeudet

SAS-tunnuksen (sp)-kentässä määritetyt signedPermissions käyttöoikeudet osoittavat, mitä toimintoja SAS:n hallussa oleva asiakas voi suorittaa resurssille.

Oikeuksia voidaan yhdistää, jotta asiakas voi suorittaa useita toimintoja samalla SAS:lla. Kun muodostat SAS:n, sinun on sisällytettävä käyttöoikeudet seuraavassa järjestyksessä: racwdxltmeop.

Kelvollisia käyttöoikeusasetuksia ovat esimerkiksi rw, , rd, rlwd, , wlja rl. Käyttöoikeutta ei voi määrittää useammin kuin kerran.

Jo olemassa olevien Azure-tallennus -työkalujen pariteetin takaamiseksi OneLake käyttää samaa käyttöoikeusmuotoa kuin Azure-tallennus. OneLake arvioi SAS:lle myönnetyt käyttöoikeudet , Fabricissa signedPermissionsallekirjoitusten käyttöoikeudet ja mahdolliset OneLake-tietojen käyttöoikeusroolit. Muista, että joitakin toimintoja, kuten käyttöoikeuksien määrittäminen tai työtilojen poistaminen, ei sallita OneLakessa Azure-tallennus ohjelmointirajapintojen kautta yleensä, joten tämän käyttöoikeuden myöntäminen (sp=op) ei salli OneLake SAS:n suorittaa näitä toimintoja.

Oikeus URI-symboli Resurssi Sallitut toiminnot
Luettu r Hakemisto, blob Lue minkä tahansa säilön tai hakemiston blob-objektin sisältö, estettyjen luettelo, ominaisuudet ja metatiedot. Käytä blob-objektia kopiointitoiminnon lähteenä.
Lisää a Hakemisto, blob Lisää lohko liitä blob-objektiin.
Create c Hakemisto, blob Uuden blob-objektin kirjoittaminen, blob-objektin tilannevedos tai blob-objektin kopioiminen uuteen blob-objektiin.
Kirjoitus k Hakemisto, blob Luo tai kirjoita sisältöä, ominaisuuksia, metatietoja tai estoluetteloa. Tilannevedos tai vuokraa blob-objekti. Käytä blob-objektia kopiointitoiminnon kohteena.
Delete p Hakemisto, blob Blob-objektin poistaminen.
Poista versio x Möykky Blob-version poistaminen.
Pysyvä poisto y Möykky Poista blob-tilannevedos tai -versio pysyvästi.
List l Directory Luettele blob-objektit nonrekursiivisesti.
Tunnisteet t Möykky Lue tai kirjoita tunnisteet blob-objektissa.
Siirrä m Hakemisto, blob Siirrä blob-objekti tai hakemisto ja sen sisältö uuteen sijaintiin.
Suorita e Hakemisto, blob Hae järjestelmän ominaisuudet ja, jos hierarkkinen nimitila on käytössä tallennustilille, hanki blob-objektin POSIX ACL.
Omistus o Hakemisto, blob Määritä omistaja tai omistava ryhmä. Ei tuettu OneLakessa
Oikeudet p Hakemisto, blob Määritä käyttöoikeudet. Ei tuettu OneLakessa
Määritä muuttumattomuuden käytäntö minä Möykky Määritä tai poista muuttumattomuuden käytäntö tai blob-objektin oikeudellinen pito.

Määritä allekirjoitus

-kentän signaturesigavulla valtuutetaan asiakkaan tekemä pyyntö jaetun käyttöoikeuden allekirjoituksella. String-to-sign on yksilöivä merkkijono, joka on muodostettu kentistä, jotka on todennettava pyynnön valtuuttamista varten. Allekirjoitus on HMAC, joka lasketaan merkkijonosta merkkiin ja avaimeen KÄYTTÄMÄLLÄ SHA256-algoritmia ja koodataan sitten käyttämällä bBase65-koodausta.

Muodosta käyttäjän delegoinnin SAS:n allekirjoitusmerkkijono luomalla string-to-sign -merkki pyynnön kentistä, koodaa merkkijono UTF-8:ksi ja laske sitten allekirjoitus HMAC-SHA256-algoritmilla. Merkkijono-merkkiin sisältyvien kenttien koodauksen URL-osoite on poistettava.

Merkkimerkkijonon edellyttämät kentät riippuvat palveluversiosta, jota käytetään valtuutuskenttään (sv). Seuraavassa osassa kuvataan OneLake-palvelutasosanoja tukevien versioiden merkkijonon kirjautumisen määritykset.

Versio 2020-12-06 ja uudemmat

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                signedEncryptionScope + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

Versio 2020-01-10

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

Versiot, jotka ovat aikaisempia kuin 2020-02-10

StringToSign =  signedPermissions + "\n" +  
                signedStart + "\n" +  
                signedExpiry + "\n" +  
                canonicalizedResource + "\n" +  
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +  
                signedProtocol + "\n" +  
                signedVersion + "\n" +  
                signedResource + "\n" +
                rscc + "\n" +
                rscd + "\n" +  
                rsce + "\n" +  
                rscl + "\n" +  
                rsct

Kanoninen resurssi

Merkkijonon canonicalizedResource osa on kanoninen polku resurssiin. Sen on sisällettävä OneLake-päätepiste ja resurssin nimi, ja sen URL-osoitteen on oltava poistettu. OneLake-polun on sisällettävä sen työtila, ja hakemistopolun on sisällettävä parametria vastaavien alihakemistojen sdd määrä.

Seuraavissa esimerkeissä näytetään, miten voit muuntaa OneLaken URL-osoitteen vastaavaksi kanoniseksi kanoniseksi resurssiksi. Muista, että OneLake tukee sekä DFS- että Blob-toimintoja ja päätepisteitä ja että OneLake-tilin nimi on aina onelake.

Blob-tiedosto

URL = https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/sales.csv
canonicalizedResource = "/blob/onelake/myWorkspace/myLakehouse.Lakehouse/Files/sales.csv"

DFS-hakemisto

URL = https://onelake.dfs.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/
canonicalizedResource = "/blob/onelake/myWorkspace/myLakehouse.Lakehouse/Files/"

Esimerkki OneLake SAS:sta

Seuraavassa esimerkissä näkyy OneLake SAS URI, jonka liitettynä on OneLake SAS -tunnus. SAS-tunnus antaa luku- ja kirjoitusoikeudet Lakehousen Tiedostot-kansioon.

https://onelake.blob.fabric.microsoft.com/myWorkspace/myLakehouse.Lakehouse/Files/?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&skoid=<object-id>&sktid=<tenant-id>&skt=2023-05-24T01:13:55Z&ske=2023-05-24T09:13:55Z&sks=b&skv=2022-11-02&sv=2022-11-02&sr=d&sig=<signature>