PutBucketPolicy

Documentación: PutBucketPolicy

Descripción

La operación PutBucketPolicy aplica una política a un bucket. Una política de bucket es un documento JSON que define quién tiene acceso al bucket y qué acciones pueden realizar.

Solicitud

Método: PUT

URI:

  • Estilo virtual-host: https://{bucket-name}.s3.latam-scl-x.datageneral.cl/?policy

  • Estilo path: https://s3.latam-scl-x.datageneral.cl/{bucket-name}?policy

Encabezados:

  • Host: Requerido. Especifica el nombre del bucket (para virtual-host) o el host del servicio (para path-style).

  • Date: Requerido. Fecha y hora de la solicitud.

  • Content-Length: Requerido. La longitud del cuerpo de la solicitud (el documento de política JSON).

  • Content-Type: Requerido. Debe ser application/json.

  • Authorization: Requerido. Contiene la firma de la solicitud para la autenticación.

  • x-amz-content-sha256: Requerido. El hash SHA256 del cuerpo de la solicitud.

Cuerpo de la solicitud:

  • Requerido. Contiene el documento de política JSON que define los permisos de acceso para el bucket.

Respuesta

Códigos de estado:

  • 204 No Content: La política del bucket se aplicó exitosamente.

  • 400 Bad Request: La solicitud no se pudo procesar debido a un error del cliente (ej., política JSON inválida).

  • 403 Forbidden: El cliente no tiene permiso para establecer la política del bucket.

  • Otros códigos de error: Pueden aplicar códigos de error específicos del servicio S3.

Encabezados de la respuesta:

  • Date: Fecha y hora de la respuesta.

  • x-amz-request-id: Un identificador único para la solicitud.

  • x-amz-id-2: Un identificador único extendido para la solicitud.

  • Server: Información sobre el servidor que procesó la solicitud.

Cuerpo de la respuesta:

  • Vacío. No hay contenido en el cuerpo de la respuesta.

Ejemplos

Ejemplo de solicitud (usando estilo virtual-host):

PUT /?policy HTTP/1.1
Host: my-bucket.s3.latam-scl-x.datageneral.cl
Date: Mon, 26 Jul 2024 15:00:00 GMT
Content-Length: 512
Content-Type: application/json
Authorization: AWS AKIAIOSFODNN7EXAMPLE:QWxhZGVpbjEgXA==
x-amz-content-sha256: 234234567890abcdef01234567890abcdef01234567890abcdef01234567890abcdef
 
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket/*"
            ]
        }
    ]
}

Ejemplo de respuesta exitosa:

HTTP/1.1 204 No Content
Date: Mon, 26 Jul 2024 15:00:01 GMT
x-amz-request-id: 65423A7B884B82F1
Server: MyS3Server

Última actualización