Поделиться через


Get Container ACL (Получение списка управления доступом для контейнера)

Операция Get Container ACL получает разрешения для указанного контейнера. Разрешения показывают, имеется ли общий доступ к данным контейнера.

Начиная с версии 2009-09-19 разрешения контейнера предоставляют следующие возможности для управления доступом к контейнерам:

  • Полный общий доступ на чтение. Данные контейнера и больших двоичных объектов можно считывать с помощью анонимного запроса. Клиенты могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса, но не могут перечислять контейнеры в учетной записи хранения.

  • Общий доступ на чтение только для больших двоичных объектов. Данные BLOB-объектов в этом контейнере можно считать с помощью анонимного запроса, но данные контейнера недоступны. Клиенты не могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса.

  • Нет общего доступа на чтение. Данные контейнера и BLOB-объектов могут быть прочитаны только владельцем учетной записи.

Get Container ACL также возвращает сведения о политиках доступа на уровне контейнера, указанных в контейнере, которые могут использоваться с подписанными URL-адресами. Дополнительные сведения см. в разделе Определение хранимой политики доступа.

Весь общий доступ к контейнеру анонимен, как и доступ с использованием подписанного URL-адреса.

Запрос

Запрос Get Container ACL можно составить следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем своей учетной записи хранения:

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Запрос службы эмулированного хранилища

При выполнении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт хранилища BLOB-объектов как 127.0.0.1:10000, а затем имя эмулированной учетной записи хранения:

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки и тестирования службы хранилища Azure.

Параметры универсального кода ресурса (URI)

В URI запроса можно указать следующие дополнительные параметры:

Параметр Описание
timeout Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в статье Настройка времени ожидания для операций с хранилищем BLOB-объектов.

Коды ошибок запроса

Обязательные и необязательные заголовки запросов описаны в следующей таблице:

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-lease-id: <ID> Необязательно, версия 2012-02-12 и более поздние. Если он указан, выполняется успешно, Get Container ACL только если аренда контейнера активна и соответствует этому идентификатору. Если активная аренда отсутствует или идентификатор не совпадает, 412 (Precondition Failed) возвращается .
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure.

Текст запроса

Нет.

Ответ

Ответ включает код состояния HTTP, набор заголовков ответа и текст ответа.

Код состояния

Успешная операция возвращает код состояния 200 (ОК).

Сведения о кодах состояния см. в разделе Коды состояния и ошибок.

Коды ошибок ответа

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Заголовок ответа Описание
x-ms-blob-public-access Показывает, можно ли получить общий доступ к данным контейнера, а также уровень доступа. Возможные значения:

- container: указывает полный общий доступ на чтение для данных контейнера и больших двоичных объектов. Клиенты могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса, но не могут перечислять контейнеры в учетной записи хранения.
- blob: Указывает общий доступ на чтение для BLOB-объектов. Данные BLOB-объектов в этом контейнере можно считать с помощью анонимного запроса, но данные контейнера недоступны. Клиенты не могут перечислять большие двоичные объекты в контейнере с помощью анонимного запроса.
- true: Только версии, предшествующие 31.05.2016. Указывает, что контейнер был помечен для полного общего доступа на чтение с помощью версии, предшествующей 19.09.2009. Начиная с версии 2016-05-31 это значение возвращается как container .

Если этот заголовок не возвращается в ответе, контейнер является частным для владельца учетной записи.
ETag Тег сущности для контейнера. Если версия запроса — 18.08.2011 или более поздняя, значение ETag заключено в кавычки.
Last-Modified Возвращает дату и время последнего изменения контейнера. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в коде ошибок.

Любая операция, которая изменяет контейнер или его свойства или обновляет время последнего изменения. Операции с большими двоичными объектами не влияют на время последнего изменения контейнера.
x-ms-request-id Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в статье Устранение неполадок с операциями API.
x-ms-version Указывает версию службы, которая использовалась для выполнения запроса. Этот заголовок возвращается для запросов, выполненных в отношении версии 2009-09-19 и более поздних версий.
Date Значение даты и времени в формате UTC, созданное службой, которое указывает время инициации ответа.
x-ms-client-request-id Можно использовать для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, этот заголовок отсутствует в ответе.

Текст ответа

Если для контейнера была указана политика доступа на уровне контейнера, Get Container ACL возвращает подписанный идентификатор и политику доступа в тексте ответа.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>  
    <Id>unique-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  

Пример ответа

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-blob-public-access: container  
Date: Sun, 25 Sep 2011 20:28:22 GMT  
ETag: "0x8CAFB82EFF70C46"  
Last-Modified: Sun, 25 Sep 2011 19:42:18 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2009-09-28T08:49:37.0000000Z</Start>  
      <Expiry>2009-09-29T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Авторизация

Операция Get Container ACL поддерживает только авторизацию с общим ключом.

Комментарии

Только владелец учетной записи может считывать данные в определенной учетной записи хранения, если только владелец учетной записи не указал, что большие двоичные объекты в контейнере доступны для общего доступа на чтение, или не сделал ресурсы в контейнере доступными с помощью подписанного URL-адреса.

Выставление счетов

Запросы на ценообразование могут поступать от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются к категории выставления счетов, отличной от категории операций записи. В следующей таблице показана категория выставления счетов для Get Container ACL запросов на основе типа учетной записи хранения.

Операция Тип учетной записи хранения Категория выставления счетов
Get Container ACL (Получение списка управления доступом для контейнера) Блочный BLOB-объект (ценовая категории "Премиум")
Общего назначения версии 2 (цен. категория "Стандартный")
Другие операции
Get Container ACL (Получение списка управления доступом для контейнера) Стандартная общего назначения версии 1 Операции чтения

Дополнительные сведения о ценах на указанную категорию выставления счетов см. в разделе Цены на Хранилище BLOB-объектов Azure.

См. также раздел

Ограничение доступа к контейнерам и BLOB-объектам
Определение хранимой политики доступа
Set Container ACL
Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок хранилища BLOB-объектов