Szolgáltatási SAS létrehozása

A szolgáltatások közös hozzáférésű jogosultságkódja (SAS) csak az egyik tárolási szolgáltatásban delegálja a hozzáférést egy erőforráshoz: Azure Blob Storage, Azure Queue Storage, Azure Table Storage vagy Azure Files. A szolgáltatásszintű SAS URI-ja annak az erőforrásnak az URI-ja, amelyhez az SAS hozzáférést delegál, majd az SAS-jogkivonat.

Az SAS-jogkivonat a lekérdezési sztring, amely tartalmazza a kérés engedélyezéséhez szükséges összes információt. A jogkivonat megadja az ügyfél által elérhető erőforrást, a megadott engedélyeket és az aláírás érvényességének időtartamát.

Az SAS megadhatja azt a támogatott IP-címet vagy címtartományt is, amelyből a kérések származhatnak, azt a támogatott protokollt, amellyel kérést lehet kezdeményezni, vagy a kéréshez társított opcionális hozzáférési szabályzat-azonosítót.

Végül minden SAS-jogkivonat tartalmaz egy aláírást.

Figyelemfelhívás

A közös hozzáférésű jogosultságkódok olyan kulcsok, amelyek engedélyeket adnak a tárolási erőforrásoknak, és ugyanúgy védenie kell őket, mint egy fiókkulcsot. Fontos, hogy megvédje az SAS-t a rosszindulatú vagy nem szándékos használattól. Használja a diszkréciót az SAS terjesztéséhez, és rendelkezzen egy tervvel a sérült SAS visszavonásához. A közös hozzáférésű jogosultságkódokat használó műveleteket csak HTTPS-kapcsolaton keresztül szabad végrehajtani, az SAS URI-kat pedig csak biztonságos kapcsolaton, például HTTPS-en szabad terjeszteni.

Szolgáltatás SAS engedélyezése

Tárfiókkulcs használatával biztonságossá teheti a fiók SAS-t. Fiók SAS létrehozásakor az ügyfélalkalmazásnak rendelkeznie kell a fiókkulcsmal.

Ha Microsoft Entra hitelesítő adatokkal szeretné biztonságossá tenni az SAS-t egy tárolóhoz vagy blobhoz, hozzon létre egy felhasználói delegálási SAS-t.

Szolgáltatás SAS-támogatása címtárhatókörű hozzáféréshez

A szolgáltatás SAS akkor támogatja a címtár hatókörét (sr=d), ha az engedélyezési verzió (sv) 2020-02-10 vagy újabb, és engedélyezve van egy hierarchikus névtér. A címtár-hatókör szemantikája (sr=d) hasonló a tároló hatóköréhez (sr=c), azzal a kivételrel, hogy a hozzáférés egy könyvtárra és a benne lévő fájlokra és alkönyvtárakra korlátozódik. Ha sr=d meg van adva, a lekérdezési sdd paraméterre is szükség van.

A 2020-02-10 engedélyezési verzió sztring–aláírás formátuma változatlan.

Szolgáltatás SAS-jének létrehozása

Az alábbi kép a közös hozzáférésű jogosultságkód URI-jának részeit ábrázolja. A szükséges részek narancssárga színnel jelennek meg. Az SAS-jogkivonatot alkotó mezőket a következő szakaszok ismertetik.

A közös hozzáférésű jogosultságkód URL-címének paraméterelemeinek diagramja.

Az alábbi szakaszok ismertetik, hogyan adhatja meg a szolgáltatás SAS-jogkivonatát alkotó paramétereket.

signedVersion A mező megadása

A signedVersion (sv) mező a megosztott hozzáférésű jogosultságkód szolgáltatásverzióját tartalmazza. Ez az érték a közös hozzáférésű jogosultságkód által (a signature mezőben) használt megosztottkulcs-engedélyezés verzióját adja meg. Az érték az ezzel a közös hozzáférésű jogosultságkóddal küldött kérések szolgáltatásverzióját is meghatározza.

Arról, hogy melyik verziót használja a rendszer a kérések közös hozzáférésű jogosultságkódon keresztüli végrehajtásakor, olvassa el az Azure Storage-szolgáltatások verziószámozása című témakört.

Arról, hogy ez a paraméter hogyan befolyásolja a megosztott hozzáférésű jogosultságkóddal küldött kérések engedélyezését, olvassa el a Hozzáférés delegálása közös hozzáférésű jogosultságkóddal című témakört.

Mező neve Lekérdezési paraméter Leírás
signedVersion sv Kötelező. A 2012-02-12-es és újabb verziókban támogatott. A társzolgáltatás azon verziója, amellyel engedélyezheti és kezelheti az ezzel a közös hozzáférésű jogosultságkóddal kapcsolatos kéréseket. További információ: Verziószámozás az Azure Storage-szolgáltatásokhoz.

Örökölt SAS-kérés verziójának meghatározása

Azokban az örökölt esetekben, ahol signedVersion nincs használatban, a Blob Storage szabályokat alkalmaz a verzió meghatározására. További információ ezekről a szabályokról: Verziószámozás az Azure Storage-szolgáltatásokhoz.

Fontos

Az ügyfélszoftver váratlan protokollhasználatot tapasztalhat, ha olyan megosztott hozzáférésű jogosultságkód URI-t használ, amely az ügyfélszoftvernél újabb társzolgáltatás-verziót használ. A megosztott hozzáférésű jogosultságkód URI-jait összeállító kódnak olyan verziókra kell támaszkodnia, amelyeket a tárolási szolgáltatás kéréseit intéző ügyfélszoftver megért.

