Compartir a través de


Obtención de la ACL del contenedor

La operación Get Container ACL obtiene los permisos para el contenedor especificado. Los permisos indican si se puede acceder a los datos del contenedor públicamente.

A partir de la versión 2009-09-19, los permisos de contenedor proporcionan las siguientes opciones para administrar el acceso al contenedor:

  • acceso de lectura público completo: los datos de contenedor y blob se pueden leer a través de una solicitud anónima. Los clientes pueden enumerar blobs dentro del contenedor a través de una solicitud anónima, pero no pueden enumerar contenedores dentro de la cuenta de almacenamiento.

  • acceso de lectura público para blobs solo: los datos de blobs de este contenedor se pueden leer a través de una solicitud anónima, pero los datos del contenedor no están disponibles. Los clientes no pueden enumerar blobs dentro del contenedor a través de una solicitud anónima.

  • no hay acceso de lectura público: solo el propietario de la cuenta puede leer los datos de contenedor y blob.

Get Container ACL también devuelve detalles sobre las directivas de acceso de nivel de contenedor especificadas en el contenedor que se pueden usar con firmas de acceso compartido. Para obtener más información, vea Definir una directiva de acceso almacenada.

Todo el acceso público al contenedor es anónimo, al igual que el acceso a través de una firma de acceso compartido.

Pedir

La solicitud de Get Container ACL se puede construir de la siguiente manera. Se recomienda usar HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento:

Método URI de solicitud Versión HTTP
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Solicitud de 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 Blob Storage como 127.0.0.1:10000, seguido del nombre de la cuenta de almacenamiento emulada:

Método URI de solicitud Versión HTTP
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Para más información, consulte Uso del emulador de Azurite para el desarrollo local de Azure Storage.

Parámetros de URI

Se pueden especificar los siguientes parámetros adicionales en el URI de solicitud:

Parámetro Descripción
timeout Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, consulte Establecer tiempos de espera para las operaciones de Blob Storage.

Códigos de error de solicitud

Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:

Encabezado de solicitud Descripción
Authorization Obligatorio. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para más información, consulte Autorizar solicitudes a Azure Storage.
Date o x-ms-date Obligatorio. Especifica la hora universal coordinada (UTC) de la solicitud. Para más información, consulte Autorizar solicitudes a Azure Storage.
x-ms-lease-id: <ID> Opcional, versión 2012-02-12 y posteriores. Si se especifica, Get Container ACL solo se realiza correctamente si la concesión del contenedor está activa y coincide con este identificador. Si no hay ninguna concesión activa o el identificador no coincide, se devuelve 412 (Precondition Failed).
x-ms-version Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se va a usar para esta solicitud. Para más información, consulte Control de versiones de para 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 Monitor Azure Blob Storage.

Cuerpo de la solicitud

Ninguno.

Respuesta

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

Código de estado

Una operación correcta devuelve el código de estado 200 (Correcto).

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

Códigos de error de respuesta

La respuesta de esta operación incluye los siguientes encabezados. 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 de .

Encabezado de respuesta Descripción
x-ms-blob-public-access Indica si se puede acceder a los datos del contenedor públicamente y el nivel de acceso. Entre los valores posibles se incluyen:

- container: indica el acceso de lectura público completo para los datos de contenedor y blob. Los clientes pueden enumerar blobs dentro del contenedor a través de una solicitud anónima, pero no pueden enumerar contenedores dentro de la cuenta de almacenamiento.
- blob: Indica el acceso de lectura público para blobs. Los datos de blobs de este contenedor se pueden leer a través de una solicitud anónima, pero los datos del contenedor no están disponibles. Los clientes no pueden enumerar blobs dentro del contenedor a través de una solicitud anónima.
- true: versiones anteriores a 2016-05-31 solo. Indica que el contenedor se marcó para el acceso de lectura público completo mediante una versión anterior a 2009-09-19. A partir de la versión 2016-05-31, este valor se devuelve como container en su lugar.

