Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de Fabric, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Uma SAS (Assinatura de Acesso Compartilhado) permite conceder acesso limitado a contêineres e blobs da conta de armazenamento. Ao criar uma SAS, você especificará suas restrições, inclusive que recursos do Armazenamento do Azure um cliente terá permissão para acessar, que permissões ele terá nesses recursos e por quanto tempo a SAS é válida.
Cada SAS é assinada com uma chave. Você pode assinar uma SAS de uma das duas maneiras:
Observação
Uma SAS de delegação de usuário oferece mais segurança do que uma SAS que é assinada com a chave da conta de armazenamento. A Microsoft recomenda usar uma SAS de delegação de usuário quando possível. Para saber mais, confira Conceder acesso limitado a dados com assinaturas de acesso compartilhado (SAS).
Esse artigo mostra como usar a chave da conta de armazenamento para criar um serviço SAS para um contêiner ou blob com a biblioteca de cliente Blob Storage para Python.
Uma SAS de serviço é assinada com a chave de acesso da conta de armazenamento. Uma SAS de serviço delega acesso a um recurso em um único serviço de Armazenamento do Microsoft Azure, como o Armazenamento de Blobs.
Você também pode usar uma política de acesso armazenada para definir as permissões e a duração da SAS. Se o nome de uma política de acesso armazenada existente for fornecido, essa política está associada com a SAS. Para saber mais sobre as políticas de acesso armazenadas, veja Definir uma política de acesso armazenada. Se nenhuma política de acesso armazenada for fornecida, os exemplos de código neste artigo mostrarão como definir permissões e duração para a SAS.
Você pode criar uma SAS de serviço para um contêiner ou blob, com base nas necessidades do seu aplicativo.
Você pode criar uma SAS de serviço para delegar acesso limitado a um recurso de contêiner usando o seguinte método:
A chave de acesso da conta de armazenamento usada para assinar a SAS é passada para o método como o argumento account_key
. As permissões permitidas são passadas para o método como o argumento permission
e são definidas na classe ContainerSasPermissions.
O exemplo de código a seguir mostra como criar uma SAS de serviço com permissões de leitura para um recurso de contêiner:
def create_service_sas_container(self, container_client: ContainerClient, account_key: str):
# Create a SAS token that's valid for one day, as an example
start_time = datetime.datetime.now(datetime.timezone.utc)
expiry_time = start_time + datetime.timedelta(days=1)
sas_token = generate_container_sas(
account_name=container_client.account_name,
container_name=container_client.container_name,
account_key=account_key,
permission=ContainerSasPermissions(read=True),
expiry=expiry_time,
start=start_time
)
return sas_token
Você pode usar uma SAS de serviço para autorizar um objeto cliente a executar operações em um contêiner ou blob com base nas permissões concedidas pela SAS.
O exemplo de código a seguir mostra como usar a SAS de serviço criada no exemplo anterior para autorizar um objeto ContainerClient. Esse objeto cliente pode ser usado para executar operações no recurso de contêiner com base nas permissões concedidas pela SAS.
# The SAS token string can be appended to the resource URL with a ? delimiter
# or passed as the credential argument to the client constructor
sas_url = f"{container_client.url}?{sas_token}"
# Create a ContainerClient object with SAS authorization
container_client_sas = ContainerClient.from_container_url(container_url=sas_url)
Para saber mais sobre como usar a biblioteca cliente do Armazenamento de Blobs do Azure para Python, veja os seguintes recursos.
Eventos
31 de mar., 23 - 2 de abr., 23
O maior evento de aprendizado de Fabric, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $ 400.
Registre-se hoje mesmoTreinamento
Módulo
Implementar assinaturas de acesso compartilhado - Training
Implementar assinaturas de acesso compartilhado