Set Table ACL

La Set Table ACL operación establece las directivas de acceso almacenadas para la tabla que se pueden usar con firmas de acceso compartido. Para obtener más información, consulte Definición de una directiva de acceso almacenada.

Nota:

La operación Set Table ACL está disponible en la versión 2012-02-12 y posteriores.

Nota:

Una lista de control de acceso (ACL) es una lista de entradas de control de acceso (ACE). Cada ACE de una ACL identifica a un usuario de confianza y especifica los derechos de acceso concedidos, denegados o auditados para dicho usuario. Para obtener más información, consulte Listas de control de acceso.

Request

Puede construir la Set Table ACL solicitud como se indica a continuación. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento.

Método URI de solicitud Versión de HTTP
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

URI del servicio de almacenamiento emulado

Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Azure Table Storage como 127.0.0.1:10002. A continuación, agregue el nombre de la cuenta de almacenamiento emulada.

Método URI de solicitud Versión de HTTP
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

Para más información, consulte Uso del emulador de Azurite para desarrollo y pruebas locales de Azure Storage.

Parámetros del identificador URI

Puedes especificar los siguientes parámetros adicionales en el URI de la solicitud:

Parámetro Descripción
timeout Opcional. Expresado en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Table Storage.

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud obligatorios y opcionales:

Encabezado de solicitud Descripción
Authorization Necesario. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date o x-ms-date Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Opcional. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros de Storage Analytics cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor.

Cuerpo de la solicitud

Para especificar una directiva de acceso almacenada, proporcione un identificador y una directiva de acceso únicos en el cuerpo de la solicitud para la operación Set Table ACL.

El SignedIdentifier elemento incluye el identificador único, como se especifica en el Id elemento . SignedIdentifier también incluye los detalles de la directiva de acceso, como se especifica en el AccessPolicy elemento . La longitud máxima del identificador único es de 64 caracteres.

Los campos Start y Expiry deben expresarse como horas UTC y deben cumplir los requisitos de un formato ISO 8061 válido. Los formatos ISO 8061 admitidos incluyen:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

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

Para la parte de fecha de estos formatos, YYYY es una representación de cuatro dígitos del año, MM es una representación de dos dígitos del mes y DD es una representación de dos dígitos del día. Para la parte de hora, hh es la representación de la hora en la notación de 24 horas, mm es la representación de dos dígitos de los minutos, ss es la representación de dos dígitos de los segundos y ffffff es la representación de seis dígitos de los milisegundos. El designador T de hora separa las partes de fecha y hora de la cadena. El designador TZD de zona horaria especifica una zona horaria.

<?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>  
  

Solicitud de ejemplo

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>  
  

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 204 (Sin contenido).

Para obtener información sobre los códigos de estado, vea Códigos de estado y de error.

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir encabezados HTTP estándar adicionales. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Encabezado de respuesta Descripción
x-ms-request-id Identifica de forma única la solicitud que se realizó. También puede usarlo para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API.
x-ms-version Indica la versión de Table Storage que se usa para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y versiones posteriores.
Date Valor de fecha y hora UTC que indica la hora a la que el servicio envió la respuesta.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado, si está presente en la solicitud y el valor tiene como máximo 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, este encabezado no estará presente en la respuesta.

Respuesta de muestra

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  
  

Authorization

Solo el propietario de la cuenta puede llamar a esta operación.

Comentarios

Solo el propietario de la cuenta puede acceder a los recursos de una tabla determinada, a menos que el propietario haya emitido una firma de acceso compartido para un recurso dentro de la tabla.

Al establecer los permisos para una tabla, los permisos existentes se reemplazan. Para actualizar los permisos de la tabla, llame a Get Table ACL para capturar todas las directivas de acceso asociadas a la tabla. Modifique la directiva de acceso que desea cambiar y, a continuación, llame Set Table ACL a con el conjunto completo de datos para realizar la actualización.

Establecimiento de directivas de acceso almacenadas

Una directiva de acceso almacenada puede especificar la hora de inicio, la hora de expiración y los permisos para las firmas de acceso compartido a las que está asociada. En función de cómo quiera controlar el acceso al recurso compartido o al recurso de archivo, puede:

  • Especifique todos estos parámetros dentro de la directiva de acceso almacenada y omitalos de la dirección URL de la firma de acceso compartido. Esto le permite modificar el comportamiento de la firma asociada o revocarlo en cualquier momento.
  • Especifique uno o varios de los parámetros de la directiva de acceso dentro de la directiva de acceso almacenada y especifique los demás parámetros en la dirección URL.
  • Especifique todos los parámetros en la dirección URL. En este caso, puede usar la directiva de acceso almacenada para revocar la firma, pero no modificar su comportamiento.

Para obtener más información sobre cómo establecer directivas de acceso, consulte Definición de una directiva de acceso almacenada.

Juntos, la firma de acceso compartido y la directiva de acceso almacenada deben incluir todos los campos necesarios para autorizar la firma. Si falta alguno de los campos necesarios, la solicitud producirá un error. Del mismo modo, si se especifica un campo en la dirección URL de firma de acceso compartido y en la directiva de acceso almacenada, se producirá un error en la solicitud con el código de estado 400 (solicitud incorrecta). Para obtener más información sobre los campos que componen una firma de acceso compartido, consulte Creación de una SAS de servicio.

Puede establecer un máximo de cinco directivas de acceso independientes para una tabla en cualquier momento. Si se pasan más de cinco directivas de acceso en el cuerpo de la solicitud, el servicio devuelve el código de estado 400 (solicitud incorrecta).

Nota:

Al establecer una directiva de acceso almacenada en una tabla, puede tardar hasta 30 segundos en surtir efecto. Durante este intervalo, se producirá un error en una firma de acceso compartido asociada a la directiva de acceso almacenada con el código de estado 403 (Prohibido), hasta que la directiva de acceso se active.

Consulte también

Definición de una directiva de acceso almacenada
Creación y uso de una firma de acceso compartido
Delegar el acceso con una firma de acceso compartido
Get Table ACL
Autorización de solicitudes a Azure Storage
Estado y códigos de error