Экспорт (0) Печать
Развернуть все

Задание списков управления доступом для таблиц

Обновлено: Февраль 2015 г.

Наборы операций Set Table ACL устанавливают хранимые политики доступа для таблицы, которая может быть использована с подписями коллективного доступа. Дополнительные сведения см. в Установка хранимой политики доступа.

noteПримечание
Операция Set Table ACL доступна в версии 2012-02-12 и более новой.

noteПримечание
access control list (ACL) is a list of access control entries (ACE). Каждая запись ACE в списке ACL идентифицирует доверенное лицо и указывает права доступа, разрешаемые, запрещаемые или проверяемые для этого доверенно��о лица. Дополнительные сведения см. в разделе Списки управления доступом.

Запрос Set Table ACL можно составить следующим образом. Рекомендуется использовать протокол HTTPS. Замените myaccount именем нужной учетной записи хранения.

 

Метод URI запроса Версия HTTP

PUT

https://myaccount.table.core.windows.net/mytable?comp=acl

HTTP/1.1

При построении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт службы таблиц в виде 127.0.0.1:10002, затем укажите имя эмулированной учетной записи хранилища.

 

Метод URI запроса Версия HTTP

PUT

http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl

HTTP/1.1

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

В URI запроса могут быть заданы следующие дополнительные параметры.

 

Параметр Описание

timeout

Необязательно. Параметр timeout указывается в секундах. Дополнительные сведения см. в Задание времени ожидания для операций службы очередей.

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

 

Заголовок запроса Описание

Authorization

Обязательно. Указывает схему проверки подлинности, имя учетной записи и подпись. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

Date или x-ms-date

Обязательно. Задает время в формате UTC для запроса. Дополнительные сведения см. в Проверка подлинности для служб хранения Azure.

x-ms-version

Необязательно. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в Управление версиями для служб хранилища Azure.

x-ms-client-request-id

Необязательно. Предоставляет сформированное клиентом непрозрачное значение с ограничением в 1 КБ, которое записывается в журналы аналитики, когда включено ведение журналов аналитики хранилища. Этот заголовок настоятельно рекомендуется использовать для соотнесения действий, выполняемых на стороне клиента, с запросами, получаемыми сервером. Дополнительные сведения см. в разделах Сведения о ведении журнала службы аналитики хранилища и Ведение журналов в Azure: использование журналов для отслеживания запросов к хранилищу.

Можно указать хранимую политику доступа, предоставив уникальный идентификатор и политику доступа в тексте запроса для операции Set Table ACL.

Элемент SignedIdentifier включает уникальный идентификатор, как указано в элементе Id, и подробности политики доступа, как указано в элементе AccessPolicy. Максимальная длина уникального идентификатора составляет 64 знака.

Поля Start и Expiry должны быть выражены через время по Гринвичу (UTC) и соответствовать действительному формату ISO 8061. В число поддерживаемых форматов ISO 8061 входят следующие:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.ffffffTZD

Для части даты таких форматов YYYY— представление года из четырех цифр, MM— представление месяца из двух цифр, а DD— представление дня из двух цифр. Для части времени hh— представление часов в 24-часовом формате, mm— представление минут в формате из двух цифр, ss— представление секунд из двух цифр, а ffffff— представление миллисекунд из шести цифр. Обозначение времени T разделяет части даты и времени в строке, а обозначение часового пояса TZD определяет часовой пояс.

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

Request Syntax:
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=

Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
  <SignedIdentifier> 
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
    <AccessPolicy>
      <Start>2013-11-26T08:49:37.0000000Z</Start>
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>
      <Permission>raud</Permission>
    </AccessPolicy>
  </SignedIdentifier>
</SignedIdentifiers>

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

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

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

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

 

Заголовок ответа Описание

x-ms-request-id

Этот заголовок однозначно определяет выполненный запрос, его также можно использовать для устранения связанных с запросом неполадок. Дополнительные сведения см. в разделе Устранение неполадок при API-операциях.

x-ms-version

Указывает версию службы таблиц, используемую для выполнения запроса. Этот заголовок возвращается для запросов к версии 2009-09-19 и более поздним версиям.

Date

Значение даты и времени в формате UTC, сформированное службой и указывающее время, когда был инициирован ответ.

Response Status:
HTTP/1.1 204 No Content

Response Headers:
Transfer-Encoding: chunked
Date: Mon, 25 Nov 2013 22:42:55 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0

Вызов этой операции доступен только владельцу учетной записи.

Только владелец учетной записи может получать доступ к ресурсам в определенной таблице, если только владелец не сформировал подпись коллективного доступа для ресурса в этой таблице.

При установке разрешений для таблицы существующие разрешения заменяются. Чтобы обновить разрешения таблицы, следует вызвать Получение списка управления доступом для таблицы для выборки всех политик доступа, сопоставленных с таблицей, изменить те политики доступа, какие требуется, а затем вызвать Set Table ACL с полным набором данных для обновления.

Установка хранимых политик доступа

Хранимая политика доступа может задавать время начала, время окончания и разрешения для подписей коллективного доступа, с которыми она сопоставлена. В зависимости от того, как требуется управлять доступом к ресурсу таблицы, можно указать в политике все эти параметры и исключить их из URL-адреса подписи коллективного доступа. Это позволяет изменить поведение связанной подписи в любое время, а также отменить ее. Или же вы можете указать один или несколько параметров в политике доступа, а остальные указать в URL-адресе. И наконец, вы можете указать все параметры в URL-адресе. В этом случае хранимую политику доступа можно использовать для отмены подписи, но не для изменения поведения подписи. См. дополнительные сведения о задании политик доступа в разделе Использование хранимой политики доступа.

Подпись общего доступа и хранимая политика доступа должны включать все поля, необходимые для проверки подлинности подписи. Если какие-либо обязательные поля отсутствуют, то запрос завершится ошибкой. Аналогично, если поле указано и в подписанном URL-адресе, и в хранимой политике доступа, запрос завершится ошибкой с кодом состояния 400 (неправильный запрос). См. дополнительные сведения о полях, составляющих подписи коллективного доступа, в разделе Создание URI подписанного URL-адреса.

Обратите внимание, что для заданной таблицы в любое время можно установить самое большее 5 отдельных политик доступа. Если в тексте запроса передается больше 5 политик доступа, служба возвращает код состояния 400 (неправильный запрос).

noteПримечание
Для ввода в действие хранимой политики доступа в таблице после настройки может потребоваться до 30 секунд. В этот промежуток времени попытка применения подписанного URL-адреса, связанного с хранимой политикой доступа, будет завершаться ошибкой с кодом состояния 403 (Forbidden), пока политика доступа не станет активной.

Показ:
© 2015 Microsoft