Az aláírt erőforrás megadása (csak Blob Storage esetén)

A kötelező signedResource (sr) mező meghatározza, hogy mely erőforrások érhetők el a közös hozzáférésű jogosultságkódon keresztül. Az alábbi táblázat azt ismerteti, hogyan hivatkozhat egy blob- vagy tárolóerőforrásra az SAS-jogkivonatban.

Erőforrás Paraméter értéke Támogatott verziók Description
Blob b Mind Hozzáférést biztosít a blob tartalmához és metaadataihoz.
Blobverzió Bv 2018-11-09 és újabb Hozzáférést biztosít a blobverzió tartalmához és metaadataihoz, az alapblobhoz azonban nem.
Blob-pillanatkép Bs 2018-11-09 és újabb Hozzáférést biztosít a blob pillanatképének tartalmához és metaadataihoz, az alapblobhoz nem.
Tároló c Mind Hozzáférést biztosít a tárolóban található blobok tartalmához és metaadataihoz, valamint a tárolóban lévő blobok listájához.
Címtár n 2020-02-10 és újabb Hozzáférést biztosít a címtárban lévő blobok tartalmához és metaadataihoz, valamint a címtárban lévő blobok listájához egy hierarchikus névtérrel rendelkező tárfiókban. Ha a mezőhöz signedResource könyvtár van megadva, a signedDirectoryDepth (sdd) paraméterre is szükség van. A címtárak mindig egy tárolóba ágyazva lesznek.

Az aláírt erőforrás megadása (Azure Files)

Az SAS Azure Files 2015-02-21-es és újabb verzióihoz támogatott.

A signedResource mező meghatározza, hogy mely erőforrások érhetők el a közös hozzáférésű jogosultságkódon keresztül. Az alábbi táblázat bemutatja, hogyan hivatkozhat egy fájlra vagy oszthat meg erőforrást az URI-n.

Mező neve Lekérdezési paraméter Leírás
signedResource sr Kötelező.

Adja meg f , hogy a megosztott erőforrás fájl-e. Ezzel hozzáférést biztosít a fájl tartalmához és metaadataihoz.

Adja meg s , hogy a megosztott erőforrás megosztás-e. Ezzel hozzáférést biztosít a megosztás bármely fájljának tartalmához és metaadataihoz, valamint a megosztásban lévő könyvtárak és fájlok listájához.

Lekérdezési paraméterek megadása a válaszfejlécek felülbírálásához (csak Blob Storage és Azure Files)

Ha meg szeretné határozni bizonyos válaszfejlécek értékeit, amelyeket akkor kell visszaadni, ha a közös hozzáférésű jogosultságkódot használják egy kérelemben, megadhatja a válaszfejléceket a lekérdezési paraméterekben. Ez a funkció a Blob Storage 2013-08-15-es, a Azure Files 2015-02-21-es verziójától támogatott. Az ezt a funkciót használó közös hozzáférésű jogosultságkódoknak tartalmazniuk kell a sv Blob Storage vagy újabb, illetve 2015-02-21 a Azure Files vagy újabb paraméterét2013-08-15.

A válaszfejlécek és a kapcsolódó lekérdezési paraméterek az alábbi táblázatban találhatók:

Válaszfejléc neve Megfelelő SAS-lekérdezési paraméter
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Ha például a lekérdezési paramétert rsct=binary a 2013-08-15-ös vagy újabb verzióval létrehozott közös hozzáférésű jogosultságkódon adja meg, a Content-Type válaszfejléc a következőre binaryvan állítva: . Ez az érték felülbírálja a Content-Type blobhoz tárolt fejlécértéket egy olyan kéréshez, amely csak ezt a közös hozzáférésű jogosultságkódot használja.

Ha olyan közös hozzáférésű jogosultságkódot hoz létre, amely lekérdezési paraméterekként adja meg a válaszfejléceket, az aláírási sztring létrehozásához használt sztringbe kell foglalnia őket. További információt a jelen cikk "Az aláírási sztring létrehozása" című szakaszában talál. További példákért lásd: Service SAS-példák.

A tábla nevének megadása (csak Table Storage esetén)

A tableName mező a megosztani kívánt tábla nevét adja meg.

Mező neve Lekérdezési paraméter Leírás
tableName tn Kötelező. A megosztani kívánt tábla neve.

A hozzáférési szabályzat megadása

Az URI hozzáférési szabályzatának része azt az időtartamot jelzi, amely alatt a közös hozzáférésű jogosultságkód érvényes, valamint a felhasználónak adható engedélyeket. Az URI hozzáférési szabályzatot alkotó részeit az alábbi táblázat ismerteti:

Mező neve Lekérdezési paraméter Leírás
signedStart st Választható. A közös hozzáférésű jogosultságkód érvényességének időpontja az elfogadott ISO 8601 UTC formátumok egyikében kifejezve. Ha ezt a paramétert nem adja meg, a rendszer az aktuális UTC-időt használja kezdő időpontként.

A 2012-02-12-nél korábbi verziókban az időtartam signedStartsignedExpiry nem haladhatja meg az egy órát, kivéve, ha tárolóházirendet használ. Az elfogadott UTC-formátumokról további információt a Dátum/idő értékek formázása című témakörben talál.
signedExpiry se Kötelező. A közös hozzáférésű jogosultságkód érvénytelenné válásának időpontja az elfogadott ISO 8601 UTC formátumok egyikében kifejezve. Ezt a mezőt ki kell hagynia, ha egy társított tárolt hozzáférési szabályzatban van megadva. Az elfogadott UTC-formátumokról további információt a Dátum/idő értékek formázása című témakörben talál.
signedPermissions1 sp Kötelező. A közös hozzáférésű jogosultságkódhoz társított engedélyek. A felhasználó az engedélyek által engedélyezett műveletekre korlátozódik. Ezt a mezőt ki kell hagynia, ha egy társított tárolt hozzáférési szabályzatban van megadva.
startPk2

