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.
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 binary
van á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 signedStart signedExpiry 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. |
signedPermissions 1 |
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. |
startPk 2startRk 2 |
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ő. |
endPk 2endRk 2 |
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
, ,rd
rl
,wd
, ,wl
ésrl
. Érvénytelen beállítások például a következők:wr
,dr
,lr
ésdw
. 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. |