Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A közös hozzáférésű jogosultságkód (SAS) lehetővé teszi, hogy korlátozott hozzáférést biztosítson a tárfiókban lévő tárolókhoz és blobokhoz. SAS létrehozásakor meg kell adnia a SAS korlátait, beleértve az ügyfelek számára elérhetővé tett Azure Storage-erőforrásokat, az ezekre az erőforrásokra vonatkozó engedélyeiket, valamint az érvényesség időtartamát.
Minden SAS egy kulccsal van aláírva. Kétféleképpen írhat alá egy SAS-t:
- A Microsoft Entra hitelesítő adataival létrehozott kulccsal. A Microsoft Entra hitelesítő adataival aláírt SAS egy felhasználói delegálási SAS. A felhasználói delegálási SAS-t létrehozó ügyfélhez olyan Azure RBAC-szerepkört kell hozzárendelni, amely tartalmazza a Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey műveletet. További információ: Felhasználói delegálási SAS létrehozása.
- A tárfiók kulcsával. A szolgáltatás SAS és a fiók SAS is a tárfiók kulcsával van aláírva. A szolgáltatás SAS-t létrehozó ügyfélnek közvetlen hozzáféréssel kell rendelkeznie a fiókkulcshoz, vagy hozzá kell rendelnie a Microsoft.Storage/storageAccounts/listkeys/action engedélyt. További információ: Szolgáltatás SAS létrehozása vagy fiók SAS létrehozása.
Megjegyzés
A felhasználói delegálási SAS jobb biztonságot nyújt, mint a tárfiók kulcsával aláírt SAS. A Microsoft javasolja, hogy lehetőség szerint használjon felhasználói delegálási SAS-t. További információ: Korlátozott hozzáférés biztosítása megosztott hozzáférésű jogosultságkódokkal (SAS) rendelkező adatokhoz.
Ez a cikk bemutatja, hogyan hozhat létre fiók SAS-t a Pythonhoz készült Azure Storage-ügyfélkódtárban a tárfiókkulcs használatával.
Tudnivalók a fiók SAS-járól
A fiók SAS-jének létrehozása a tárfiók szintjén történik. Fiók SAS létrehozásával a következőt teheti:
- Olyan szolgáltatásszintű műveletekhez delegálhat hozzáférést, amelyek jelenleg nem érhetők el egy szolgáltatásspecifikus SAS-vel, például a Blob-szolgáltatás tulajdonságainak lekérése, a Blob-szolgáltatás tulajdonságainak beállítása és a Blob szolgáltatásstatisztikák lekérése.
- Egyszerre több szolgáltatáshoz is hozzáférést delegálhat egy tárfiókban. Például az Azure Blob Storage és az Azure Files erőforrásaihoz való hozzáférést is delegálhatja egy fiók SAS használatával.
A tárolt hozzáférési irányelvek nem támogatottak a fiók SAS esetén.
Fiók SAS létrehozása
Egy fiók SAS a fiókhoz tartozó hozzáférési kulccsal van hitelesítve. Az alábbi példakód bemutatja, hogyan hívhatja meg a generate_account_sas metódust a fiók SAS-jogkivonat-sztringjének lekéréséhez.
def create_account_sas(self, account_name: str, account_key: str):
# Create an account SAS that's valid for one day
start_time = datetime.datetime.now(datetime.timezone.utc)
expiry_time = start_time + datetime.timedelta(days=1)
# Define the SAS token permissions
sas_permissions=AccountSasPermissions(read=True)
# Define the SAS token resource types
# For this example, we grant access to service-level APIs
sas_resource_types=ResourceTypes(service=True)
sas_token = generate_account_sas(
account_name=account_name,
account_key=account_key,
resource_types=sas_resource_types,
permission=sas_permissions,
expiry=expiry_time,
start=start_time
)
return sas_token
A ResourceTypes-konstruktor érvényes paraméterei a következők:
-
service: alapértelmezett
False; állítsaTrue-re a szolgáltatási szintű API-k elérésének engedélyezéséhez. -
tároló: alapértelmezett érték
False; a tárolószintű API-khoz való hozzáférés engedélyezésére van beállítvaTrue. -
object: alapértelmezett érték
False; állítsaTrueértékre az objektumszintű API-k hozzáférésének biztosításához blobokhoz, sorüzenetekhez és fájlokhoz.
Az elérhető engedélyekért lásd: AccountSasPermissions.
Egy fiók SAS használata egy kliensből
Ha a fiók SAS használatával szeretné elérni a Blob szolgáltatás szolgáltatási szintű API-jait, hozzon létre egy BlobServiceClient objektumot a fiók SAS-jének és a tárfiók Blob Storage-végpontjának használatával.
# The SAS token string can be appended to the account URL with a ? delimiter
# or passed as the credential argument to the client constructor
account_sas_url = f"{blob_service_client.url}?{sas_token}"
# Create a BlobServiceClient object
blob_service_client_sas = BlobServiceClient(account_url=account_sas_url)
Használhat egy fiók SAS-t is a ContainerClient vagy a BlobClient objektumok engedélyezésére és kezelésére, amennyiben ezek az erőforrástípusok hozzáférést kapnak az aláírási értékek részeként.
Erőforrások
Ha többet szeretne megtudni arról, hogyan hozhat létre fiók SAS-t a PythonHoz készült Azure Blob Storage ügyfélkódtár használatával, tekintse meg az alábbi erőforrásokat.