aws url amazon-web-services amazon-s3 policy

aws - URL para el cubo público Amazon S3



aws s3 api (1)

La estructura de URL a la que se refiere se denomina punto final REST, a diferencia del punto final del sitio web.

Nota: Dado que esta respuesta se escribió originalmente, S3 ha implementado compatibilidad con dualstack en los puntos finales REST, utilizando nuevos nombres de host, dejando los nombres de host existentes en su lugar. Esto ahora está integrado en la información proporcionada a continuación.

Si su cubo está realmente en la región de US-east-1 de AWS, que la documentación de S3 anteriormente se denominaba región "estándar de EE. UU.", Pero posteriormente fue renombrada oficialmente como "región de este de EE. UU. (Virginia)" - - entonces http://s3-us-east-1.amazonaws.com/bucket/ no es la forma correcta para ese punto final, aunque parezca que debería ser. El formato correcto para esa región es http://s3.amazonaws.com/bucket/ o http://s3-external-1.amazonaws.com/bucket/

El formato que está utilizando se aplica a todas las otras regiones S3, pero no a la norma EE . UU. Este de EE. UU. (N. Virginia) [us-east-1].

S3 ahora también tiene nombres de host de punto de pila dual para los puntos finales REST, y a diferencia de los nombres de host endpoint originales, los nombres de estos tienen un formato consistente en todas las regiones, por ejemplo s3.dualstack.us-east-1.amazonaws.com . Estos puntos finales admiten la conectividad IPv4 e IPv6 y la resolución DNS, pero por lo demás son funcionalmente equivalentes a los puntos finales REST existentes.

Si sus permisos y configuración están configurados de modo que el punto final del sitio web funcione, entonces el punto final REST debería funcionar también.

Sin embargo ... los dos puntos finales no ofrecen la misma funcionalidad.

En general, el punto final REST es más adecuado para el acceso a la máquina y el punto final del sitio web es más adecuado para el acceso humano, ya que el punto final del sitio web ofrece mensajes de error, documentos de índice y redirecciones, mientras que el punto final REST no. Por otro lado, el punto final REST ofrece HTTPS y soporte para URL firmadas, mientras que el punto final del sitio web no.

Elija el tipo correcto de punto final (REST o sitio web) para su aplicación:

http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff

¹ s3-external-1.amazonaws.com ha sido referido como el "punto final del norte de Virginia", en contraste con el "punto final global" s3.amazonaws.com . Es extraoficialmente posible obtener la coherencia lectura-escritura posterior en objetos nuevos en esta región si se utilizara el nombre de host "s3-externo-1", porque esto lo enviaría a un subconjunto de puntos finales físicos posibles que podrían proporcionar esa funcionalidad. Este comportamiento ahora es oficialmente compatible con este punto final, por lo que esta es probablemente la mejor opción en muchas aplicaciones. Anteriormente, s3-external-2 se denominaba "extremo del Pacífico Noroeste" para el estándar de EE. UU., Aunque actualmente es un CNAME en DNS para s3-external-1 por lo que s3-external-2 parece no tener otro propósito que retroceder -compatibilidad.

Tengo un cubo de Amazon S3 que hago público con una política como esta

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Public Access to All Objects", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::bucket/*" } ] }

Mi cubo ahora está visible como http://bucket.s3-website-us-east-1.amazonaws.com/

Veo a otros referirse a su cubo como http://s3-us-east-1.amazonaws.com/bucket/

Preferiría la segunda URL, pero da acceso denegado.

¿Cómo puedo cambiar mi política para permitir la segunda URL?