startRk2
spk

srk
Csak Table Storage.

Nem kötelező, de startPk a mellette kell lennie startRk. Az ezzel a közös hozzáférésű jogosultságkóddal elérhető minimális partíció- és sorkulcsok. A kulcsértékek befogadóak. Ha nincsenek megadva, a táblaentitásokon nincs alsó határ, amely elérhető.
endPk2

endRk2
epk

erk
Csak Table Storage.

Nem kötelező, de endPk a mellette kell lennie endRk. Az ezzel a közös hozzáférésű jogosultságkóddal elérhető partíció- és sorkulcsok maximális száma. A kulcsértékek befogadóak. Ha nincsenek megadva, nincs felső határa az elérhető táblaentitásoknak.

1 A signedPermissions mező megadása kötelező az URI-n, kivéve, ha egy tárolt hozzáférési szabályzat részeként van megadva.
2 A startPk, startRk, endPkés endRk mezők csak a Table Storage-erőforrásokon adhatók meg.

Engedélyek megadása

Az SAS-jogkivonat (sp) mezőjéhez signedPermissions megadott engedélyek jelzik, hogy az ügyfél milyen műveleteket hajthat végre az erőforráson.

Az engedélyek kombinálásával lehetővé teheti, hogy egy ügyfél több műveletet is végrehajtson ugyanazzal az SAS-vel. Az SAS létrehozásakor az engedélyeket a következő sorrendben kell megadnia:

racwdxltmeop

A tároló érvényes engedélybeállításai közé tartoznak például a következők: rw, rd, rl, wd, wlés rl. Érvénytelen beállítások például a következők: wr, dr, lrés dw. Csak egyszer adhat meg engedélymegjelölést.

A szolgáltatási SAS nem tud hozzáférést biztosítani bizonyos műveletekhez:

  • A tárolók, üzenetsorok és táblák nem hozhatók létre, törölhetők és nem listázhatók.
  • A tároló metaadatai és tulajdonságai nem olvashatók és nem írhatók.
  • Az üzenetsorok nem törölhetők, és a metaadataik nem írhatók.
  • A tárolók nem adhatók bérbe.

Ha olyan SAS-t szeretne létrehozni, amely hozzáférést biztosít ezekhez a műveletekhez, használjon fiók SAS-t. További információ: Fiók SAS létrehozása.

Fontos

A közös hozzáférésű jogosultságkódok olyan kulcsok, amelyek engedélyeket biztosítanak a tárolási erőforrások számára, és ugyanúgy kell védeni őket, mint egy fiókkulcsot. Olyan műveleteket hajt végre, amelyek közös hozzáférésű jogosultságkódokat használnak csak HTTPS-kapcsolaton keresztül, és a közös hozzáférésű jogosultságkód URI-jait csak biztonságos kapcsolaton, például HTTPS-en terjesztik.

Az egyes erőforrástípusokhoz támogatott engedélyeket a következő szakaszok ismertetik.

Engedélyek könyvtárhoz, tárolóhoz vagy blobhoz

Az egyes erőforrástípusokhoz támogatott engedélyeket az alábbi táblázat ismerteti:

Engedély URI szimbólum Erőforrás Verziótámogatás Engedélyezett műveletek
Olvasás r Tároló
Címtár
Blob
Mind Olvassa el a tárolóban vagy könyvtárban található blobok tartalmát, tiltólistát, tulajdonságait és metaadatait. Másolási művelet forrásaként használjon blobot.
Hozzáadás a Tároló
Címtár
Blob
Mind Blokk hozzáadása hozzáfűző blobhoz.
Létrehozás c Tároló
Címtár
Blob
Mind Írjon egy új blobot, pillanatképet készítsen egy blobról, vagy másolja a blobot egy új blobba.
Írás w Tároló
Címtár
Blob
Mind Tartalom, tulajdonságok, metaadatok vagy tiltólista létrehozása vagy írása. A blob pillanatképe vagy bérlete. A blob átméretezése (csak lapblobok). Másolási művelet céljaként használja a blobot.
Törlés n Tároló
Címtár
Blob
Mind Blob törlése. A 2017-07-29-es és újabb verziók esetében a Törlés engedély lehetővé teszi a blobok bérletének megszakítását is. További információt a Blobbérlet műveletben talál.
Verzió törlése x Tároló
Blob
2019-12-12 és újabb verziók Blobverzió törlése.
Végleges törlés é Blob 2020-02-10 és újabb verziók Blobpillanatkép vagy -verzió végleges törlése.
Lista l Tároló
Címtár
Mind Nem rekurzív blobok listázása.
Címkék t Blob 2019-12-12 és újabb verziók Olvassa el vagy írja meg a címkéket egy blobon.
Keresés f Tároló 2019-12-12 és újabb verziók Keresse meg az indexcímkéket tartalmazó blobokat.
Áthelyezés m Tároló
Címtár
Blob
2020-02-10 és újabb verziók Blob vagy könyvtár és tartalma áthelyezése új helyre. Ez a művelet opcionálisan a gyermekblob, könyvtár vagy szülőkönyvtár tulajdonosára korlátozható, ha a saoid paraméter szerepel az SAS-jogkivonatban, és a beragadó bit be van állítva a szülőkönyvtárban.
Végrehajtás e Tároló
Címtár
Blob
2020-02-10 és újabb verziók Kérje le a rendszertulajdonságokat, és ha a hierarchikus névtér engedélyezve van a tárfiókhoz, kérje le egy blob POSIX ACL-ét. Ha a hierarchikus névtér engedélyezve van, és a hívó egy blob tulajdonosa, ez az engedély lehetővé teszi a blob tulajdonoscsoportjának, POSIX-engedélyeinek és POSIX ACL-jének beállítását. nem engedélyezi a hívó számára a felhasználó által definiált metaadatok olvasását.
Tulajdonjog o Tároló
Címtár
Blob
2020-02-10 és újabb verziók Ha a hierarchikus névtér engedélyezve van, ez az engedély lehetővé teszi, hogy a hívó beállítsa a tulajdonost vagy a tulajdonoscsoportot, vagy tulajdonosként viselkedjen egy olyan könyvtár vagy blob átnevezésekor vagy törlésekor, amely a beragadó bitkészlettel rendelkezik.
Engedélyek P Tároló
Címtár
Blob
2020-02-10 és újabb verziók Ha a hierarchikus névtér engedélyezve van, ez az engedély lehetővé teszi, hogy a hívó engedélyeket és POSIX ACL-eket állítson be könyvtárakon és blobokon.
Módosíthatatlansági szabályzat beállítása i Tároló
Blob
2020-06-12 és újabb verziók Állítsa be vagy törölje a blobok módosíthatatlansági szabályzatát vagy jogi célú visszatartási funkcióját.

