Set Queue ACL
La Set Queue ACL
operación establece directivas de acceso almacenadas para la cola que se pueden usar con una SAS (firma de acceso compartido). Para obtener más información, consulte Definición de una directiva de acceso almacenada.
Nota
La operación Set Queue ACL
está disponible en la versión 2012-02-12 y posteriores.
Request
Puede construir la Set Queue ACL
solicitud como se indica a continuación. Se recomienda usar HTTPS.
Reemplace myaccount por el nombre de la cuenta de almacenamiento:
Método | URI de solicitud | Versión de HTTP |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue?comp=acl |
HTTP/1.1 |
Solicitud de servicio de almacenamiento emulada
Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Queue service como 127.0.0.1:10001
, seguido del nombre de la cuenta de almacenamiento emulada:
Método | URI de solicitud | Versión de HTTP |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue?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. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Queue Service. |
Encabezados de solicitud
Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:
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 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. Para más información, consulte Supervisión de Azure Queue Storage. |
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 Queue ACL
.
El elemento SignedIdentifier
incluye el identificador único, tal como se especifica en el elemento Id
, y los detalles de la directiva de acceso, tal como se especifica en el elemento AccessPolicy
. 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. Entre los formatos ISO 8061 admitidos se incluyen los siguientes:
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. Un designador T
de hora separa las partes de fecha y hora de la cadena y un 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.queue.core.windows.net/myqueue?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?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>raup</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 más 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 otros encabezados HTTP estándar. 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ó y se puede usar 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 Queue Service que se usó para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y posteriores. |
Date |
Valor de fecha y hora UTC generado por el servicio, que indica la hora a la que se inició la respuesta. |
x-ms-client-request-id |
Este encabezado 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 no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta. |
Respuesta de muestra
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2012-02-12
Server: Windows-Azure-Queue/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 cola determinada a menos que el propietario haya emitido una firma de acceso compartido para un recurso dentro de la cola.
Al establecer los permisos para una cola, los permisos existentes se reemplazan. Para actualizar los permisos de la cola, llame a Get Queue ACL para capturar todas las directivas de acceso asociadas a la cola. Modifique la directiva de acceso que desea cambiar y, a continuación, llame Set Queue 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 con las que está asociada. En función de cómo quiera controlar el acceso al recurso de cola, puede especificar todos estos parámetros dentro de la directiva de acceso almacenada y omitirlos de la dirección URL de la firma de acceso compartido. Al hacerlo, puede modificar el comportamiento de la firma asociada en cualquier momento o revocarlo. O bien, puede especificar uno o varios parámetros de directiva de acceso dentro de la directiva de acceso almacenada y los demás en la dirección URL. Por último, puede especificar todos los parámetros de la dirección URL. En este caso, puede utilizar la directiva de acceso almacenada para revocar la firma, pero no para 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 faltan campos obligatorios, se produce un error en la solicitud. Del mismo modo, si se especifica un campo en la dirección URL de la firma de acceso compartido y en la directiva de acceso almacenada, se produce un error en la solicitud con el código de estado 400 (solicitud incorrecta).
Como máximo, se pueden establecer cinco directivas de acceso independientes para una sola cola 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).
Al establecer una directiva de acceso almacenada en una cola, puede tardar hasta 30 segundos en surtir efecto. Durante este intervalo, se produce 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
Get Queue ACL
Autorización de solicitudes a Azure Storage
Estado y códigos de error