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.
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.
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
, rl
wd
, , wl
ja 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 signedPermissions
allekirjoitusten 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 signature
sig
avulla 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>