Fájlokra vonatkozó engedélyek

Engedély URI szimbólum Engedélyezett műveletek
Olvasás r Olvassa el a tartalmat, a tulajdonságokat és a metaadatokat. Használja a fájlt másolási művelet forrásaként.
Létrehozás c Hozzon létre egy új fájlt, vagy másolja a fájlt egy új fájlba.
Írás w Tartalom, tulajdonságok, metaadatok létrehozása vagy írása. Méretezze át a fájlt. Használja a fájlt a másolási művelet céljaként.
Törlés n Törölje a fájlt.

Megosztás engedélyei

Engedély URI szimbólum Engedélyezett műveletek
Olvasás r Olvassa el a megosztásban lévő fájlok tartalmát, tulajdonságait vagy metaadatait. A megosztás bármely fájlját használhatja másolási művelet forrásaként.
Létrehozás c Hozzon létre egy új fájlt a megosztásban, vagy másolja a fájlt egy új fájlba a megosztásban.
Írás w A megosztásban lévő bármely fájlhoz hozzon létre vagy írjon tartalmat, tulajdonságokat vagy metaadatokat. Méretezze át a fájlt. Használja a fájlt a másolási művelet céljaként. Megjegyzés: Nem adhat engedélyeket a megosztás tulajdonságainak vagy metaadatainak olvasásához vagy írásához szolgáltatás SAS használatával. Használjon inkább fiók SAS-t.
Törlés n Törölje a megosztásban lévő fájlokat. Megjegyzés: Nem adhat engedélyeket a megosztások törléséhez szolgáltatás SAS használatával. Használjon inkább fiók SAS-t.
Lista l A megosztásban lévő fájlok és könyvtárak listázása.

Üzenetsor engedélyei

Engedély URI szimbólum Engedélyezett műveletek
Olvasás r Metaadatok és tulajdonságok olvasása, beleértve az üzenetek számát. Betekintés üzeneteknél.
Hozzáadás a Üzenetek hozzáadása az üzenetsorhoz.
Frissítés U Üzenetek frissítése az üzenetsorban. Megjegyzés: Használja a Folyamat engedélyt a Frissítéssel, hogy először megkapja a frissíteni kívánt üzenetet.
Folyamat P Üzenetek lekérése és törlése az üzenetsorból.

Táblák engedélyei

Engedély URI szimbólum Engedélyezett műveletek
Lekérdezés r Entitások lekérése és entitások lekérdezése.
Hozzáadás a Entitások hozzáadása. Megjegyzés: Az upsert műveletekhez hozzáadási és frissítési engedélyek szükségesek.
Frissítés U Entitások frissítése. Megjegyzés: Az upsert műveletekhez hozzáadási és frissítési engedélyek szükségesek.
Törlés n Entitások törlése.

IP-cím vagy IP-címtartomány megadása

A 2015-04-05-ös verziótól kezdődően a választható signedIp (sip) mező egy nyilvános IP-címet vagy egy nyilvános IP-címtartományt határoz meg, amelyből a kéréseket el kell fogadni. Ha az IP-cím, amelyről a kérés származik, nem egyezik meg az SAS-jogkivonatban megadott IP-címmel vagy címtartománysal, a kérés nincs engedélyezve. Csak az IPv4-címek támogatottak.

Ha IP-címtartományt ad meg, vegye figyelembe, hogy a tartomány a teljes tartományt magában foglalja. Például a vagy sip=168.1.5.60-168.1.5.70 a SAS megadása sip=168.1.5.65 korlátozza a kérést ezekre az IP-címekre.

Az alábbi táblázat azt ismerteti, hogy a signedIp mező szerepeljen-e egy SAS-jogkivonaton egy adott forgatókönyvhöz az ügyfélkörnyezet és a tárfiók helye alapján.

Ügyfélkörnyezet Tárfiók helye Ajánlás
Az Azure-ban futó ügyfél Ugyanabban a régióban, mint az ügyfél Az ügyfélnek ebben a forgatókönyvben biztosított SAS-nek nem szabad kimenő IP-címet tartalmaznia a signedIp mezőhöz. A megadott kimenő IP-címmel rendelkező SAS-t használó régióból érkező kérések sikertelenek lesznek.

