Share via


Fiók SAS létrehozása Pythonnal

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 annak korlátait, beleértve az ügyfelek számára engedélyezett Azure Storage-erőforrásokat, az ezen erőforrásokra vonatkozó engedélyeiket és az SAS érvényességének érvényességét.

Minden SAS egy kulccsal van aláírva. SAS-t kétféleképpen írhat alá:

  • A Microsoft Entra hitelesítő adataival létrehozott kulccsal. A Microsoft Entra hitelesítő adataival aláírt SAS egy felhasználó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 kulccsal. A szolgáltatás SAS és a fiók SAS is a tárfiók kulccsal 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 kiváló biztonságot nyújt a tárfiók kulccsal aláírt SAS-nek. 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:

A tárolt hozzáférési szabályzatok nem támogatottak a fiók SAS-hez.

Fiók SAS létrehozása

A fiók sasa a fiók hozzáférési kulcsával van aláírva. 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: default is False; set to True grant access to service level API.
  • 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ítva True .
  • object: default is False; set to True grant to access to object level API for blobs, queue messages, and files.

Az elérhető engedélyekért lásd: AccountSasPermissions.

Ügyfél sasának használata

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)

A fiók SAS-jével is engedélyezheti és használhatja a ContainerClient objektumot vagy a BlobClient objektumot, ha ezek az erőforrástípusok hozzáférést kapnak az aláírási értékek részeként.

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.

Code samples

Ügyfélkódtár erőforrásai

Kapcsolódó információk