Configurar LCA de depósito

Para establecer o modificar las LCA en un depósito existente, realiza una solicitud PUT con alcance al depósito y usa el parámetro de string de consulta acl. Debes incluir un documento XML en el cuerpo de la solicitud que contiene la configuración de LCA que deseas aplicar. Ten en cuenta que no puedes establecer las LCA en un depósito nuevo que estés creando. (Cuando creas un depósito nuevo, la LCA predeterminada (proyecto-privada) se aplica de forma automática al depósito.

Debes tener el permiso FULL_CONTROL para aplicar las LCA a un depósito existente. También debes autenticarte para usar el método de depósito de PUT. Las solicitudes de creación de depósitos anónimas fallarán.

Parámetros de string de consulta

Parámetro Descripción Obligatorio
acl Usa esto para cambiar las LCA en un depósito existente. Debes proporcionar el documento XML de la LCA 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 depósito existente.

Elemento Descripción
Owner Contenedor para la información del propietario del depósito.
ID El ID de Google Storage del propietario del depósito o el ID de Google Storage del usuario o grupo al que 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 Grupos de Google
Domain Un dominio de Google Workspace o de Cloud Identity

Sintaxis de la solicitud

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

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 a un depósito llamado acme-pets. Las LCA otorgan el permiso WRITE a los miembros de Google Storage (un Grupo de Google). Cuando se otorga el permiso WRITE al grupo, cada miembro del grupo puede subir objetos al depósito acme-pets, borrar los objetos del depósito de mascotas y enumerar los objetos del depósito acme-pets. Las LCA también otorgan a jane@gmail.com FULL_CONTROL del depósito acme-pets, que le permite a Julie subir objetos, borrar objetos, hacer una lista de objetos y modificar las LCA en el depósito de mascotas de acme. las rutas "a GCP".

Solicitud

PUT /?acl HTTP/1.1
Host: acme-pets.storage.googleapis.com
Date: Thu, 10 Jun 2010 03:38:42 GMT
Content-Length: 705
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>WRITE</Permission>
    </Entry>
  </Entries>
</AccessControlList>