Skip to main content

Generating SAS URLs

Use this package to generate Azure Files shared access signature (SAS) URLs.

What this supports

The current package supports service SAS generation for Azure Files resources.

You can generate SAS URLs for:

  • A share
  • A file

SAS generation requires a shared key credential. A client created from a SAS-only connection string can use that SAS, but it cannot generate a new one.

Example

use AzureOss\Storage\File\Share\Sas\ShareFileSasPermissions;
use AzureOss\Storage\File\Share\Sas\ShareSasBuilder;
use AzureOss\Storage\File\Share\ShareServiceClient;

$service = ShareServiceClient::fromConnectionString($_ENV['AZURE_STORAGE_CONNECTION_STRING']);

$file = $service
->getShareClient('documents')
->getFileClient('reports/2026/summary.txt');

$sasUri = $file->generateSasUri(
ShareSasBuilder::new()
->setPermissions(new ShareFileSasPermissions(read: true))
->setExpiresOn(new DateTimeImmutable('+15 minutes')),
);