Megosztás a következőn keresztül:


Szolgáltatás SAS létrehozása tárolóhoz vagy blobhoz JavaScript használatával

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 szolgáltatás SAS-t egy tárolóhoz vagy blobhoz a Tárfiók kulcs használatával a JavaScripthez készült Blob Storage ügyfélkódtárral.

Szolgáltatás SAS létrehozása blobtárolóhoz

Az alábbi példakód sast hoz létre egy tárolóhoz. Ha meg van adva egy meglévő tárolt hozzáférési szabályzat neve, akkor a szabályzat az SAS-hez van társítva. Ha nincs megadva tárolt hozzáférési szabályzat, a kód létrehoz egy alkalmi SAS-t a tárolón.

A szolgáltatás SAS-jének aláírása a fiók hozzáférési kulcsával történik. A StorageSharedKeyCredential osztály használatával hozza létre az SAS aláírásához használt hitelesítő adatokat. Ezután hívja meg a generateBlobSASQueryParameters függvényt, amely megadja az SAS-jogkivonat sztringjének lekéréséhez szükséges paramétereket.

// Create a service SAS for a blob container
function getContainerSasUri(containerClient, sharedKeyCredential, storedPolicyName) {
    const sasOptions = {
        containerName: containerClient.containerName,
        permissions: ContainerSASPermissions.parse("c")
    };

    if (storedPolicyName == null) {
        sasOptions.startsOn = new Date();
        sasOptions.expiresOn = new Date(new Date().valueOf() + 3600 * 1000);
    } else {
        sasOptions.identifier = storedPolicyName;
    }

    const sasToken = generateBlobSASQueryParameters(sasOptions, sharedKeyCredential).toString();
    console.log(`SAS token for blob container is: ${sasToken}`);

    return `${containerClient.url}?${sasToken}`;
}

Szolgáltatás SAS létrehozása blobhoz

Az alábbi példakód sast hoz létre egy blobon. Ha meg van adva egy meglévő tárolt hozzáférési szabályzat neve, akkor a szabályzat az SAS-hez van társítva. Ha nincs megadva tárolt hozzáférési szabályzat, akkor a kód létrehoz egy alkalmi SAS-t a blobon.

Ha szolgáltatás SAS-t szeretne létrehozni egy blobhoz, hívja meg a generateBlobSASQueryParameters függvényt, amely megadja a szükséges paramétereket.

// Create a service SAS for a blob
function getBlobSasUri(containerClient, blobName, sharedKeyCredential, storedPolicyName) {
    const sasOptions = {
        containerName: containerClient.containerName,
        blobName: blobName
    };

    if (storedPolicyName == null) {
        sasOptions.startsOn = new Date();
        sasOptions.expiresOn = new Date(new Date().valueOf() + 3600 * 1000);
        sasOptions.permissions = BlobSASPermissions.parse("r");
    } else {
        sasOptions.identifier = storedPolicyName;
    }

    const sasToken = generateBlobSASQueryParameters(sasOptions, sharedKeyCredential).toString();
    console.log(`SAS token for blob is: ${sasToken}`);

    return `${containerClient.getBlockBlobClient(blobName).url}?${sasToken}`;
}

JavaScript-alapú fejlesztési erőforrások

Az alábbi hivatkozások hasznos forrásanyagokat nyújtanak a JavaScripthez készült Azure Storage-ügyfélkódtárat használó fejlesztők számára

Blob Storage API-k

JavaScript-eszközök

Következő lépések