Tároló ACL-ének beállítása
A Set Container ACL
művelet beállítja a megadott tároló engedélyeit. Az engedélyek azt jelzik, hogy a tárolóban lévő blobok nyilvánosan elérhetők-e.
A 2009-09-19-es verziótól a tárolóengedélyek a következő lehetőségeket biztosítják a tárolóhozzáférés kezeléséhez:
Teljes nyilvános olvasási hozzáférés: tároló- és blobadatok névtelen kéréssel olvashatók. Az ügyfelek névtelen kéréssel számba tudják venni a tárolón belüli blobokat, de a tárfiókon belüli tárolókat nem tudják számba venni.
csak blobok nyilvános olvasási hozzáférése: a tárolóban lévő blobadatok névtelen kéréssel olvashatók, de a tároló adatai nem érhetők el. Az ügyfelek névtelen kéréssel nem tudnak blobokat számba kérni a tárolóban.
Nincs nyilvános olvasási hozzáférés: tároló- és blobadatokat csak a fióktulajdonos olvashatja.
Set Container ACL
egy tárolt hozzáférési szabályzatot is beállít a megosztott hozzáférésű jogosultságkódokkal való használatra. További információ: Tárolt hozzáférési szabályzat definiálása.
A tárolóhoz való nyilvános hozzáférés névtelen, csakúgy, mint a közös hozzáférésű jogosultságkódon keresztüli hozzáférés.
Kérés
A Set Container ACL
kérelem a következőképpen hozható létre. Javasoljuk, hogy HTTPS-t használjon. Cserélje le myaccount a tárfiók nevére:
Módszer | URI kérése | HTTP-verzió |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
Emulált tárolási szolgáltatás kérése
Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépnevét és a Blob-szolgáltatás portot 127.0.0.1:10000
, majd az emulált tárfiók nevét:
Módszer | URI kérése | HTTP-verzió |
---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl |
HTTP/1.1 |
További információ: Azurite emulátor használata helyi Azure Storage-fejlesztési.
URI-paraméterek
A kérelem URI-jában a következő további paramétereket adhatja meg:
Paraméter | Leírás |
---|---|
timeout |
Szabadon választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása blobszolgáltatás-műveletekhez. |
Kérelemfejlécek
A szükséges és nem kötelező kérelemfejléceket az alábbi táblázat ismerteti:
Kérelem fejléce | Leírás |
---|---|
Authorization |
Szükséges. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérelmek engedélyezése az Azure Storage-. |
Date vagy x-ms-date |
Szükséges. A kérelem koordinált egyetemes idejét (UTC) adja meg. További információ: Kérelmek engedélyezése az Azure Storage-. |
x-ms-version |
Szabadon választható. A kérelemhez használni kívánt művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása. |
x-ms-blob-public-access |
Szabadon választható. Megadja, hogy a tárolóban lévő adatok nyilvánosan elérhetők-e, és hogy a hozzáférési szint is elérhető-e. A lehetséges értékek a következők: - container : A tároló- és blobadatok teljes nyilvános olvasási hozzáférését adja meg. Az ügyfelek névtelen kéréssel számba tudják venni a tárolón belüli blobokat, de a tárfiókon belüli tárolókat nem tudják számba venni.- blob: Blobok nyilvános olvasási hozzáférését adja meg. A tárolón belüli blobadatok névtelen kéréssel olvashatók, de a tároló adatai nem érhetők el. Az ügyfelek névtelen kéréssel nem tudnak blobokat számba kérni a tárolóban.Ha ez a fejléc nem szerepel a kérelemben, a tárolóadatok privátak a fióktulajdonos számára. Vegye figyelembe, hogy az Azure Premium Storage-fiókban lévő tároló nyilvános hozzáférésének beállítása nem engedélyezett. |
x-ms-lease-id: <ID> |
Nem kötelező, 2012-02-12-es és újabb verzió. Ha meg van adva, Set Container ACL csak akkor sikerül, ha a tároló bérlete aktív, és megfelel ennek az azonosítónak. Ha nincs aktív bérlet, vagy az azonosító nem egyezik, a 412 -et (az előkondicionálás sikertelen) adja vissza. |
x-ms-client-request-id |
Szabadon választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kibibyte (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Monitor Azure Blob Storage. |
Ez a művelet a feltételes fejlécek használatát is támogatja a művelet végrehajtásához, ha egy adott feltétel teljesül. További információ: Feltételes fejlécek megadása blobszolgáltatás-műveletekhez.
Kérelem törzse
Tárolt hozzáférési szabályzat megadásához adjon meg egy egyedi azonosítót és hozzáférési szabályzatot a kérelem törzsében a Set Container ACL
művelethez.
A SignedIdentifier
elem tartalmazza a Id
elemben megadott egyedi azonosítót, valamint a hozzáférési szabályzat részleteit az AccessPolicy
elemben megadott módon. Az egyedi azonosító maximális hossza 64 karakter.
A Start
és Expiry
mezőket UTC-időként kell megadni, és meg kell felelniük egy érvényes ISO 8061 formátumnak. A támogatott ISO 8061-formátumok a következők:
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.fffffffTZD
A formátumok dátumrészéhez YYYY
négyjegyű évábrázolás, MM
kétjegyű hónapábra, DD
pedig kétjegyű napi ábrázolás. Az időrész esetében hh
az óra ábrázolása 24 órás jelölésben, mm
a kétjegyű perc ábrázolása, ss
a kétjegyű második ábrázolás, fffffff
pedig a hétjegyű ezredmásodperc. Az időtervező T
elválasztja a sztring dátum- és időrészeit, és egy időzóna-tervező TZD
egy időzónát határoz meg.
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Mintakérés
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
x-ms-blob-public-access: container
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2009-09-28T08:49:37.0000000Z</Start>
<Expiry>2009-09-29T08:49:37.0000000Z</Expiry>
<Permission>rwd</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Válasz
A válasz tartalmaz egy HTTP-állapotkódot és válaszfejléceket.
Állapotkód
A sikeres művelet a 200-ra (OK) vonatkozó állapotkódot adja vissza.
További információ az állapotkódokról: Állapot- és hibakódok.
Válaszfejlécek
A művelet válasza a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának
Válaszfejléc | Leírás |
---|---|
ETag |
A tároló ETagje. Ha a kérelem verziója 2011-08-18 vagy újabb, az ETag értéke idézőjelek közé kerül. |
Last-Modified |
A tároló utolsó módosításának dátumát és időpontját adja vissza. A dátumformátum az RFC 1123-at követi. További információ: Dátum/idő értékek megjelenítése fejlécekben. Minden olyan művelet, amely módosítja a tárolót, illetve annak tulajdonságait vagy metaadatait, frissíti az utolsó módosítás időpontját, beleértve a tároló engedélyeinek beállítását is. A blobokon végzett műveletek nem befolyásolják a tároló utolsó módosításának időpontját. |
x-ms-request-id |
Egyedileg azonosítja a kérést, amely a kérés hibaelhárításához használható. További információ: API-műveletek hibaelhárítása |
x-ms-version |
A kérés végrehajtásához használt Blob-szolgáltatásverziót jelzi. Ez a fejléc a 2009-09-19-es és újabb verzióval kapcsolatos kérelmek esetén lesz visszaadva. |
Date |
A szolgáltatás által létrehozott UTC dátum/idő érték, amely a válasz indításának időpontját jelzi. |
x-ms-client-request-id |
A kérések és a megfelelő válaszok hibaelhárítására használható. Ennek az élőfejnek az értéke megegyezik a x-ms-client-request-id fejléc értékével, ha az szerepel a kérelemben, és az érték legfeljebb 1024 látható ASCII-karaktert tartalmaz. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, az nem jelenik meg a válaszban. |
Mintaválasz
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
ETag: "0x8CB171613397EAB"
Last-Modified: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2011-08-18
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Felhatalmazás
Az Azure Storage-beli adathozzáférési műveletek meghívásához engedélyezésre van szükség. Az alábbi módon engedélyezheti a Set Container ACL
műveletet.
Fontos
A Microsoft azt javasolja, hogy felügyelt identitásokkal használja a Microsoft Entra ID-t az Azure Storage-kérelmek engedélyezéséhez. A Microsoft Entra ID kiváló biztonságot és egyszerű használatot biztosít a megosztott kulcsok engedélyezéséhez képest.
Az Azure Storage támogatja a Microsoft Entra ID használatát a blobadatokra irányuló kérések engedélyezéséhez. A Microsoft Entra ID-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak. A biztonsági tag lehet felhasználó, csoport, alkalmazásszolgáltatásnév vagy Azure-beli felügyelt identitás. A biztonsági tagot a Microsoft Entra ID hitelesíti egy OAuth 2.0-jogkivonat visszaadásához. A jogkivonat ezután a Blob szolgáltatással kapcsolatos kérések engedélyezésére használható.
A Microsoft Entra ID használatával történő engedélyezésről további információt A blobok hozzáférésének engedélyezése a Microsoft Entra-azonosítóvalcímű témakörben talál.
Engedélyek
Az alábbiakban azokat az RBAC-műveletet soroljuk fel, amelyek szükségesek ahhoz, hogy egy Microsoft Entra-felhasználó, csoport, felügyelt identitás vagy szolgáltatásnév meghívja a Set Container ACL
műveletet, valamint a legkevésbé kiemelt, beépített Azure RBAC-szerepkört, amely tartalmazza ezt a műveletet:
- Azure RBAC-művelet:Microsoft.Storage/storageAccounts/blobServices/containers/setAcl/action
- Legkevésbé kiemelt beépített szerepkör:Storage Blob Data Owner
A szerepkörök Azure RBAC-vel való hozzárendeléséről további információt Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshezcímű témakörben talál.
Megjegyzések
Egy tároló engedélyeinek beállításakor a meglévő engedélyek lecserélődnek. A tároló engedélyeinek frissítéséhez hívja meg ACL lekérése a tárolóhoz társított összes hozzáférési szabályzat lekéréséhez. Módosítsa a módosítani kívánt hozzáférési szabályzatot, majd hívja meg a Set Container ACL
a teljes adatkészlettel a frissítés végrehajtásához.
Névtelen nyilvános hozzáférés engedélyezése tárolóadatokon
A tárolóadatok névtelen nyilvános olvasási hozzáférésének engedélyezéséhez hívja meg Set Container ACL
a x-ms-blob-public-access
fejlécet container
vagy blob
. A névtelen hozzáférés letiltásához hívja meg Set Container ACL
a x-ms-blob-public-access
fejlécének megadása nélkül.
Ha a x-ms-blob-public-access
blob
értékre állítja, az ügyfelek névtelenül meghívhatják a következő műveleteket:
Blob lekérése
Blokklista lekérése (csak a véglegesített blokklista esetén)
Ha a x-ms-blob-public-access
container
értékre állítja, az ügyfelek névtelenül meghívhatják a következő műveleteket:
Az előző szakaszban felsorolt blobhozzáférési műveletek.
Tárolószintű hozzáférési szabályzatok létrehozása
A tárolt hozzáférési szabályzatok megadhatja a kezdési időpontot, a lejárati időt és az engedélyeket azokhoz a közös hozzáférésű jogosultságkódokhoz, amelyekkel társítva van. Attól függően, hogy hogyan szeretné szabályozni a tároló- vagy bloberőforráshoz való hozzáférést, megadhatja ezeket a paramétereket a tárolt hozzáférési szabályzatban, és kihagyhatja őket a közös hozzáférésű jogosultságkód URL-címéből. Ezzel bármikor módosíthatja a társított aláírás viselkedését, vagy visszavonhatja azt. Vagy megadhat egy vagy több hozzáférési házirend-paramétert a tárolt hozzáférési szabályzatban, a többit pedig az URL-címen. Végül megadhatja az URL-cím összes paraméterét. Ebben az esetben a tárolt hozzáférési szabályzattal visszavonhatja az aláírást, de nem módosíthatja annak viselkedését. További információ: Tárolt hozzáférési szabályzat definiálása.
A közös hozzáférésű jogosultságkódnak és a tárolt hozzáférési szabályzatnak együtt tartalmaznia kell az aláírás engedélyezéséhez szükséges összes mezőt. Ha a szükséges mezők hiányoznak, a kérés meghiúsul. Hasonlóképpen, ha a közös hozzáférésű jogosultságkód URL-címében és a tárolt hozzáférési szabályzatban is meg van adva mező, a kérés a 400-ás állapotkóddal (hibás kérelem) meghiúsul.
Legfeljebb öt külön hozzáférési szabályzat állítható be egyetlen tárolóhoz bármikor. Ha a kérelem törzsében ötnél több hozzáférési szabályzatot adnak át, a szolgáltatás a 400-ás állapotkódot adja vissza (hibás kérés).
A megosztott hozzáférésű jogosultságkódok egy tárolón vagy blobon is kibocsáthatók, függetlenül attól, hogy a tárolóadatok elérhetők-e a névtelen olvasási hozzáféréshez. A közös hozzáférésű jogosultságkódok nagyobb mértékben szabályozják, hogy egy erőforrás hogyan, mikor és kinek legyen elérhető.
Jegyzet
Ha tárolón hoz létre tárolt hozzáférési szabályzatot, a szabályzat érvénybe lépése akár 30 másodpercet is igénybe vehet. Ebben az intervallumban, amíg a szabályzat aktívvá nem válik, a tárolt hozzáférési szabályzathoz társított közös hozzáférésű jogosultságkód a 403-as (Tiltott) állapotkóddal meghiúsul.
Számlázás
A díjszabási kérések olyan ügyfelektől származhatnak, amelyek Blob Storage API-kat használnak közvetlenül a Blob Storage REST API-ból vagy egy Azure Storage-ügyfélkódtárból. Ezek a kérések tranzakciónkénti díjakat halmoznak fel. A tranzakció típusa hatással van a fiók díjának módjára. Az olvasási tranzakciók például más számlázási kategóriába tartoznak, mint az írási tranzakciók. Az alábbi táblázat a tárfiók típusa alapján Set Container ACL
kérelmek számlázási kategóriáját mutatja be:
Művelet | Tárfiók típusa | Számlázási kategória |
---|---|---|
Tároló ACL-ének beállítása | Prémium szintű blokkblob Standard általános célú v2 |
Egyéb műveletek |
Tároló ACL-ének beállítása | Standard általános célú v1 | Írási műveletek |
A megadott számlázási kategória díjszabásáról az Azure Blob Storage díjszabási című témakörben olvashat.
Lásd még:
Tárolókhoz és blobokhoz való hozzáférés korlátozása
Hozzáférés delegálása közös hozzáférésű jogosultságkóddal
Közös hozzáférésű jogosultságkód létrehozása és használata
Tárolt hozzáférési szabályzat definiálása
Container ACL- lekérése
Kérések engedélyezése az Azure Storage-
Állapot- és hibakódok
blobszolgáltatás hibakódjai