Ehelyett használjon azure-beli virtuális hálózatot a hálózati biztonsági korlátozások kezeléséhez. Az egyazon régión belülről érkező Azure Storage-kérések mindig magánhálózati IP-címen keresztül történnek. További információ: Azure Storage-tűzfalak és virtuális hálózatok konfigurálása.
Az Azure-ban futó ügyfél Az ügyféltől eltérő régióban Az ügyfélnek ebben a forgatókönyvben biztosított SAS tartalmazhat egy nyilvános IP-címet vagy címtartományt a signedIp mezőhöz. Az SAS-sel küldött kérésnek a megadott IP-címről vagy címtartományból kell származnia.
A helyszínen vagy egy másik felhőkörnyezetben futó ügyfél Bármely Azure-régióban Az ügyfélnek ebben a forgatókönyvben biztosított SAS tartalmazhat egy nyilvános IP-címet vagy címtartományt a signedIp mezőhöz. Az SAS-sel küldött kérésnek a megadott IP-címről vagy címtartományból kell származnia.

Ha a kérés proxyn vagy átjárón halad át, adja meg a mezőhöz a proxy vagy átjáró signedIp nyilvános kimenő IP-címét.

A HTTP-protokoll megadása

A 2015-04-05-ös verziótól a választható signedProtocol (spr) mező határozza meg azt a protokollt, amely engedélyezve van az SAS-vel küldött kérésekhez. A lehetséges értékek csak HTTPS és HTTP (https,http) vagy HTTPS (https). Az alapértelmezett érték https,http. Vegye figyelembe, hogy a HTTP csak nem engedélyezett érték.

Táblahozzáférés-tartományok megadása

A startPk, startRk, endPkés endRk mező a táblaentitások tartományát határozza meg, amelyek közös hozzáférésű jogosultságkódhoz vannak társítva. A tábla lekérdezései csak a tartományon belüli eredményeket adnak vissza, és a tartományon kívüli entitások hozzáadására, frissítésére vagy törlésére tett közös hozzáférésű jogosultságkód használatával tett kísérletek sikertelenek lesznek.

Ha startPk egyenlő endPk, a közös hozzáférésű jogosultságkód csak a tábla egyetlen partíciójában engedélyezi az entitások elérését.

Ha startPk egyenlő endPk és startRk egyenlő endRk, a közös hozzáférésű jogosultságkód csak egy entitáshoz férhet hozzá egy partíción belül.

Ha meg szeretné tudni, hogy ezek a mezők hogyan korlátozzák a hozzáférést egy tábla entitásaihoz, tekintse meg az alábbi táblázatot:

A jelen lévő mezők A kényszer hatóköre
startPk partitionKey >= startPk
endPk partitionKey <= endPk
startPk, startRk (partitionKey >startPk) || (partitionKey == startPk && rowKey >= startRk)
endPk, endRk (partitionKey <endPk) || (partitionKey == endPk && rowKey <= endRk)

A könyvtár mélységének megadása

Ha engedélyezve van egy hierarchikus névtér, és a signedResource mező megad egy könyvtárat (sr=d), a (sdd) mezőt is meg kell adnia signedDirectoryDepth a gyökérkönyvtárban lévő alkönyvtárak számának jelzéséhez. A mező értékének sdd nem negatív egész számnak kell lennie.

A gyökérkönyvtár https://{account}.blob.core.windows.net/{container}/ például 0 mélységű. A gyökérkönyvtár minden alkönyvtára 1-gyel növeli a mélységet. A könyvtár https://{account}.blob.core.windows.net/{container}/d1/d2 mélysége 2.

Ezt a mezőt a 2020-02-10-es vagy újabb verzió támogatja.

Az aláírt azonosító megadása

Amikor megadja a mezőt az signedIdentifier URI-n, a megadott megosztott hozzáférési aláírást egy megfelelő tárolt hozzáférési szabályzathoz kapcsolja. A tárolt hozzáférési szabályzatok további ellenőrzési mértékeket biztosítanak egy vagy több közös hozzáférésű jogosultságkód felett, beleértve az aláírás szükség esetén történő visszavonásának lehetőségét is. Minden tároló, üzenetsor, tábla vagy megosztás legfeljebb öt tárolt hozzáférési szabályzatot tartalmazhat.

Az alábbi táblázat bemutatja, hogyan hivatkozhat egy aláírt azonosítóra az URI-n:

Mező neve Lekérdezési paraméter Leírás
signedIdentifier si Választható. Legfeljebb 64 karakterből álló egyedi érték, amely korrelál a tárolóhoz, üzenetsorhoz vagy táblához megadott hozzáférési szabályzattal.

A tárolt hozzáférési szabályzat tartalmaz egy aláírt azonosítót, amely legfeljebb 64 karakterből áll, amely egyedi az erőforráson belül. A közös hozzáférésű jogosultságkódhoz tartozó URI-ben megadhatja ennek az aláírt azonosítónak signedidentifier az értékét. Amikor aláírt azonosítót ad meg az URI-n, társítja az aláírást a tárolt hozzáférési szabályzattal. Tárolószintű hozzáférési szabályzat REST API-val történő létrehozásáról a Hozzáférés delegálása közös hozzáférésű jogosultságkóddal című témakörben olvashat.

A titkosítási hatókör megadása

Az URI mezőjének használatával signedEncryptionScope megadhatja az ügyfélalkalmazás által használható titkosítási hatókört. A kiszolgálóoldali titkosítást a megadott titkosítási hatókörrel kényszeríti, amikor a blobokat (PUT) az SAS-jogkivonattal tölti fel. A GET és a HEAD nem lesz korlátozva, és a korábbiakhoz hasonlóan lesz végrehajtva.

