Fiók SAS létrehozása .NET-tel
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 .NET-hez 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 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. A StorageSharedKeyCredential osztály használatával létrehozhatja az SAS aláírásához használt hitelesítő adatokat.
Az alábbi példakód bemutatja, hogyan hozhat létre új AccountSasBuilder objektumot, és hogyan hívhatja meg a ToSasQueryParameters metódust a fiók SAS-jogkivonat-sztringjének lekéréséhez.
public static async Task<string> CreateAccountSAS(StorageSharedKeyCredential sharedKey)
{
// Create a SAS token that's valid for one day
AccountSasBuilder sasBuilder = new AccountSasBuilder()
{
Services = AccountSasServices.Blobs | AccountSasServices.Queues,
ResourceTypes = AccountSasResourceTypes.Service,
ExpiresOn = DateTimeOffset.UtcNow.AddDays(1),
Protocol = SasProtocol.Https
};
sasBuilder.SetPermissions(AccountSasPermissions.Read |
AccountSasPermissions.Write);
// Use the key to get the SAS token
string sasToken = sasBuilder.ToSasQueryParameters(sharedKey).ToString();
return sasToken;
}
Ü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.
string accountName = "<storage-account-name>";
string accountKey = "<storage-account-key>";
StorageSharedKeyCredential storageSharedKeyCredential =
new(accountName, accountKey);
// Create a BlobServiceClient object with the account SAS appended
string blobServiceURI = $"https://{accountName}.blob.core.windows.net";
string sasToken = await CreateAccountSAS(storageSharedKeyCredential);
BlobServiceClient blobServiceClientAccountSAS = new BlobServiceClient(
new Uri($"{blobServiceURI}?{sasToken}"));
Források
Ha többet szeretne megtudni arról, hogyan hozhat létre fiók SAS-t a .NET-hez készült Azure Blob Storage ügyfélkódtár használatával, tekintse meg az alábbi erőforrásokat.
Ügyfélkódtár erőforrásai
Kapcsolódó információk
- Korlátozott hozzáférés engedélyezése az Azure Storage-erőforrásokhoz közös hozzáférésű jogosultságkódokkal
- Fiók SAS létrehozása
- Az elavult .NET 11.x SDK-kkal kapcsolatos kódmintákért lásd a .NET 11.x verzióját használó kódmintákat.