API de compatibilité avec le service de stockage d'objets 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 pour utiliser le service de stockage d'objets.
À l'aide de l'API de compatibilité Amazon S3, les clients peuvent continuer à utiliser leurs outils Amazon S3 existants (par exemple, les clients de trousse SDK) et à apporter des modifications minimes à leurs applications pour utiliser le service Stockage d'objets. Les jeux de données de l'API de compatibilité Amazon S3 et du stockage d'objets sont congruents. Si des données sont écrites dans le service Stockage d'objets à l'aide de l'API de compatibilité Amazon S3, il sera possible de les lire au moyen de l'API native du stockage d'objets et inversement.
L'API de compatibilité Amazon S3 prend en charge les URL de style chemin uniquement. Les URL de style V2 (hébergées virtuelles) ne sont pas prises en charge.
Pour plus d'informations sur la prise en charge de l'API de compatibilité Amazon S3, voir Prise en charge de l'API de compatibilité Amazon S3.
Pour plus d'informations sur la prise en charge de l'API par le service de stockage d'objets pour l'API de compatibilité Amazon S3 et l'API Swift, voir Compartiments pour les API de compatibilité Amazon S3 et Swift
Différences entre l'API du service Stockage d'objets et l'API de compatibilité Amazon S3
Le service Stockage d'objets 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 seaux. Les différences résident dans la mise en oeuvre des fonctions et des outils relatifs à l'utilisation des objets.
Voici les différences entre les deux technologies de stockage :
-
Compartiments
Amazon S3 n'utilise pas de compartiments. Par défaut, les seaux 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. À la place, vous pouvez désigner un compartiment différent pour l'API de compatibilité Amazon S3 ou l'API Swift pour créer des seaux dedans.
-
Espace de noms de seau global
Le service Stockage d'objets n'utilise pas d'espace de noms de seau global. L'espace de noms du stockage d'objets sert de conteneur de niveau supérieur pour tous les seaux et objets. Lors de la création du compte, un nom d'espace de noms de stockage d'objets unique généré par le système et non mutable est affecté à chaque locataire Oracle Cloud Infrastructure. L'espace de noms couvre tous les compartiments d'une région. Vous contrôlez les noms de seau dans votre espace de noms. Toutefois, les noms de seau doivent être uniques au sein d'un espace de noms. Bien que l'espace de noms soit propre à une région, le nom de l'espace de noms lui-même est le même dans toutes les régions. Vous pouvez avoir un seau nommé MyBucket dans la région États-Unis - Ouest (Phoenix) et un seau nommé MyBucket dans la région Allemagne - Centre (Francfort).
-
Chiffrement
Le service de stockage d'objets chiffre toutes les données au repos par défaut. Il est impossible d'activer ou de désactiver le chiffrement à l'aide de l'API.
-
Listes de contrôle d'accès au niveau de l'objet (LCA)
Oracle Cloud Infrastructure n'utilise pas de listes de contrôle d'accès pour les objets. À la place, un administrateur doit configurer les groupes, les compartiments et les politiques qui déterminent les utilisateurs pouvant accéder aux services et aux ressources, ainsi que le type d'accès. Par exemple, les politiques contrôlent qui peut créer des utilisateurs et des groupes, créer des seaux, télécharger des objets et gérer les politiques et les règles liées au stockage d'objets.
Pour plus d'informations, voir Aperçu.
Préalables pour l'API de compatibilité Amazon S3
Pour permettre à votre application d'accéder au service de stockage d'objets depuis Amazon S3 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
-
Inscrivez-vous pour Oracle Cloud Infrastructure et obtenez un espace de noms unique.
-
Tout utilisateur de l'API de compatibilité Amazon S3 avec le service Stockage d'objets doit disposer de l'autorisation nécessaire pour utiliser le service. Si vous n'êtes pas sûr de disposer de l'autorisation nécessaire, communiquez avec l'administrateur. Pour des informations de base sur les politiques, voir Fonctionnement des politiques. Pour les politiques qui permettent d'utiliser le service de stockage d'objets, voir Politiques communes et Informations de référence sur les politiques.
-
Utilisez une clé secrète de client existante ou en créer une. Une clé secrète de client est associée à une paire clé d'accès/clé secrète. Pour plus de détails, voir Utilisation des clés secrètes du client. Pour utiliser ou créer la paire de clés :
- Pour utiliser une clé secrète de client existante, vous devez déjà la connaître. Pour des raisons de sécurité, vous ne pouvez pas extraire une clé secrète après la génération. Pour afficher ou copier la clé d'accès : Dans le menu de navigation , sélectionnez le menu Profil
, puis sélectionnez Paramètres de l'utilisateur ou Mon profil, selon l'option que vous voyez. Sur le côté gauche de la page, sélectionnez Clés secrètes du client. Positionnez le curseur de la souris sur la clé d'accès associée au nom d'une clé secrète de client particulière, puis sélectionnez Copier.
- Pour créer une clé secrète de client à l'aide de la console, voir Pour créer une clé secrète de client.
- Pour créer une clé secrète de client à l'aide de l'interface de ligne de commande, voir oci iam customer-secret-key create.
- Pour utiliser une clé secrète de client existante, vous devez déjà la connaître. Pour des raisons de sécurité, vous ne pouvez pas extraire une clé secrète après la génération. Pour afficher ou copier la clé d'accès : Dans le menu de navigation , sélectionnez le menu Profil
Modification de votre application
-
Configurez un nouveau point d'extrémité pour l'application qui inclut le nom de l'espace de noms et l'identificateur de région. Utilisez la syntaxe suivante :
https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com
-
Définissez la région cible comme 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 pour l'identificateur Oracle Cloud Infrastructure approprié, vous devez régler la région àus-east-1
ou laisser ce champ vide. Avec cette configuration, vous ne pouvez utiliser l'API de compatibilité Amazon S3 que dans votre région principale Oracle Cloud Infrastructure. Si vous pouvez définir manuellement la région, vous pouvez utiliser l'application pour toutes les régions Oracle Cloud Infrastructure. -
Configurez l'application pour utiliser la clé secrète de client. La clé secrète de client est associée à une paire clé d'accès/clé secrète. Ces deux clés doivent être fournies à l'application.
-
Incluez l'accès basé sur le chemin dans votre application. Utilisez la syntaxe suivante :
https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}
-
Accès de type hôte virtuel
-
Signature AWS version 2 (SigV2)
Vous pouvez maintenant utiliser l'API de compatibilité Amazon S3 pour accéder au service Stockage d'objets sous Oracle Cloud Infrastructure.