Az alábbi táblázat bemutatja, hogyan hivatkozhat aláírt titkosítási hatókörre az URI-n:

Mező neve Lekérdezési paraméter Leírás
signedEncryptionScope ses Választható. A kérelem tartalmának titkosításához használandó titkosítási hatókört jelöli.

Ezt a mezőt a 2020-12-06-os vagy újabb verzió támogatja. Ha hozzáadja a ses támogatott verzió előtti verziót, a szolgáltatás a 403-es (Tiltott) hibaválaszkódot adja vissza.

Ha beállítja a tároló vagy a fájlrendszer alapértelmezett titkosítási hatókörét, a ses lekérdezési paraméter tiszteletben tartja a tárolótitkosítási szabályzatot. Ha a lekérdezési paraméter és x-ms-default-encryption-scope a ses fejléc nem egyezik, és a x-ms-deny-encryption-scope-override fejléc trueértéke , a szolgáltatás a 403-at (Tiltott) hibaválaszkódot adja vissza.

Amikor megadja a x-ms-encryption-scope fejlécet és a ses lekérdezési paramétert a PUT kérelemben, a szolgáltatás a 400-ás hibaválaszkódot (hibás kérés) adja vissza, ha eltérés van.

Az aláírás megadása

Az URI aláírási részének használatával engedélyezheti a közös hozzáférésű jogosultságkóddal ellátott kérést. Az Azure Storage megosztott kulcs engedélyezési sémát használ a szolgáltatás SAS-hitelesítéséhez.

Az alábbi táblázat bemutatja, hogyan adhatja meg az aláírást az URI-n:

Mező neve Lekérdezési paraméter Leírás
signature sig A sztring-előjel egy egyedi sztring, amely a mezőkből lett létrehozva, és amelyet ellenőrizni kell a kérés engedélyezéséhez. Az aláírás egy kivonatalapú üzenethitelesítési kód (HMAC), amelyet az SHA256 algoritmussal a sztring-aláírás és a kulcs alapján számít ki, majd Base64 kódolással kódol.

Az aláírási sztring létrehozása

A közös hozzáférésű jogosultságkód aláírási sztringjének létrehozásához először a kérést alkotó mezőkből hozza létre a sztringet, kódolja a sztringet UTF-8-ként, majd számítsa ki az aláírást a HMAC-SHA256 algoritmussal. A sztring-előjel mezőinek URL-dekódoltnak kell lenniük.

2020-12-06-os és újabb verzió

A 2020-12-06-os verzió támogatja az aláírt titkosítási hatókörmezőt. A Blob Storage-erőforrások sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               signedResource + "\n" +
               signedSnapshotTime + "\n" +
               signedEncryptionScope + "\n" +
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
2018-11-09-es és újabb verzió

A 2018-11-09-es verzió támogatja az aláírt erőforrást és az aláírt blob pillanatkép-időmezőit. Ezeknek a mezőknek szerepelniük kell a sztringek között. A Blob Storage-erőforrások sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               signedResource + "\n"
               signedSnapshotTime + "\n" +
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  
2015-04-05-ös és újabb verzió

A 2015-04-05-ös verzió támogatja az aláírt IP- és aláírt protokollmezőket. Ezeknek a mezőknek szerepelniük kell a sztringek között. A Blob Storage vagy Azure Files erőforrások sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  

A Table Storage-erőforrások sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion + "\n" +  
               startingPartitionKey + "\n"  
               startingRowKey + "\n"  
               endingPartitionKey + "\n"  
               endingRowKey  
  

A Queue Storage-erőforrások sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedIP + "\n" +  
               signedProtocol + "\n" +  
               signedVersion  
  
2013-08-15-2015-02-21-es verzió

A Blob Storage-hoz vagy Azure Files erőforrásokhoz a 2013-08-15-2015-02-21 verzióval történő sztring-aláírás létrehozásához használja az alábbi formátumot. A Azure Files esetében az SAS a 2015-02-21-es verziótól támogatott.

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion + "\n" +  
               rscc + "\n" +  
               rscd + "\n" +  
               rsce + "\n" +  
               rscl + "\n" +  
               rsct  

Egy tábla sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion + "\n" +  
               startPk + "\n" +  
               startRk + "\n" +  
               endPk + "\n" +  
               endRk  
  

Az üzenetsor sztring-előjelének létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion 
2012-02-12-es verzió

A Blob Storage-erőforrások 2012-02-12-es verziójához tartozó sztring-aláírás létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier + "\n" +  
               signedVersion  
2012-02-12-nél korábbi verziók

A Blob Storage-erőforrások 2012-02-12-nél korábbi verzióihoz tartozó sztring-előjel létrehozásához használja a következő formátumot:

StringToSign = signedPermissions + "\n" +  
               signedStart + "\n" +  
               signedExpiry + "\n" +  
               canonicalizedResource + "\n" +  
               signedIdentifier  
  

