Establecer LCA de objeto

Para cambiar las LCA en un objeto, realiza una solicitud PUT con alcance al depósito y objeto, y usa el parámetro de string de consulta acl. También debes incluir un documento XML en el cuerpo de la solicitud que contiene la configuración de LCA que deseas aplicar.

También puedes especificar las LCA cuando subes un objeto. Para ello, puedes usar el encabezado de solicitud x-goog-acl. Cuando usas el encabezado de solicitud x-goog-acl, puedes aplicar una de las LCA predefinidas. Si no usas el encabezado de solicitud x-goog-acl cuando subes un objeto, la LCA predeterminada (privada) se aplica al objeto.

Ten en cuenta que las LCA de un depósito determinan si un usuario tiene permiso para subir objetos en el depósito. Si un depósito otorga el permiso WRITE a los usuarios anónimos, los usuarios pueden subir objetos sin autenticarse. De lo contrario, todas las solicitudes de carga deben autenticarse y solo los usuarios con el permiso WRITE pueden subir objetos a un depósito.

Debes tener el permiso FULL_CONTROL para aplicar las LCA a un objeto existente.

Parámetros de string de consulta

Parámetro Descripción Obligatorio
acl Alcance el alcance de la solicitud solo para cambios de LCA. Puedes usar esto solo si usas el método de objeto PUT para cambiar las LCA en un objeto existente. Debes especificar las LCA en un documento XML en el cuerpo de la solicitud. No
generation Especifica la generación para la que se actualizarán las LCA. Puedes usar esto solo si usas el método de objeto PUT para cambiar las LCA en un objeto existente. Debes especificar las LCA en un documento XML en el cuerpo de la solicitud. No

Consulta los parámetros de string de consulta de URL firmados para obtener información sobre los parámetros que incluyes cuando creas y usas URL firmadas.

Solicita encabezados

Consulta encabezados de solicitud comunes.

Elementos de cuerpo de la solicitud

Los siguientes elementos del cuerpo de la solicitud solo se aplican si usas el parámetro de string de consulta acl para aplicar las LCA a un objeto existente.

Elemento Descripción
Owner Contenedor para la información del propietario del objeto.
ID El ID de Cloud Storage del propietario del objeto o del ID de Cloud Storage del usuario o grupo para el cual se aplican las LCA.
Name Campo de comentario para GroupByEmail, GroupById, UserByEmail y UserById. Si no especificas nada en Name cuando aplicas una LCA, el sistema de Cloud Storage propaga este campo con la dirección de correo electrónico que especificaste en EmailAddress.
AccessControlList Contenedor para las LCA que aplicas.
Entries Contenedor para las entradas de LCA que estás aplicando.
Entry La entrada de LCA que estás aplicando.
Scope El alcance al que se aplican las LCA
Permission El permiso que otorgas. Puede ser cualquiera de los permisos de Cloud Storage, incluidos READ, WRITE o FULL_CONTROL
EmailAddress Una dirección de correo electrónico de una Cuenta de Google o una dirección de correo electrónico de un Grupo de Google
Domain Un dominio de Google Workspace o de Cloud Identity

Sintaxis de la solicitud

La siguiente sintaxis se aplica a las solicitudes de objeto PUT que usan el parámetro de string de consulta acl.

PUT /OBJECT_NAME?acl HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Authorization: AUTHENTICATION_STRING

XML_DOCUMENT_DEFINING_ACLS

La siguiente sintaxis se aplica a las solicitudes condicionales de objetos PUT que usan el parámetro de string de consulta acl, así como generation y metageneration.

PUT /object?acl HTTP/1.1
Host: bucket.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Authorization: AUTHENTICATION_STRING
x-goog-if-generation: GENERATION_NUMBER
x-goog-if-metageneration: META_GENERATION_NUMBER

XML_DOCUMENT_DEFINING_ACLS

La siguiente sintaxis se aplica al objeto condicional PUT para un objeto de historial que usa el parámetro de string de consulta acl, así como generation y metageneration.

PUT /object?acl&generation=136088769710500 HTTP/1.1
Host: bucket.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Authorization: AUTHENTICATION_STRING
x-goog-if-metageneration: META_GENERATION_NUMBER

XML_DOCUMENT_DEFINING_ACLS

Encabezados de respuesta

La solicitud puede mostrar una variedad de encabezados de respuesta según los encabezados de la solicitud que uses.

Elementos del cuerpo de la respuesta

La respuesta no incluye un documento XML en el cuerpo de la respuesta.

Ejemplo

En el ejemplo siguiente se aplican las LCA al objeto london.jpg, que se almacena en el depósito de mapas de viajes. Las LCA otorgan el permiso FULL_CONTROL a jane@gmail.com, lo que permite que Jane descargue london.jpg y cambie las LCA en london.jpg. Las LCA también otorgan a los miembros del permiso grupo de Cloud Storage READ a london.jpg, que permite que cada miembro del grupo descargue london.jpg.

Solicitud

PUT /london.jpg?acl HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Sat, 20 Feb 2010 17:08:44 GMT
Content-Length: 682
Content-Type=application/xml; charset=UTF-8
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

<?xml version="1.0" encoding="UTF-8"?>
<AccessControlList>
  <Owner>
    <ID>84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46</ID>
    <Name></Name>
  </Owner>
  <Entries>
    <Entry>
      <Scope type="UserById">
        <ID>84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46</ID>
        <Name></Name>
      </Scope>
      <Permission>FULL_CONTROL</Permission>
    </Entry>
    <Entry>
      <Scope type="UserByEmail">
        <EmailAddress>jane@gmail.com</EmailAddress>
        <Name></Name>
      </Scope>
      <Permission>FULL_CONTROL</Permission>
    </Entry>
    <Entry>
      <Scope type="GroupByEmail">
        <EmailAddress>gs-discussion@googlegroups.com</EmailAddress>
      </Scope>
      <Permission>READ</Permission>
    </Entry>
  </Entries>
</AccessControlList>

Respuesta

HTTP/1.1 200 OK
Date: Sat, 20 Feb 2010 17:08:45 GMT
Content-Length: 0
Content-Type: text/html