Vytvoření sdíleného přístupového podpisu účtu pomocí .NET
Sdílený přístupový podpis (SAS) umožňuje udělit omezený přístup ke kontejnerům a objektům blob ve vašem účtu úložiště. Při vytváření SAS určíte jeho omezení, včetně toho, ke kterým prostředkům Azure Storage má klient povolený přístup, jaká oprávnění k těmto prostředkům má a jak dlouho je SAS platný.
Každý SAS je podepsaný klíčem. Sdílený přístupový podpis můžete podepsat jedním ze dvou způsobů:
- Pomocí klíče vytvořeného pomocí přihlašovacích údajů Azure Active Directory (Azure AD). SAS, který je podepsaný Azure AD přihlašovacími údaji, je SAS delegování uživatele. Klient, který vytvoří SAS delegování uživatele, musí mít přiřazenou roli Azure RBAC, která zahrnuje akci Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey . Další informace najdete v tématu Vytvoření SAS delegování uživatele.
- S klíčem účtu úložiště. SAS služby i SAS účtu jsou podepsané pomocí klíče účtu úložiště. Klient, který vytvoří SAS služby, musí mít buď přímý přístup ke klíči účtu, nebo musí mít přiřazené oprávnění Microsoft.Storage/storageAccounts/listkeys/action . Další informace najdete v tématu Vytvoření sdíleného přístupového podpisu služby nebo Vytvoření SAS účtu.
Poznámka
SAS delegování uživatele nabízí vynikající zabezpečení sas podepsanému klíčem účtu úložiště. Microsoft doporučuje používat SAS delegování uživatele, pokud je to možné. Další informace najdete v tématu Udělení omezeného přístupu k datům pomocí sdílených přístupových podpisů (SAS).
Tento článek ukazuje, jak pomocí klíče účtu úložiště vytvořit SAS účtu s klientskou knihovnou Azure Storage pro .NET.
Informace o SAS účtu
SAS účtu se vytvoří na úrovni účtu úložiště. Vytvořením sdíleného přístupového podpisu účtu můžete:
- Delegujte přístup k operacím na úrovni služby, které v současné době nejsou dostupné se sdíleným přístupovým podpisem pro konkrétní službu, jako je získání vlastností služby Blob Service, nastavení vlastností služby Blob Service a získání statistik služby Blob Service.
- Delegujte přístup k více než jedné službě v účtu úložiště najednou. Můžete například delegovat přístup k prostředkům v Azure Blob Storage i Azure Files pomocí SAS účtu.
Sdílený přístupový podpis účtu nepodporuje uložené zásady přístupu.
Vytvoření SAS účtu
Sas účtu je podepsaný přístupovým klíčem účtu. Pomocí třídy StorageSharedKeyCredential můžete vytvořit přihlašovací údaje, které se používají k podepsání SAS.
Následující příklad kódu ukazuje, jak vytvořit nový AccountSasBuilder objektu a volat ToSasQueryParameters metoda získat řetězec tokenu SAS účtu.
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;
}
Použití sdíleného přístupového podpisu účtu z klienta
Pokud chcete použít SAS účtu pro přístup k rozhraním API na úrovni služby Blob Service, vytvořte objekt BlobServiceClient pomocí SAS účtu a koncového bodu Blob Storage pro váš účet úložiště.
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}"));
Zdroje informací
Další informace o vytvoření SAS účtu pomocí klientské knihovny Azure Blob Storage pro .NET najdete v následujících zdrojích informací.
Prostředky klientské knihovny
Viz také
- Udělení omezeného přístupu k prostředkům Azure Storage pomocí sdílených přístupových podpisů (SAS)
- Vytvoření SAS účtu
- Související ukázky kódu s využitím zastaralých sad SDK rozhraní .NET verze 11.x najdete v tématu Ukázky kódu s využitím rozhraní .NET verze 11.x.