Object Storage API de compatibilité Amazon S3

Découvrez comment utiliser l'API de compatibilité Amazon S3 d'Oracle Cloud Infrastructure, où vous pouvez utiliser les outils Amazon S3 existants avec Object Storage.

Grâce à l'API de compatibilité Amazon S3, les clients peuvent continuer à utiliser leurs outils Amazon S3 existants (clients de kit SDK, par exemple) et apporter des modifications minimes à leurs applications pour qu'elles fonctionnent avec Object Storage Les ensembles de données de l'API de compatibilité Amazon S3 et d'Object Storage sont compatibles. Si les données sont écrites dans Object Storage avec l'API de compatibilité Amazon S3, vous pouvez les lire avec l'API native Object Storage et inversement.

Pour plus d'informations sur la façon dont Object Storage prend en charge l'API de compatibilité Amazon S3, reportez-vous à Prise en charge de l'API de compatibilité Amazon S3.

Pour plus d'informations sur la façon dont Object Storage fournit une prise en charge à la fois de l'API de compatibilité Amazon S3 et de l'API Swift, reportez-vous à Compartiments de l'API de compatibilité Amazon S3 et de l'API Swift.

Différences entre l'API Object Storage et l'API de compatibilité Amazon S3

Le service Object Storage fourni par Oracle Cloud Infrastructure et Amazon S3 utilisent des concepts et une terminologie similaires. Dans les deux cas, les données sont stockées en tant qu'objets dans des buckets. Les différences résident dans l'implémentation des fonctionnalités et des outils permettant d'utiliser les objets.

Les informations suivantes mettent en évidence les différences entre les deux technologies de stockage :

  • Compartiments

    Amazon S3 n'utilise pas de compartiments. Par défaut, les buckets créés à l'aide de l'API de compatibilité Amazon S3 ou de l'API Swift sont créés dans le compartiment racine de la location Oracle Cloud Infrastructure. A la place, vous pouvez désigner un compartiment différent dans lequel l'API de compatibilité Amazon S3 ou l'API Swift peut créer des buckets.

  • Espace de noms de bucket global

    Object Storage n'utilise pas d'espace de noms de bucket global. L'espace de noms Object Storage sert de conteneur de niveau supérieur pour tous les buckets et objets. Au moment de la création du compte, chaque locataire Oracle Cloud Infrastructure reçoit un nom d'espace de noms Object Storage unique, généré par le système et non mutable. L'espace de noms couvre tous les compartiments d'une région. Vous contrôlez les noms de bucket mais ceux-ci doivent être uniques au sein d'un espace de noms. Bien que l'espace de noms soit propre à une région, le nom d'espace de noms est identique dans toutes les régions. Vous pouvez appeler un bucket MyBucket dans la région Ouest des Etats-Unis (Phoenix) et un autre MyBucket dans la région Allemagne centrale (Francfort).

  • Cryptage

    Par défaut, le service Object Storage crypte toutes les données inactives. Le cryptage ne peut pas être activé ou désactivé à l'aide de l'API.

  • Listes de contrôle d'accès de niveau objet

    Oracle Cloud Infrastructure n'utilise pas les listes de contrôle d'accès pour les objets. Au lieu de cela, un administrateur doit configurer des groupes , des compartiments et des stratégies qui déterminent les services et les ressources auxquels les utilisateurs peuvent accéder, ainsi que le type d'accès. Par exemple, les stratégies déterminent qui peut créer des utilisateurs et des groupes, créer des buckets, télécharger des objets, et gérer les règles et stratégies relatives à Object Storage.

Pour plus d'informations, reportez-vous à Présentation.

Prérequis pour l'API de compatibilité Amazon S3

Pour activer l'accès à l'application à partir d'Amazon S3 vers Object Storage, vous devez configurer l'accès à Oracle Cloud Infrastructure et modifier votre application comme décrit dans les sections suivantes.

Configuration de l'accès à Oracle Cloud Infrastructure

  1. Inscrivez-vous à Oracle Cloud Infrastructure et obtenez un espace de noms unique.

  2. Tout utilisateur de l'API de compatibilité Amazon S3 avec Object Storage a besoin de droits d'accès lui permettant d'utiliser le service. Si vous n'êtes pas certain de disposer de tels droits d'accès, contactez l'administrateur. Pour obtenir des informations de base sur les stratégies, reportez-vous à Fonctionnement des stratégies. Pour connaître les stratégies permettant d'utiliser Object Storage, reportez-vous à Stratégies courantes et à Référence de stratégie.

  3. Utilisez une clé secrète client existante ou créez-en une. Une clé secrète client est une paire clé d'accès/clé secrète. Pour obtenir des détails, reportez-vous à Utilisation des clés secrètes client. Pour utiliser ou créer une paire de clés, procédez comme suit :

    • Pour utiliser une clé secrète client existante, vous devez déjà connaître la clé secrète. Pour des raisons de sécurité, vous ne pouvez pas extraire une clé secrète après sa génération. Pour afficher ou copier la clé d'accès, ouvrez le menu Profil et cliquez sur Paramètres utilisateur. Sur le côté gauche de la page, cliquez sur Clés secrètes client. Positionnez le curseur sur la clé d'accès associée au nom d'une clé secrète client spécifique, puis cliquez sur Copier.
    • Pour créer une clé secrète client à l'aide de la console, reportez-vous à Procédure de création d'une clé secrète client.
    • Pour créer une clé secrète client à l'aide de l'interface de ligne de commande, reportez-vous à la page https://docs.oracle.com/iaas/tools/oci-cli/2.12.11/oci_cli_docs/cmdref/iam/customer-secret-key/create.html.

Modification de l'application

  1. Configurez pour l'application une nouvelle adresse qui inclut le nom d'espace de noms et l'identificateur de région. Par exemple :

    {object-storage-namespace}.compat.objectstorage..oraclecloud.com/{bucket}
  2. Définissez la région cible sur l'une des régions Oracle Cloud Infrastructure.

    Important

    Si votre application ne prend pas en charge la définition de l'identificateur de région sur l'identificateur Oracle Cloud Infrastructure correct, vous devez définir la région sur us-east-1 ou la laisser vide. Avec cette configuration, vous pouvez uniquement utiliser l'API de compatibilité Amazon S3 dans votre région Oracle Cloud Infrastructure d'origine. Si vous pouvez définir la région manuellement, vous pouvez utiliser l'application avec n'importe quelle région Oracle Cloud Infrastructure.
  3. Configurez l'application pour qu'elle utilise la clé secrète client. La clé secrète client se compose d'une clé d'accès et d'une clé secrète. Ces deux clés doivent être fournies à l'application.

  4. Utilisez l'accès basé sur un chemin dans votre application, comme suit :

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

Les éléments suivants ne sont pas pris en charge :
  • Accès de type hôte virtuel

  • Signature AWS version 2 (SigV2)

Vous pouvez désormais utiliser l'API de compatibilité Amazon S3 pour accéder à Object Storage dans Oracle Cloud Infrastructure.