Création d'une demande pré-authentification dans Object Storage

Créez une demande pré-authentifiée pour tous les objets d'un bucket Object Storage ou pour un objet spécifique.

Pour limiter la portée d'une demande pré-authentifiée aux objets qui commencent par un préfixe spécifique, reportez-vous à Création d'une demande pré-authentifiée pour les objets avec un préfixe spécifique.

Pour plus d'informations sur les demandes pré-authentifiées, reportez-vous à Utilisation de demandes pré-authentifiées.
    1. Ouvrez le menu de navigation et cliquez sur Stockage. Sous Object Storage et Archive Storage, cliquez sur Buckets.
    2. Sélectionnez le compartiment dans la liste sous Portée de la liste. Tous les buckets de ce compartiment sont répertoriés sous forme tabulaire.
    3. Cliquez sur le bucket dont vous souhaitez obtenir les détails. La page Détails du bucket apparaît.
    4. Cliquez sur Demande pré-authentifiée sous Ressources. La liste Demande pré-authentifiée apparaît. Toutes les demandes pré-authentifiées sont répertoriées dans un tableau.
    5. Cliquez sur Créer une demande pré-authentifiée. La boîte de dialogue Créer une demande pré-authentifiée apparaît.
    6. Procédez comme suit :
      • Nom : entrez le nom de la demande pré-authentifiée ou acceptez le nom généré par le système par défaut. Le système génère un nom de demande qui reflète l'année, le mois, le jour et l'heure en cours, par exemple, par-bucket-20210330-1643. Utilisez uniquement des lettres, des chiffres, des tirets, des traits de soulignement et des points pour la dénomination.

      • Cible de demande pré-authentifiée : sélectionnez l'une des cibles suivantes :

        • Bucket : crée une demande pré-authentifiée pour tous les objets du bucket.

        • Objet : crée une demande pré-authentifiée pour un objet spécifique.

        • Objet avec préfixe : crée une demande pré-authentifiée pour tous les objets avec un préfixe de nom spécifique dans le bucket.

      • Nom d'objet : (cible d'objet uniquement) entrez le nom d'objet auquel la demande pré-authentifiée s'applique.

      • Préfixe : (objet avec cible de préfixe uniquement) : entrez le préfixe utilisé pour déterminer les objets auxquels la demande pré-authentifiée s'applique :

        • Vous pouvez indiquer un préfixe qui inclut des barres obliques ("/") afin de correspondre aux noms d'objet qui simulent une hiérarchie ou une structure de répertoires.
        • Vous pouvez indiquer une chaîne de préfixe sans séparateur afin de correspondre aux caractères les plus à gauche du nom d'objet.

        Pour plus d'informations sur les préfixes, reportez-vous à Dommage des objets à l'aide de préfixes et de hiérarchies.

      • Type d'accès :

        Sélectionnez l'un des types d'accès suivants en fonction du type d'accès dont disposent les utilisateurs de la demande pré-authentifiée pour les objets :

        Types d'accès aux buckets et aux objets :

        • Autoriser les lectures sur l'objet

        • Autoriser les écritures sur l'objet

        • Autoriser les lectures et les écritures sur l'objet

        Objet avec type d'accès de préfixe :

        • Autoriser les lectures sur les objets avec le préfixe indiqué

        • Autoriser les écritures sur les objets comportant le préfixe indiqué

        • Autoriser les lectures et les écritures sur les objets comportant le préfixe indiqué

      • Activer la liste des objets : (bucket et objet avec préfixe uniquement) sélectionnez cette option pour permettre à l'utilisateur de la demande pré-authentifiée de répertorier les objets du bucket.

      • Expiration : entrez la date et l'heure d'expiration de l'accès à la pré-authentification. Cliquez dans la zone pour afficher la fonction de calendrier dans laquelle vous pouvez sélectionner le mois, le jour et l'heure. Toutes les heures sont au format UTC. Le délai d'expiration par défaut est d'une semaine à compter de la création de la demande pré-authentifiée.

    7. Cliquez sur Créer une demande pré-authentifiée. La boîte de dialogue Détails de la demande pré-authentifiée apparaît.

      La boîte de dialogue Détails de la demande pré-authentifiée affiche l'URL utilisée pour accéder aux objets.

    8. Copiez l'URL qui apparaît dans la zone URL de la demande préauthentifiée. Vous pouvez également cliquer sur l'icône "copier" en regard du champ. Collez l'URL dans le stockage durable pour référence ultérieure.
    9. Cliquez sur Fermer.
    Important

    L'URL unique fournie par le système lors de la création d'une demande pré-authentifiée est la seule façon dont un utilisateur peut accéder à la cible de la demande. L'URL est affichée uniquement lors de la création. Elle n'est pas stockée dans Object Storage. Vous ne pouvez plus y accéder ni l'extraire une fois que vous avez fermé la boîte de dialogue Détails de la demande pré-authentifiée. Assurez-vous de le stocker dans un endroit sûr et récupérable.

  • Utilisez la commande oci os preauth-request create et les paramètres requis pour créer une demande pré-authentifiée :

    oci os preauth-request create --bucket-name bucket_name --name name --access-type access_type --time-expires expiration_timestamp [OPTIONS]

    Le paramètre name est le nom de la demande pré-authentifiée. Evitez de saisir des informations confidentielles.

    La valeur du paramètre access-type peut être l'un des éléments suivants :

    • AnyObjectRead : autorise les lectures sur tous les objets du bucket.

    • AnyObjectWrite : Autorise les écritures sur tous les objets du bucket.

    • AnyObjectReadWrite : Autorise la lecture et l'écriture sur tous les objets du bucket.

    La valeur expiration_timestamp est requise pour utiliser un horodatage RFC 3339. Par exemple : 2021-04-02T22:25:27.322000+00:00.

    Par exemple :

    oci os preauth-request create --bucket-name MyParBucket --name MyAllObjectsReadWritePAR --access-type AnyObjectReadWrite --time-expires="2022-11-21T23:00:00+00:00"
    {  "data": {
        "access-type": "AnyObjectReadWrite",
        "access-uri": "/p/2WOshPVWv9uqIqy6abokChGEXYdCZ8l75CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/MyNamespace/b/MyParBucket/o/",
        "id": "QgT6f1skUMbXDhpXKQ4BRX9u7ci8AAJ7f9OGzgdEkNJ3XQmHzeN/kDhLEbN2HvPn",
        "name": "MyAllObjectsReadWritePAR",
        "object-name": null,
        "time-created": "2021-04-02T22:25:27.322000+00:00",
        "time-expires": "2022-11-21T23:00:00+00:00"

    Liste des objets

    L'action permettant d'établir la liste des objets est refusée par défaut. Si --access-type est défini sur AnyObjectRead ou AnyObjectReadWrite, vous pouvez indiquer le paramètre facultatif --bucket-listing-action ListObjects lors de la création de la demande pré-authentifiée qui permet aux utilisateurs de répertorier les objets du bucket.

    Par exemple, pour créer une demande pré-authentification qui autorise l'accès en lecture et en écriture à tous les objets du bucket nommé MyParBucket, procédez comme suit :
    oci os preauth-request create --namespace MyNamespace --bucket-name MyParBucket --name MyAllObjectsReadWritePAR --access-type AnyObjectReadWrite --time-expires="2022-11-21T23:00:00+00:00" --bucket-listing-action ListObjects
    {  "data": {
        "access-type": "AnyObjectReadWrite",
        "access-uri": "/p/2WOshPVWv9uqIqy6abokChGEXYdCZ8l75CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/MyNamespace/b/MyParBucket/o/",
        "bucket-listing-action": "ListObjects",
        "id": "QgT6f1skUMbXDhpXKQ4BRX9u7ci8AAJ7f9OGzgdEkNJ3XQmHzeN/kDhLEbN2HvPn",
        "name": "MyAllObjectsReadWritePAR",
        "object-name": null,
        "time-created": "2021-04-02T22:25:27.322000+00:00",
        "time-expires": "2022-11-21T23:00:00+00:00"
      }
    }
    Important

    La valeur de access-uri fournie par le système lorsque vous créez une demande pré-authentification est l'élément clé de l'URL à construire pour fournir l'accès utilisateur au bucket cible. Copiez la valeur de access-uri vers un stockage durable. L'élément access-uri est affiché uniquement lors de la création et ne peut pas être extrait ultérieurement.

    L'URL de demande pré-authentifiée unique fournie aux utilisateurs pour l'exemple précédent est construite comme suit :

    https://objectstorage.region_identifier.oraclecloud.comaccess_uri

    Reportez-vous à A propos des régions et des domaines de disponibilité pour obtenir la liste des identificateurs de région valides.

    Par exemple, voici l'URL complète de la demande qui autorise les lectures et les écritures sur tous les objets du bucket nommé MyParBucket :

    https://objectstorage.us-phoenix-1.oraclecloud.com/p/2WOshPVWv9uqIqy6abokChGEXYdCZ8l75CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/MyNamespace/b/MyParBucket/o/

    Voici un exemple d'utilisation de cURL pour exécuter une demande PUT sur un objet à l'aide de la demande pré-authentifiée qui autorise les lectures et les écritures sur tous les objets du bucket nommé MyParBucket et dont la liste des objets est activée :

    $ curl -X PUT --data-binary '@edit-lifecycle-rules.pdf' https://objectstorage.us-phoenix-1.oraclecloud.com/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/edit-lifecycle-rules.pdf
    

    Voici un exemple d'utilisation de cURL pour exécuter une demande GET sur des objets à l'aide de la même demande pré-authentifiée :

    $ curl -X GET https://objectstorage.us-phoenix-1.oraclecloud.com/p/2WOshPVWv9uqIqy6abokChGEXYdCZ8l75CoO26YkSARiRevWlDWJD_QUvtFPUocn/n/MyNamespace/b/MyParBucket/o/
    {"objects":[{"name":"InfoWorld DeepDive - Tips  for Git and GitHub Users.pdf"},{"name":"OCISG_README.txt"},{"name":"OCI_User_Guide.pdf"},{"name":"OracleCorporateTerminologyUsageGuideRedwood.pdf"},{"name":"VPN.png"},{"name":"eventslogreference.htm"},{"name":"flowlogreference.htm"},{"name":"functionslogreference.htm"},{"name":"glob.txt"},{"name":"loadbalancerreference.htm"},{"name":"objectstoragelogreference.htm"},{"name":"replication.txt"},{"name":"troubleshooting.txt"},{"name":"udx-1494-lifecycle-rule-glob.pdf"}]}

    La demande GET répertorie les demandes PUT récentes pour edit-lifecycle-rules.pdf et tous les autres objets du bucket. Vous pouvez éventuellement utiliser le paramètre de requête fields pour inclure également les champs size (taille de l'objet en octets), etag, md5, timeCreated (date et heure de création de l'objet), timeModified (date et heure de modification de l'objet), storageTier et archivalState. Pour plus d'informations, reportez-vous à Liste des objets.

    Création d'une demande pré-authentification pour un objet spécifique

    Incluez le paramètre object-name et le nom de l'objet afin de créer une demande pré-authentifiée pour un objet spécifique. Par exemple, pour créer une demande pré-authentification qui autorise les lectures et les écritures sur un objet nommé OCI_User_Guide.pdf dans le bucket nommé MyParBucket, exécutez la commande d'interface de ligne de commande suivante :

    oci os preauth-request create --bucket-name MyParBucket --name MyObjectReadWritePAR --access-type ObjectReadWrite --object-name OCI_User_Guide.pdf --time-expires="2022-11-21T23:00:00+00:00"
    {  "data": {
        "access-type": "ObjectReadWrite",
        "access-uri": "/p/v0YC_6i3NamyrKlIds0SKnWUMQLw_PFolSyGCpjVUJ6h_A1tnkXJ9VRcuQZTgjRa/n/MyNamespace/b/MyParBucket/o/OCI_User_Guide.pdf",
        "bucket-listing-action": null,
        "id": "vNObHUdqwf7pfCq9pup/LlMLTLxBt2N2OCKrGwimLFOoJlVfxj/dlESbxyd54vpf:OCI_User_Guide.pdf",
        "name": "MyObjectReadWritePAR",
        "object-name": "OCI_User_Guide.pdf",
        "time-created": "2021-04-01T14:37:26.869000+00:00",
        "time-expires": "2022-11-21T23:00:00+00:00"
      }
    }

    L'URL de demande pré-authentifiée unique fournie aux utilisateurs pour l'exemple précédent est construite comme suit :

    https://objectstorage.region_ID.oraclecloud.comaccess_uri

    Par exemple, voici l'URL complète de la demande qui autorise les lectures et les écritures sur un objet nommé OCI_User_Guide.pdf dans le bucket nommé MyParBucket :

    https://objectstorage.us-phoenix-1.oraclecloud.com/p/v0YC_6i3NamyrKlIds0SKnWUMQLw_PFolSyGCpjVUJ6h_A1tnkXJ9VRcuQZTgjRa/n/MyNamespace/b/MyParBucket/o/OCI_User_Guide.pdf

    Voici un exemple d'utilisation de cURL pour exécuter une demande PUT sur un objet à l'aide de la demande pré-authentifiée qui autorise les lectures et les écritures sur l'objet cible nommé OCI_User_Guide.pdf dans le bucket nommé MyParBucket :

    $ curl -X PUT --data-binary '@OCI_User_Guide.pdf' https://objectstorage.us-phoenix-1.oraclecloud.com/p/v0YC_6i3NamyrKlIds0SKnWUMQLw_PFolSyGCpjVUJ6h_A1tnkXJ9VRcuQZTgjRa/n/MyNamespace/b/MyParBucket/o/OCI_User_Guide.pdf

    Voici un exemple d'utilisation de cURL pour exécuter une demande GET sur l'objet cible à l'aide de la même demande pré-authentifiée :

    $ curl -X GET https://objectstorage.us-phoenix-1.oraclecloud.com/p/v0YC_6i3NamyrKlIds0SKnWUMQLw_PFolSyGCpjVUJ6h_A1tnkXJ9VRcuQZTgjRa/n/MyNamespace/b/MyParBucket/o/OCI_User_Guide.pdf
    '@OCI_User_Guide.pdf'

    Création d'une demande pré-authentification pour un objet spécifique avec préfixe

    Incluez le paramètre object-name et le préfixe afin de créer une demande pré-authentifiée pour tous les objets dont le nom correspond au préfixe indiqué. Par exemple, pour créer une demande pré-authentification qui autorise les lectures et les écritures sur les objets comportant le préfixe service dans le bucket nommé MyParBucket, procédez comme suit :
    oci os preauth-request create --bucket-name MyParBucket --name PrefixedObjectsReadWritePAR --access-type AnyObjectReadWrite --object-name service --time-expires "2022-11-21T23:00:00+00:00" --bucket-listing-action ListObjects
    {  "data": {
        "access-type": "AnyObjectReadWrite",
        "access-uri": "/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/",
        "bucket-listing-action": "ListObjects",
        "id": "YOExDlFsNYBNEwF8Uo4aK8WHiz59enVQm1aID+4cxFobgcaofVbZkg371rxK+6Vb",
        "name": "PrefixedObjectsReadWritePAR",
        "object-name": "service",
        "time-created": "2021-04-01T15:35:40.609000+00:00",
        "time-expires": "2022-11-21T23:00:00+00:00"
      }
    }

    Indiquez le préfixe à mettre en correspondance dans le paramètre --object-name :

    • Vous pouvez indiquer un préfixe qui inclut des barres obliques (/) afin d'effectuer une mise en correspondance avec les noms d'objet qui simulent une hiérarchie ou une structure de répertoires.
    • Vous pouvez indiquer une chaîne de préfixe sans délimiteur afin d'effectuer une mise en correspondance avec les caractères les plus à gauche du nom d'objet.

    L'URL de demande pré-authentifiée unique fournie aux utilisateurs pour l'exemple précédent est construite comme suit :

    https://objectstorage.<region_identifier>.oraclecloud.com<access-uri>

    Reportez-vous à A propos des régions et des domaines de disponibilité pour obtenir la liste des identificateurs de région valides.

    Par exemple, voici l'URL complète de la demande qui autorise les lectures et les écritures sur les objets comportant le préfixe service dans le bucket nommé MyParBucket :

    https://objectstorage.us-phoenix-1.oraclecloud.com/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/

    Lorsque vous créez une demande pré-authentifiée qui limite la portée aux objets avec un préfixe spécifique, les utilisateurs de la demande peuvent uniquement exécuter des demandes GET et PUT sur les objets comportant le nom de préfixe indiqué dans la demande. Les tentatives d'exécution de demande GET ou PUT sur un objet sans préfixe ou avec un autre préfixe échouent.

    Voici un exemple d'utilisation de cURL pour exécuter une demande PUT sur un objet à l'aide de la demande pré-authentifiée qui autorise les lectures et les écritures sur les objets comportant le préfixe service dans le bucket nommé MyParBucket :

    $ curl -X PUT --data-binary '@servicediscovery.dita' https://objectstorage.us-phoenix-1.oraclecloud.com/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/servicediscovery.dita
    

    Voici un exemple d'utilisation de cURL pour exécuter une demande GET sur des objets à l'aide de la même demande pré-authentifiée :

    $ curl -X GET https://objectstorage.us-phoenix-1.oraclecloud.com/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/
    {"objects":[{"name":"servicechanges.html"},{"name":"servicediscovery.dita"},{"name":"serviceessentials.html"},{"name":"servicelogreference.htm"},{"name":"services.html"}]}

    La demande GET répertorie les demandes PUT récentes pour servicediscovery.dita et tous les autres objets comportant le préfixe service. Vous pouvez éventuellement utiliser le paramètre de requête fields pour inclure également les champs size (taille de l'objet en octets), etag, md5, timeCreated (date et heure de création de l'objet), timeModified (date et heure de modification de l'objet), storageTier et archivalState. Pour plus d'informations, reportez-vous à Liste des objets.

    Voici un autre exemple d'utilisation de cURL pour exécuter une demande PUT sur un objet à l'aide de la même demande pré-authentifiée. La demande échoue car l'objet ne comporte pas le préfixe service :

    $ curl -X PUT --data-binary '@objectstoragelogreference.htm' https://objectstorage.us-phoenix-1.oraclecloud.com/p/l04eqXvxQ5HcnrXkWS8Kdf4mS812KLDyG_dbArXa8hDdHssXTKiUD0w2HNCEDS4W/n/MyNamespace/b/MyParBucket/o/objectstoragelogreference.htm
    {"code":"NotAuthenticated","message":"PAR does not exist"}

    Afin d'obtenir la liste complète des paramètres et des valeurs pour les commandes d'interface de ligne de commande, reportez-vous à Référence de commande d'interface de ligne de commande.

  • Exécutez l'opération CreatePreauthenticatedRequest pour créer une demande pré-authentifiée.