Si este encabezado no se devuelve en la respuesta, el contenedor es privado para el propietario de la cuenta.
ETag Etiqueta de entidad para el contenedor. Si la versión de la solicitud es 2011-08-18 o posterior, el valor de ETag se incluye entre comillas.
Last-Modified Devuelve la fecha y hora en que se modificó por última vez el contenedor. El formato de fecha sigue a RFC 1123. Para obtener más información, vea Representar valores de fecha y hora en códigos de error.

Cualquier operación que modifique el contenedor o sus propiedades o metadatos actualiza la hora de la última modificación. Las operaciones en blobs no afectan a la hora de la última modificación del contenedor.
x-ms-request-id Identifica de forma única la solicitud que se realizó y se puede usar para solucionar problemas de la solicitud. Para obtener más información, consulte Solución de problemas de operaciones de API.
x-ms-version Indica la versión del servicio 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 en que se inició la respuesta.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y sus respuestas correspondientes. El valor de este encabezado es igual al valor del encabezado x-ms-client-request-id si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el encabezado x-ms-client-request-id no está presente en la solicitud, este encabezado no está presente en la respuesta.

Cuerpo de la respuesta

Si se ha especificado una directiva de acceso de nivel de contenedor para el contenedor, Get Container ACL devuelve el identificador firmado y la directiva de acceso en el cuerpo de la respuesta.

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

Respuesta de ejemplo

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>  
  

Autorización

Se requiere autorización al llamar a cualquier operación de acceso a datos en Azure Storage. Puede autorizar la operación de Get Container ACL como se describe a continuación.

Importante

Microsoft recomienda usar el identificador de Entra de Microsoft con identidades administradas para autorizar solicitudes a Azure Storage. Microsoft Entra ID proporciona seguridad y facilidad de uso superiores en comparación con la autorización de clave compartida.

Azure Storage admite el uso de Microsoft Entra ID para autorizar solicitudes a datos de blobs. Con microsoft Entra ID, puede usar el control de acceso basado en rol de Azure (RBAC de Azure) para conceder permisos a una entidad de seguridad. La entidad de seguridad puede ser un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada de Azure. Microsoft Entra ID autentica la entidad de seguridad para devolver un token de OAuth 2.0. Después, el token se puede usar para autorizar una solicitud en Blob service.

Para obtener más información sobre la autorización mediante el identificador de Entra de Microsoft, consulte Autorizar el acceso a blobs mediante el identificador de Microsoft Entra.

Permisos

A continuación se enumeran las acciones de RBAC necesarias para que un usuario, grupo, identidad administrada o entidad de servicio de Microsoft Entra llame a la operación de Get Container ACL y el rol RBAC integrado con privilegios mínimos que incluye esta acción:

Para más información sobre cómo asignar roles mediante Azure RBAC, consulte Asignación de un rol de Azure para el acceso a datos de blobs.

Observaciones

Ninguno. Consulte información de facturación para obtener más información sobre cómo afecta esta operación a los costos.

Facturación

Las solicitudes de precios pueden originarse en clientes que usan api de Blob Storage, ya sea directamente a través de la API REST de Blob Storage o desde una biblioteca cliente de Azure Storage. Estas solicitudes acumulan cargos por transacción. El tipo de transacción afecta a cómo se cobra la cuenta. Por ejemplo, las transacciones de lectura se acumulan en una categoría de facturación diferente a las transacciones de escritura. En la tabla siguiente se muestra la categoría de facturación de las solicitudes de Get Container ACL en función del tipo de cuenta de almacenamiento:

Operación Tipo de cuenta de almacenamiento Categoría de facturación
Obtención de la ACL del contenedor Blob en bloques Premium
Uso general estándar v2
Otras operaciones
Obtención de la ACL del contenedor Uso general estándar v1 Operaciones de lectura

Para obtener información sobre los precios de la categoría de facturación especificada, consulte precios de Azure Blob Storage.

Consulte también

Restringir el acceso a contenedores y blobs
Definir una directiva de acceso almacenada
establecer de ACL de contenedor
Autorizar solicitudes a Azure Storage
códigos de error y estado
códigos de error de Blob Storage