Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Get User Delegation Key operação recebe uma chave que pode ser usada para assinar uma delegação de usuário SAS (assinatura de acesso compartilhada). Uma delegação de usuário SAS concede acesso aos recursos do Azure Blob Storage usando credenciais Microsoft Entra. A Get User Delegation Key operação está disponível na versão 2018-11-09 e posteriores.
Solicitação
Construa o Get User Delegation Key seguinte ponto. HTTPS é obrigatório. Substitua myaccount pelo nome da sua conta de armazenamento.
| URI de solicitação de método POST | Versão HTTP |
|---|---|
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey |
HTTP/1.1 |
Solicitação de serviço de armazenamento emulado
Ao fazer uma solicitação contra o serviço de armazenamento local, especifique o nome local do host e a porta do Blob Storage como 127.0.0.1:10000, seguido pelo nome da conta de armazenamento local:
| URI de solicitação de método POST | Versão HTTP |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey |
HTTP/1.1 |
Para obter mais informações, consulte Usar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.
Parâmetros de URI
Os seguintes parâmetros adicionais podem ser especificados no URI da solicitação.
| Parâmetro | Description |
|---|---|
timeout |
Optional. O timeout parâmetro é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de Armazenamento de Blobs. |
Cabeçalhos da solicitação
A tabela a seguir descreve cabeçalhos de solicitação obrigatórios e opcionais.
| Cabeçalho da solicitação | Description |
|---|---|
Authorization |
Obrigatório Especifica o esquema de autorização. Somente a autorização com Microsoft Entra ID é suportada. Para mais informações, veja Autorizar com o Microsoft Entra ID. |
x-ms-version |
Obrigatório para todas as solicitações autorizadas. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure. |
x-ms-client-request-id |
Optional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres de 1 kibibyte (KiB) que é registrado nos logs quando o log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações que o servidor recebe. Para obter mais informações, consulte Monitorar o Armazenamento de Blobs do Azure. |
Corpo da solicitação
O formato do corpo do pedido é o seguinte:
<?xml version="1.0" encoding="utf-8"?>
<KeyInfo>
<Start>String, formatted ISO Date</Start>
<Expiry>String, formatted ISO Date </Expiry>
</KeyInfo>
Os elementos do corpo da solicitação são descritos na tabela a seguir:
| Elemento | Description |
|---|---|
| Iniciar | Obrigatório O horário de início da delegação do usuário SAS, no formato de data ISO. Deve ser uma data e hora válidas dentro de sete dias a partir da data atual. |
| Caducidade | Obrigatório O tempo de expiração da delegação do usuário SAS, no formato de data ISO. Deve ser uma data e hora válidas dentro de sete dias a partir da data atual. |
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 200 (OK).
Para obter mais informações sobre códigos de status, consulte Status e códigos de erro.
Cabeçalhos de resposta
A resposta para essa operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.
| Cabeçalho de resposta | Description |
|---|---|
x-ms-request-id |
Identifica de forma única a solicitação feita e pode ser usada para solucionar o problema da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API. |
x-ms-version |
A versão de Armazenamento de Blob que foi usada para executar a solicitação. |
Date |
Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada. |
x-ms-client-request-id |
Pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do cabeçalho x-ms-client-request-id se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, ele não estará presente na resposta. |
Corpo da resposta
O formato do corpo da resposta é o seguinte:
<?xml version="1.0" encoding="utf-8"?>
<UserDelegationKey>
<SignedOid>String containing a GUID value</SignedOid>
<SignedTid>String containing a GUID value</SignedTid>
<SignedStart>String formatted as ISO date</SignedStart>
<SignedExpiry>String formatted as ISO date</SignedExpiry>
<SignedService>b</SignedService>
<SignedVersion>String specifying REST api version to use to create the user delegation key</SignedVersion>
<Value>String containing the user delegation key</Value>
</UserDelegationKey>
Os elementos do corpo de resposta são descritos na tabela a seguir:
| Elemento | Description |
|---|---|
| AssinadoOid | O identificador imutável de um objeto no sistema de identidade da Microsoft. |
| SignedTid | Um GUID que representa o tenant Microsoft Entra de onde o usuário é. |
| SignedStart | O horário de início da chave de delegação do usuário, no formato de data ISO. |
| Expiração assinada | O tempo de expiração da chave de delegação do usuário, no formato de data ISO. |
| Serviço Assinado | O serviço para o qual a chave de delegação do usuário pode ser usada, onde b representa o Armazenamento de Blobs. |
| Versão Assinada | A versão da API REST que é usada para obter a chave de delegação do usuário. |
| Valor | A chave de delegação do usuário. |
Authorization
A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você só pode autorizar a Get User Delegation Key operação usando o Microsoft Entra ID.
Permissions
O principal de segurança que solicita a chave de delegação do usuário precisa ter as permissões apropriadas para isso. Um principal de segurança Microsoft Entra pode ser um usuário, um grupo, um principal de serviço ou uma identidade gerenciada.
Abaixo estão listadas a ação RBAC necessária para que um principal de segurança da Microsoft Entra chame a Get User Delegation Key operação, e o papel RBAC incorporado ao Azure menos privilegiado que inclui essa ação:
- Azure RBAC ação:Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
- Função embutida menos privilegiada:Delegador de Blob de Armazenamento
Qualquer função embutida que inclua essa ação Azure RBAC, seja explicitamente ou como parte de uma definição coringa, pode chamar a Get User Delegation Key operação.
Para saber mais sobre como atribuir funções usando o RBAC do Azure, consulte Atribuir uma função do Azure para acesso a dados de blob.
Como a Get User Delegation Key operação atua no nível da conta de armazenamento, a ação Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey deve ser escopada no nível da conta de armazenamento, do grupo de recursos ou da assinatura. Se o principal de segurança for atribuído a qualquer um dos papéis embutidos listados anteriormente, ou a um papel personalizado que inclua a ação Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , no nível da conta de armazenamento, do grupo de recursos ou da assinatura, o principal de segurança poderá solicitar a chave de delegação do usuário.
Se o principal de segurança receber uma função que permite acesso a dados, mas tem escopo no nível de um container, você pode adicionalmente atribuir a função de Delegador de Blob de Armazenamento a esse principal de segurança no nível da conta de armazenamento, grupo de recursos ou assinatura. A função Storage Blob Delegator concede permissões ao principal de segurança para solicitar a chave de delegação do usuário.
Para mais informações sobre funções RBAC para Azure Storage, veja Autorizar com Azure Active Directory.
Observações
Use a chave de delegação de usuário para criar um SAS de delegação de usuário. Inclua os campos que são retornados na resposta ao Get User Delegation Key token SAS da delegação do usuário. Para obter mais informações, veja Cria uma SAS de delegação de usuário.
A chave de delegação do usuário não pode ser usada para acessar diretamente recursos do Blob Storage.
Faturamento
As solicitações de preços podem se originar de clientes que usam APIs de Armazenamento de Blobs, diretamente por meio da API REST do Armazenamento de Blobs ou de uma biblioteca de clientes do Armazenamento do Azure. Essas solicitações acumulam encargos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura são acumuladas em uma categoria de cobrança diferente das transações de gravação. A tabela a seguir mostra a categoria de cobrança para Get User Delegation Key solicitações com base no tipo de conta de armazenamento:
| Operation | Tipo de conta de armazenamento | Categoria de faturamento |
|---|---|---|
| Obter chave de delegação do usuário | Blob de blocos Premium Uso geral v2 Standard |
Outras operações |
| Obter chave de delegação do usuário | Uso geral padrão v1 | Operações de leitura |
Para saber mais sobre os preços da categoria de cobrança especificada, confira Preços do Armazenamento de Blobs do Azure.