SASトークンを生成していない場合は、アカウントキーの使用を避けることはできません。
あなたがofficial tutorialに従うとgenerate_shared_access_signature
、generate_container_shared_access_signature
、generate_blob_shared_access_signature
はPythonでazure storage account
ためSAS Token
、container
、blob
を生成するために使用することができます。
すでにSAS token
を生成している場合は、アカウントキーの代わりにSAS token
を使用してコンテナを操作できます。
コードスニペットは:
from datetime import datetime, timedelta
from azure.storage.blob import (
BlockBlobService,
ContainerPermissions,
)
accountName = "***"
accountKey = "***"
containerName = "***"
def GenerateSasToken():
blobService = BlockBlobService(account_name=accountName, account_key=accountKey)
sas_url = blobService.generate_container_shared_access_signature(containerName,ContainerPermissions.READ, datetime.utcnow() + timedelta(hours=1))
# print sas_url
return 'https://' + accountName + '.blob.core.windows.net/' + containerName + '?' + sas_url
def AccessTest(sastoken):
blobService = BlockBlobService(account_name = accountName, account_key = None, sas_token = sastoken)
BlockBlobService
for blob in blobService.list_blobs(containerName):
print blob.__getattribute__('name')
sastoken = GenerateSasToken()
print sastoken
AccessTest(sastoken)
また、あなたはAzure Key Vault
を使用することを試みることができます。
Azure Storage Account(ASA)のキー機能は、秘密回転 を管理します。また、方法として共有アクセス署名(SAS)を提供することにより、ASA キーとの直接接触の必要性を排除します。
here。
Azure Key Vault official tutorialを参照してください。REST APIをサポートしています。