Az aláírandó sztring létrehozásakor tartsa szem előtt a következőket:

  • Ha egy mező nem kötelező, és nem szerepel a kérelemben, adjon meg egy üres sztringet a mezőhöz. Ügyeljen arra, hogy az üres sztring után adja meg az új vonal karakterét (\n).

  • Egy tábla sztring-előjelének tartalmaznia kell a további paramétereket, még akkor is, ha üres sztringek.

  • A signedpermission sztring részének tartalmaznia kell az engedélymegjelöléseket az egyes erőforrástípusokra jellemző rögzített sorrendben. Az engedélyek bármilyen kombinációja elfogadható, de az engedélybetűk sorrendjének meg kell egyeznie az alábbi táblázatban szereplő sorrenddel.

    Erőforrás típusa Engedélyek sorrendje
    Blob racwd
    Tároló racwdl
    Üzenetsor raup
    Fájl rcwd
    Megosztás rcwdl
    Tábla raud

    Egy tároló érvényes engedélybeállításai például a következők: rw, , rdrl, wd, , wlés rl. Érvénytelen beállítások például a következők: wr, dr, lrés dw. Az engedélymegjelölés többszöri megadása nem engedélyezett.

  • Adjon meg egy értéket a signedIdentifier sztring részének, ha a kérést egy tárolt hozzáférési szabályzattal társítja.

  • A 2012-02-12-nél korábbi társzolgáltatás-verziót megadó közös hozzáférésű jogosultságkód csak egy blobot vagy tárolót oszthat meg, és el kell hagynia signedVersion az új vonal karakterét.

  • A canonicalizedResource sztring része az aláírt erőforráshoz vezető canonical elérési út. Tartalmaznia kell a szolgáltatásnevet (Blob Storage, Table Storage, Queue Storage vagy Azure Files) a 2015-02-21-es vagy újabb verzióhoz, a tárfiók nevét és az erőforrás nevét, és URL-dekódolva kell lennie. A blobok nevének tartalmaznia kell a blob tárolóját. A táblaneveknek kisbetűsnek kell lenniük.

A tárolók, üzenetsorok, táblázatok vagy fájlmegosztások canonicalizált erőforrás-sztringjének el kell hagynia a záró perjelet (/) egy sas esetében, amely hozzáférést biztosít az objektumhoz.

Az alábbi példák bemutatják, hogyan hozhatja létre a canonicalizedResource sztring részét az erőforrás típusától függően.

Containers

A 2015-02-21-es és újabb verziók esetén:

URL = https://myaccount.blob.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  

A 2015-02-21-nél korábbi verziók esetén:

URL = https://myaccount.blob.core.windows.net/music
canonicalizedResource = "/myaccount/music"  

Blobok

A 2015-02-21-es és újabb verziók esetén:

URL = https://myaccount.blob.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  

A 2015-02-21-nél korábbi verziók esetén:

URL = https://myaccount.blob.core.windows.net/music/intro.mp3
canonicalizedResource = "/myaccount/music/intro.mp3"  

Fájlmegosztások

URL = https://myaccount.file.core.windows.net/music
canonicalizedResource = "/file/myaccount/music"  

Fájlok

URL = https://myaccount.file.core.windows.net/music/intro.mp3
canonicalizedResource = "/file/myaccount/music/intro.mp3"  

Üzenetsorok

A 2015-02-21-es és újabb verziók esetén:

URL = https://myaccount.queue.core.windows.net/thumbnails  
canonicalizedResource = "/queue/myaccount/thumbnails"  

A 2015-02-21-nél korábbi verziók esetén:

URL = https://myaccount.queue.core.windows.net/thumbnails  
canonicalizedResource = "/myaccount/thumbnails"  

Táblák

Ha az aláírt erőforrás tábla, győződjön meg arról, hogy a tábla neve kisbetűs a canonicalizált formátumban.

A 2015-02-21-es és újabb verziók esetén:

URL = https://myaccount.table.core.windows.net/Employees(PartitionKey='Jeff',RowKey='Price')  
canonicalizedResource = "/table/myaccount/employees"  

A 2015-02-21-nél korábbi verziók esetén:

URL = https://myaccount.table.core.windows.net/Employees(PartitionKey='Jeff',RowKey='Price')  
canonicalizedResource = "/myaccount/employees"  

Közös hozzáférésű jogosultságkód élettartama és visszavonása

A közös hozzáférésű jogosultságkódok hozzáférési jogosultságokat biztosítanak a felhasználóknak a tárfiók erőforrásaihoz. Amikor SAS-t tervez használni, gondolja át az SAS élettartamát, és hogy az alkalmazásnak bizonyos körülmények között vissza kell-e vonnia a hozzáférési jogokat.

Alkalmi SAS és tárolt hozzáférési szabályzat

A szolgáltatás SAS-jének két formája lehet:

  • Alkalmi SAS: Ad hoc SAS létrehozásakor az SAS kezdő időpontja, lejárati ideje és engedélyei mind meg vannak adva az SAS URI-ban (vagy ha a kezdési időpont nincs megadva). Bármilyen TÍPUSÚ SAS lehet ad hoc SAS.

    Az alkalmi SAS élettartamát a signedExpiry mező használatával kezelheti. Ha a lejárati idő után is szeretne ügyfélhozzáférést biztosítani az erőforráshoz, ki kell adnia egy új aláírást. Javasoljuk, hogy tartsa rövidre a közös hozzáférésű jogosultságkódok élettartamát. A 2012-02-12-es verzió előtt a tárolt hozzáférési szabályzathoz nem társított közös hozzáférésű jogosultságkód nem rendelkezhet egy órát meghaladó aktív időszakkal.

  • SAS tárolt hozzáférési szabályzattal: Egy tárolt hozzáférési szabályzat definiálva van egy erőforrástárolón, amely lehet blobtároló, tábla, üzenetsor vagy fájlmegosztás. A tárolt hozzáférési szabályzattal kezelheti egy vagy több közös hozzáférésű jogosultságkód korlátozásait. Ha egy SAS-t egy tárolt hozzáférési szabályzathoz társít, az SAS örökli a tárolt hozzáférési szabályzathoz definiált korlátozásokat (azaz a kezdési időpontot, a lejárati időt és az engedélyeket).

    A tárolt hozzáférési szabályzatot az signedIdentifier URI mezője jelöli. A tárolt hozzáférési szabályzatok további mértékeket biztosítanak egy vagy több közös hozzáférésű jogosultságkód vezérlésére, beleértve az aláírás szükség esetén történő visszavonásának lehetőségét.

