6 простых способов создания токенов SAS для хранилища BLOB-объектов Azure

В этой статье блога мы рассмотрим различные методы создания токенов подписи общего доступа (SAS) для хранилища BLOB-объектов Azure. Токены SAS предоставляют безопасный способ предоставить ограниченный доступ к ресурсам хранилища BLOB-объектов Azure, не раскрывая ключи доступа к вашей учетной записи. Мы рассмотрим несколько методов, каждый из которых имеет свои преимущества и варианты использования, чтобы вы могли выбрать тот, который лучше всего соответствует вашим потребностям.

Метод 1. Использование портала Azure
Портал Azure предоставляет удобный интерфейс для создания токенов SAS для хранилища BLOB-объектов Azure. Выполните следующие действия:

  1. Перейдите к своей учетной записи хранилища BLOB-объектов Azure на портале Azure.
  2. Перейдите в раздел «Подпись общего доступа».
  3. Укажите нужные разрешения и срок действия токена SAS.
  4. Нажмите кнопку «Создать SAS и строку подключения».
  5. Скопируйте сгенерированный токен SAS и используйте его в своем коде.

Метод 2. Использование пакетов SDK хранилища Azure
Пакеты SDK хранилища Azure предоставляют библиотеки для конкретного языка программирования для взаимодействия с хранилищем BLOB-объектов Azure. Вот пример на Python с использованием Azure Storage Blob SDK:

from azure.storage.blob import BlobServiceClient, generate_blob_sas
connection_string = "<your_connection_string>"
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_name = "<your_container_name>"
blob_name = "<your_blob_name>"
sas_token = generate_blob_sas(
    account_name=blob_service_client.account_name,
    container_name=container_name,
    blob_name=blob_name,
    account_key=blob_service_client.credential.account_key,
    permission=<desired_permissions>,
    expiry=<desired_expiry_time>
)
print("Generated SAS token:", sas_token)

Замените <your_connection_string>, <your_container_name>, <your_blob_name>, <desired_permissions>и <desired_expiry_time>на ваши конкретные ценности.

Метод 3. Использование Azure CLI
Azure CLI предоставляет интерфейс командной строки для взаимодействия с ресурсами Azure. Чтобы создать токен SAS для хранилища BLOB-объектов Azure с помощью Azure CLI, откройте терминал и выполните следующую команду:

az storage blob generate-sas --account-name <your_account_name> --container-name <your_container_name> --name <your_blob_name> --permissions <desired_permissions> --expiry <desired_expiry_time> --output tsv

Замените <your_account_name>, <your_container_name>, <your_blob_name>, <desired_permissions>и <desired_expiry_time>на ваши конкретные ценности.

Метод 4. Использование REST API
Вы также можете создавать токены SAS программным способом, выполнив вызов REST API к службе хранилища Azure. Вот пример использования cURL:

curl -X POST -H "x-ms-version: 2019-12-12" -H "x-ms-date: $(date -u)" --data "" "https://<your_account_name>.blob.core.windows.net/<your_container_name>/<your_blob_name>?restype=container&comp=sas&permissions=<desired_permissions>&expiry=<desired_expiry_time>&<your_account_sas_token>"

Замените <your_account_name>, <your_container_name>, <your_blob_name>, <desired_permissions>, <desired_expiry_time>и <your_account_sas_token>с вашими конкретными значениями.

Метод 5. Использование Azure PowerShell
Azure PowerShell предоставляет набор командлетов для управления ресурсами Azure. Чтобы создать токен SAS для хранилища BLOB-объектов Azure с помощью Azure PowerShell, выполните следующие команды:

$storageAccountName = "<your_account_name>"
$containerName = "<your_container_name>"
$blobName = "<your_blob_name>"
$expiryTime = (Get-Date).AddDays(7)
$permissions = "rw"
$sasToken = New-AzStorageBlobSASToken -Container $containerName -Blob $blobName -Permission $permissions -ExpiryTime $expiryTime -FullUri -Context (New-AzStorageContext -StorageAccountName $storageAccountName)
Write-Host "Generated SAS token: $sasToken"

Замените <your_account_name>, <your_container_name>, <your_blob_name>, <desired_permissions>и <desired_expiry_time>на ваши конкретные ценности.

Метод 6. Использование Azure Storage Explorer
Azure Storage Explorer — это графический инструмент, позволяющий управлять ресурсами хранилища Azure. Выполните следующие действия, чтобы создать токен SAS с помощью Azure Storage Explorer:

  1. Откройте Azure Storage Explorer и подключитесь к своей учетной записи хранилища BLOB-объектов Azure.
  2. Перейдите к нужному контейнеру и большому объекту.
  3. Нажмите правой кнопкой мыши на объекте и выберите «Получить подпись общего доступа».
  4. Настройте нужные разрешения и срок действия токена SAS.
  5. Нажмите кнопку «Создать».
  6. Скопируйте сгенерированный токен SAS и используйте его в своем коде.

В этой статье мы рассмотрели шесть простых способов создания токенов SAS для хранилища BLOB-объектов Azure. Мы рассмотрели использование портала Azure, пакетов SDK службы хранилища Azure, Azure CLI, REST API, Azure PowerShell и Azure Storage Explorer. Каждый метод имеет свои преимущества и может использоваться в различных сценариях. Используя токены SAS, вы можете повысить безопасность ресурсов хранилища BLOB-объектов Azure, обеспечивая при этом контролируемый доступ авторизованным пользователям.