Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Операция Get User Delegation Key получает ключ, который можно использовать для подписания подписи пользовательской делегации SAS (подпись общего доступа). Delegation пользователя SAS предоставляет доступ к ресурсам хранения Azure Blob с использованием учетных данных Microsoft Entra. Операция Get User Delegation Key доступна в версии 2018-11-09 и более позднее.
Просьба
Постройте Get User Delegation Key их следующим образом. Требуется ПРОТОКОЛ HTTPS. Замените myaccount именем учетной записи хранения.
| URI запроса метода POST | Версия HTTP |
|---|---|
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey |
HTTP/1.1 |
Запрос службы эмулированного хранилища
Когда вы отправляете запрос к локальному сервису хранения, укажите локальное имя хоста и порт Blob Storage как 127.0.0.1:10000, а затем имя учетной записи локального хранилища:
| URI запроса метода POST | Версия HTTP |
|---|---|
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey |
HTTP/1.1 |
Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки локальной службы хранилища Azure.
Параметры URI
В URI запроса могут быть указаны следующие дополнительные параметры.
| Параметр | Description |
|---|---|
timeout |
Необязательно. Параметр timeout выражается в секундах. Дополнительные сведения см. в статье Установка времени ожидания для операций с хранилищем BLOB-объектов. |
Заголовки запросов
В следующей таблице описаны обязательные и необязательные заголовки запросов.
| Заголовок запроса | Description |
|---|---|
Authorization |
Обязательное. Задаёт схему авторизации. Поддерживается только авторизация с Microsoft Entra ID. Для получения дополнительной информации см. раздел «Авторизация с помощью Microsoft Entra ID». |
x-ms-version |
Требуется для всех авторизованных запросов. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. |
x-ms-client-request-id |
Необязательно. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Мониторинг хранилища BLOB-объектов Azure. |
Основное содержание запроса
Формат тела запроса следующий:
<?xml version="1.0" encoding="utf-8"?>
<KeyInfo>
<Start>String, formatted ISO Date</Start>
<Expiry>String, formatted ISO Date </Expiry>
</KeyInfo>
Элементы тела запроса описаны в следующей таблице:
| Элемент | Description |
|---|---|
| Начало | Обязательное. Время начала для пользовательской делегации SAS, в формате даты ISO. Это должна быть действительная дата и время в течение семи дней с текущей даты. |
| Истечение | Обязательное. Время истечения пользовательской делегации SAS в формате ISO. Это должна быть действительная дата и время в течение семи дней с текущей даты. |
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Код состояния
Успешная операция возвращает статус 200 (OK).
Дополнительные сведения о кодах состояния см. в коды состояния и коды ошибок.
Заголовки ответа
Ответ для этой операции включает следующие заголовки. Ответ также может включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
| Заголовок ответа | Description |
|---|---|
x-ms-request-id |
Уникально идентифицирует сделанный запрос и может быть использован для устранения неполадок. Дополнительные сведения см. в статье Устранение неполадок с операциями API. |
x-ms-version |
Версия Blob Storage, которая использовалась для выполнения запроса. |
Date |
Значение даты и времени в формате UTC, созданное службой, указывающее время, когда был инициирован ответ. |
x-ms-client-request-id |
Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id, если оно присутствует в запросе, а значение содержит не более 1024 видимых символов ASCII. Если в запросе отсутствует заголовок x-ms-client-request-id, он не будет присутствовать в ответе. |
Основная часть ответа
Формат тела ответа следующий:
<?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>
Элементы тела ответа описаны в следующей таблице:
| Элемент | Description |
|---|---|
| SignedOid | Неизменяемый идентификатор объекта в системе идентификации Microsoft. |
| SignedTid | GUID, представляющий арендатор Microsoft Entra, из которого принадлежит пользователь. |
| SignedStart | Время запуска ключа делегирования пользователя в формате даты ISO. |
| SignedExpiry | Срок действия ключа делегирования пользователя в формате даты ISO. |
| Автограф Сервис | Сервис, для которого может использоваться ключ делегирования пользователя, где b представляет собой Blob Storage. |
| SignedVersion | Версия REST API, которая используется для получения ключа делегирования пользователя. |
| Ценность | Ключ для делегирования пользователя. |
Authorization
Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Авторизировать Get User Delegation Key операцию можно только с помощью Microsoft Entra ID.
Permissions
Принцип безопасности, запрашивающий ключ делегирования пользователя, должен обладать соответствующими правами для этого. Принципал безопасности Microsoft Entra может быть пользователем, группой, принципалом сервиса или управляемой идентичностью.
Ниже перечислены действия RBAC, необходимые для вызова Get User Delegation Key принципал безопасности Microsoft Entra, а также наименее привилегированная встроенная роль Azure RBAC, включающая это действие:
- Azure RBAC action:Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
- Наименее привилегированная встроенная роль:Storage Blob Delegator
Любая встроенная роль, включающая это действие Azure RBAC, явно или в определении джокера, может вызывать эту Get User Delegation Key операцию.
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Поскольку Get User Delegation Key операция действует на уровне аккаунта хранения, действие Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey должно быть ограничено на уровне учетной записи хранения, группы ресурсов или подписки. Если принципал безопасности назначен на одну из ранее указанных встроенных ролей или пользовательскую роль, включающую действие Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , на уровне аккаунта хранения, группы ресурсов или подписки, принципал безопасности сможет запросить ключ делегирования пользователя.
Если принципал безопасности назначен на роль, позволяющую доступ к данным, но ограничен уровнем контейнера, вы можете дополнительно назначить роль делегатора Storage Blob этому принципалу безопасности на уровне аккаунта хранения, группы ресурсов или подписки. Роль делегатора Storage Blob предоставляет принципалу безопасности права запросить ключ делегирования пользователя.
Для получения дополнительной информации о ролях RBAC для Azure Storage см. раздел «Авторизовать с Azure Active Directory».
Замечания
Используйте ключ делегирования пользователя для создания SAS для делегирования пользователей. Включите поля, которые возвращаются в ответе на Get User Delegation Key пользовательский токен SAS. Дополнительные сведения см. в разделе Создание SAS для делегирования пользователя.
Ключ делегирования пользователя нельзя использовать для прямого доступа к ресурсам Blob Storage.
Выставление счетов
Запросы на оплату могут исходить от клиентов, использующих API хранилища BLOB-объектов, либо непосредственно через REST API хранилища BLOB-объектов, либо из клиентской библиотеки службы хранилища Azure. За эти запросы взимается плата за каждую транзакцию. Тип транзакции влияет на то, как будет взиматься плата со счета. Например, транзакции чтения относятся к другой категории выставления счетов, чем транзакции записи. В следующей таблице показана категория выставления счетов для Get User Delegation Key запросов в зависимости от типа учетной записи хранения:
| Операция | Тип учетной записи хранения | Категория биллинга |
|---|---|---|
| Получение ключа делегирования пользователей | Блочный BLOB-объект категории "Премиум". Стандартная версия общего назначения v2 |
Другие операции |
| Получение ключа делегирования пользователей | Стандартный общего назначения версии 1 | Операции чтения |
Сведения о ценах для указанной категории выставления счетов см. в статье Цены на хранилище BLOB-объектов Azure.