SAS visszavonása

Mivel az SAS URI egy URL-cím, bárki használhatja, aki beszerezi az SAS-t, függetlenül attól, hogy eredetileg ki hozta létre. Ha egy SAS nyilvánosan van közzétéve, a világon bárki használhatja. A SAS hozzáférést biztosít az erőforrásokhoz bárkinek, aki rendelkezik vele, amíg a négy dolog egyike meg nem történik:

  • Az alkalmi SAS-en megadott lejárati idő elérése.

  • A rendszer eléri az SAS által hivatkozott tárolt hozzáférési szabályzatban megadott lejárati időt, ha egy tárolt hozzáférési szabályzatra hivatkozik, és a hozzáférési szabályzat lejárati időt határoz meg.

    A lejárati idő azért érhető el, mert az időköz elévül, vagy azért, mert módosította a tárolt hozzáférési szabályzatot, hogy a lejárati idő a múltban legyen, ami az SAS visszavonásának egyik módja.

  • Az SAS által hivatkozott tárolt hozzáférési szabályzat törlődik, amely visszavonja az SAS-t. Ha az Azure Storage nem találja a közös hozzáférésű jogosultságkódban megadott tárolt hozzáférési szabályzatot, az ügyfél nem tud hozzáférni az URI által jelzett erőforráshoz.

    Ha újra létrehozza a tárolt hozzáférési szabályzatot pontosan ugyanazzal a névvel, mint a törölt szabályzat, az összes meglévő SAS-jogkivonat ismét érvényes lesz a tárolt hozzáférési szabályzathoz társított engedélyeknek megfelelően. Ez azt feltételezi, hogy az SAS lejárati ideje nem telt el. Ha vissza szeretné vonni az SAS-t, mindenképpen használjon más nevet, amikor a jövőben újra létrehozza a hozzáférési szabályzatot lejárati idővel.

  • Az SAS létrehozásához használt fiókkulcs újra létrejön. A fiókkulcs újragenerálása miatt az adott kulcsot használó összes alkalmazásösszetevő nem engedélyezi az engedélyezést, amíg a másik érvényes fiókkulcs vagy az újonnan létrehozott fiókkulcs használatára nem frissülnek. A fiókkulcs újragenerálása az egyetlen módja az alkalmi SAS azonnali visszavonásának.

Fontos

A közös hozzáférésű jogosultságkód URI-ja az aláírás létrehozásához használt fiókkulcshoz és a társított tárolt hozzáférési szabályzathoz van társítva, ha van ilyen. Ha nincs megadva tárolt hozzáférési szabályzat, a közös hozzáférésű jogosultságkód visszavonásának egyetlen módja a fiókkulcs módosítása.

Ajánlott eljárásként azt javasoljuk, hogy használjon tárolt hozzáférési szabályzatot egy szolgáltatás SAS-jével. Ha úgy dönt, hogy nem használ tárolt hozzáférési szabályzatot, tartsa meg az alkalmi SAS érvényességének időtartamát. A szolgáltatás SAS-jének tárolt hozzáférési szabályzattal való társításáról további információt a Tárolt hozzáférési szabályzat definiálása című témakörben talál.

Példa szolgáltatás SAS-ra

Az alábbi példa egy blob URI-ját mutatja be, amelyhez hozzá van fűzve egy szolgáltatás SAS-jogkivonata. A szolgáltatás SAS-jogkivonata olvasási és írási engedélyeket biztosít a blob számára.

https://myaccount.blob.core.windows.net/sascontainer/blob1.txt?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&sip=168.1.5.60-168.1.5.70&spr=https&sv=2022-11-02&sr=b&sig=<signature>

Az URI egyes részeit a következő táblázat ismerteti:

Name SAS-rész Description
Erőforrás URI-ja https://myaccount.blob.core.windows.net/sascontainer/blob1.txt A blob címe. Határozottan javasoljuk, hogy HTTPS-t használjon.
Elválasztó ? A lekérdezési sztring előtti elválasztó. Az elválasztó nem része az SAS-jogkivonatnak.
Engedélyek sp=rw Az SAS által megadott engedélyek közé tartozik az Olvasás (r) és az Írás (w).
Kezdési idő st=2023-05-24T01:13:55Z Utc idő szerint megadva. Ha azt szeretné, hogy az SAS azonnal érvényes legyen, hagyja ki a kezdési időpontot.
Lejárati idő se=2023-05-24T09:13:55Z Utc idő szerint megadva.
IP-címtartomány sip=168.1.5.60-168.1.5.70 Azon IP-címek tartománya, amelyekről a kérések fogadva lesznek.
Protokoll spr=https Csak HTTPS-t használó kérések engedélyezettek.
Azure Storage-verzió sv=2023-05-24 Az Azure Storage 2012-02-12-es és újabb verziói esetében ez a paraméter jelzi a használni kívánt verziót.
Erőforrás sr=b Az erőforrás egy blob.
Aláírás sig=<signature> A blobhoz való hozzáférés engedélyezésére szolgál. Az aláírás egy HMAC, amely az SHA256 algoritmus használatával egy sztring-előjel és kulcs alapján van kiszámítva, majd Base64 kódolással kódolva.

Lásd még