Almacenamiento de objetos API de compatibilidad de Amazon S3

Descubra cómo utilizar la API de compatibilidad de Amazon S3 de Oracle Cloud Infrastructure, donde puede utilizar las herramientas de Amazon S3 existentes para trabajar con Object Storage.

Con la API de compatibilidad de Amazon S3, los clientes pueden seguir utilizando sus herramientas de Amazon S3 existentes (por ejemplo, los clientes SDK) y realizar cambios mínimos en sus aplicaciones para trabajar con Object Storage. Los conjuntos de datos de la API de compatibilidad de Amazon S3 y de Object Storage son congruentes. Si se escriben datos en Object Storage con la API de compatibilidad de Amazon S3, se pueden volver a leer con la API nativa de Object Storage API y a la inversa.

Para obtener información sobre cómo Object Storage soporta la API de compatibilidad de Amazon S3, consulte Soporte de la API de compatibilidad de Amazon S3.

Para obtener información sobre cómo Object Storage proporciona soporte de API tanto para la API de compatibilidad de Amazon S3 como para la API de Swift, consulte Compartimentos para las API de compatibilidad y Swift de Amazon S3

Diferencias entre la API de Object Storage y la API de compatibilidad de Amazon S3

El servicio Object Storage proporcionado por Oracle Cloud Infrastructure y Amazon S3 utilizan conceptos y terminología similares. En ambos casos, los datos se almacenan como objetos en cubos. Las diferencias se encuentran en la implementación de funciones y herramientas para trabajar con objetos.

A continuación, se destacan las diferencias entre las dos tecnologías de almacenamiento:

  • Compartimentos

    Amazon S3 no utiliza compartimentos. Por defecto, los cubos creados mediante la API de compatibilidad de Amazon S3 o la API de Swift se crean en el compartimento raíz del arrendamiento de Oracle Cloud Infrastructure. En su lugar, puede designar un compartimento diferente para la API de compatibilidad de Amazon S3 o la API de Swift para crear cubos en él.

  • Espacio de nombres de cubo global

    Object Storage no utiliza un espacio de nombres de cubo global. El espacio de nombres de Object Storage sirve como contenedor de nivel superior para todos los cubos y objetos. En el momento de la creación de la cuenta, a cada inquilino de Oracle Cloud Infrastructure se le asigna un nombre de espacio de nombre de Object Storage inmutable, generado por el sistema y único. El espacio de nombres abarca todos los compartimentos dentro de una región. Puede controlar los nombres de cubo, pero esos nombres de cubo deben ser únicos en un espacio de nombres. Aunque el espacio de nombres es específico de la región, el propio nombre del espacio de nombres es el mismo en todas las regiones. Puede tener un cubo denominado MyBucket en Oeste de EE. UU. (Phoenix) y un cubo denominado MyBucket en Centro de Alemania (Fráncfort).

  • Cifrado

    El servicio Object Storage cifra todos los datos en reposo por defecto. El cifrado no se puede activar ni desactivar mediante la API.

  • Listas de control de acceso de nivel de objeto (ACL)

    Oracle Cloud Infrastructure no utiliza ACL para objetos. En su lugar, un administrador debe configurar grupos , compartimentos y políticas que controlen qué usuarios pueden acceder a qué servicios, qué recursos y el tipo de acceso. Por ejemplo, las políticas controlan quién puede crear usuarios y grupos, crear cubos, descargar objetos y gestionar reglas y políticas relacionadas con Object Storage.

Para obtener más información, consulte Descripción general.

Requisitos previos de la API de compatibilidad de Amazon S3

Para permitir el acceso a la aplicación desde Amazon S3 a Object Storage, debe configurar el acceso a Oracle Cloud Infrastructure y modificar la aplicación como se describe en las siguientes secciones.

Configuración de acceso a Oracle Cloud Infrastructure

  1. Regístrese en Oracle Cloud Infrastructure y obtenga un espacio de nombres único.

  2. Cualquier usuario de la API de compatibilidad de Amazon S3 con Object Storage necesita permiso para trabajar con el servicio. Si no está seguro de si tiene permiso, póngase en contacto con el administrador. Para obtener información básica sobre las políticas, consulte Cómo funcionan las políticas. Para conocer las políticas que permiten el uso de Object Storage, consulte Políticas comunes y la Referencia de políticas.

  3. Utilice una clave secreta de cliente existente o cree una. Una clave secreta de cliente consta de un par clave de acceso/clave secreta. Consulte Trabajar con claves secretas de cliente para obtener más información. Para utilizar o crear el par de claves:

    • Para utilizar una clave secreta de cliente existente, ya debe conocer la clave secreta. Por motivos de seguridad, no puede recuperar una clave secreta después de la generación. Para mostrar o copiar la clave de acceso, abra el menú Perfil y haga clic en Configuración de usuario. En la parte izquierda de la página, haga clic en Claves secretas de cliente. Sitúe el cursor sobre la Clave de acceso asociada al Nombre de una clave secreta de cliente concreta y, a continuación, haga clic en Copiar.
    • Para crear una clave secreta de cliente mediante la consola, consulte Para crear una clave secreta de cliente.
    • Para crear una clave secreta de cliente mediante la interfaz de línea de comandos (CLI), consulte https://docs.oracle.com/iaas/tools/oci-cli/2.12.11/oci_cli_docs/cmdref/iam/customer-secret-key/create.html.

Modificación de la aplicación

  1. Configure un nuevo punto final para la aplicación que incluya el nombre del espacio de nombres y el identificador de región. Por ejemplo:

    {object-storage-namespace}.compat.objectstorage..oraclecloud.com/{bucket}
  2. Defina la región de destino como una de las regiones de Oracle Cloud Infrastructure.

    Importante

    Si la aplicación no admite la definición del identificador de región en el identificador de Oracle Cloud Infrastructure correcto, debe definir la región en us-east-1 o dejarla en blanco. Con esta configuración, solo puede usar la API de compatibilidad de Amazon S3 en su región principal de Oracle Cloud Infrastructure. Si puede definir manualmente la región, podrá utilizar la aplicación con cualquier región de Oracle Cloud Infrastructure.
  3. Configure la aplicación para utilizar la clave secreta de cliente. La clave secreta de cliente consta de una clave de acceso y una clave secreta. Ambas claves se deben proporcionar a la aplicación.

  4. Utilice un acceso basado en ruta de acceso en la aplicación, similar al siguiente:

    {object-storage-namespace}.compat.objectstorage..oraclecloud.com/{bucket}
Nota

No están soportados los siguientes elementos:
  • Acceso de tipo host virtual

  • AWS Signature Versión 2 (SigV2)

Ahora puede usar la API de compatibilidad de Amazon S3 para acceder a Object Storage en Oracle Cloud Infrastructure.