Establecer ACL de recursos compartidos
La Set Share ACL
operación establece una directiva de acceso almacenada para su uso con firmas de acceso compartido. Para más información sobre cómo establecer directivas de acceso, consulte Concesión de acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido.
Disponibilidad del protocolo
Protocolo de recurso compartido de archivos habilitado | Disponible |
---|---|
SMB | |
NFS |
Request
Puede construir la Set Share 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.file.core.windows.net/myshare?restype=share&comp=acl |
HTTP/1.1 |
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 obtener más información, vea Establecer tiempos de espera para las operaciones de Azure Files. |
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 |
Obligatorio para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Esta operación solo está disponible en la versión 2015-02-21 y posteriores. 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. Para obtener más información, vea Supervisar Azure Blob Storage. |
x-ms-lease-id:<ID> |
Obligatorio si el recurso compartido de archivos de destino tiene una concesión activa. Disponible para la versión 2020-02-10 y posteriores. Si la solicitud no incluye el identificador de concesión o no es válido, se produce un error en la operación con el código de estado 412 (error de condición previa). Si se especifica este encabezado y el recurso compartido de archivos de destino no tiene actualmente una concesión activa, se produce un error en la operación con el código de estado 412 (error de condición previa). |
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 Share 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.fffffffTZD
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 fffffff
es la representación de siete 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2015-07-01T08:49:37.0000000Z</Start>
<Expiry>2015-07-02T08:49:37.0000000Z</Expiry>
<Permission>rwd</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 200 Correcto.
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 |
---|---|
ETag |
Devuelve la fecha y hora en que se modificó por última vez el contenedor. El formato de la fecha sigue las convenciones de RFC 1123. Para obtener más información, vea Representación de valores de fecha y hora en encabezados. |
Last-Modified |
Cualquier operación que modifique el recurso compartido o sus propiedades o metadatos actualiza la hora de la última modificación, incluida la configuración de los permisos del archivo. Las operaciones en archivos no afectan a la hora de la última modificación del recurso compartido. |
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 Azure Files que se usó para ejecutar la solicitud. |
Date o x-ms-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 200 OK
Response Headers:
Transfer-Encoding: chunked
Date: <date>
ETag: "0x8CB171613397EAB"
Last-Modified: <date>
x-ms-version: 2015-02-21
Server: Windows-Azure-File/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 un recurso compartido determinado, a menos que se cumple una de las condiciones siguientes:
- El propietario ha especificado que los recursos compartidos están disponibles para el acceso público estableciendo los permisos en el recurso compartido.
- El propietario ha emitido una firma de acceso compartido para un recurso dentro del recurso compartido.
Al establecer los permisos para un contenedor, los permisos existentes se reemplazan. Para actualizar los permisos del contenedor, llame a Get Share ACL para capturar todas las directivas de acceso asociadas al contenedor. Modifique la directiva de acceso que desea cambiar y, a continuación, llame Set Share ACL
a con el conjunto completo de datos para realizar la actualización.
Establecimiento de directivas de acceso de nivel de recurso compartido
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 más información sobre cómo establecer directivas de acceso, consulte Concesión de acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido.
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 la 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, vea Usar una firma de acceso compartido.
Puede establecer un máximo de cinco directivas de acceso independientes para un recurso compartido 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).
Se puede emitir una firma de acceso compartido en un recurso compartido o en un archivo independientemente de si los datos del contenedor están disponibles para el acceso de lectura anónimo. Una firma de acceso compartido proporciona más control sobre cómo, cuándo y a quién se hace accesible un recurso.
No se puede establecer ni recuperar una directiva de acceso para una instantánea de recurso compartido. Si intenta establecer una directiva de acceso, el servicio devuelve el código de estado 400 (InvalidQueryParameterValue).
Nota:
Al establecer una directiva de acceso almacenada en un contenedor, 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.