Utiliser signé URLs - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser signé URLs

Un document signé URL inclut des informations supplémentaires, par exemple une date et une heure d'expiration, qui vous permettent de mieux contrôler l'accès à votre contenu. Ces informations supplémentaires apparaissent dans une déclaration de politique, basée sur une politique prédéfinie ou une politique personnalisée. Les différences entre les politiques prédéfinies et les politiques personnalisées sont expliquées dans les deux prochaines sections.

Note

Vous pouvez en créer des signatures à URLs l'aide de politiques prédéfinies et en créer d'autres signées URLs à l'aide de politiques personnalisées pour la même distribution.

Décidez d'utiliser des politiques prédéfinies ou personnalisées pour les documents signés URLs

Lorsque vous créez un document signéURL, vous rédigez une déclaration de politique dans un JSON format qui précise les restrictions applicables au URL document signé, par exemple, sa durée de URL validité. Vous pouvez utiliser une politique prédéfinie ou une politique personnalisée. Comparaison des politiques prédéfinies et des politiques personnalisées :

Description Politique prédéfinie Politique personnalisée

Vous pouvez réutiliser la déclaration de politique pour plusieurs fichiers. Pour ce faire, vous devez utiliser les caractères génériques de l’objet Resource. Pour de plus amples informations, veuillez consulter Valeurs que vous spécifiez dans la déclaration de politique pour un document signé URL qui utilise une politique personnalisée.)

Non

Oui

Vous pouvez indiquer la date et l’heure auxquelles les utilisateurs peuvent commencer à accéder à votre contenu.

Non

Oui (facultatif)

Vous pouvez indiquer la date et l’heure auxquelles les utilisateurs ne peuvent plus accéder à votre contenu.

Oui

Oui

Vous pouvez spécifier l’adresse IP ou la plage d’adresses IP des utilisateurs qui peuvent accéder à votre contenu.

Non

Oui (facultatif)

Le document signé URL inclut une version codée en base64 de la politique, ce qui entraîne une durée plus longue. URL

Non

Oui

Pour plus d'informations sur la création de documents signés URLs à l'aide d'une politique prédéfinie, consultezCréation d'une politique signée URL à l'aide d'une politique prédéfinie.

Pour plus d'informations sur la création de documents signés URLs à l'aide d'une politique personnalisée, consultezCréation d'un document signé URL à l'aide d'une politique personnalisée.

Comment URLs fonctionnent les signatures

Voici un aperçu de la façon dont vous configurez CloudFront Amazon S3 pour les fichiers signés URLs et de la manière dont ils CloudFront répondent lorsqu'un utilisateur utilise un identifiant signé URL pour demander un fichier.

  1. Dans votre CloudFront distribution, spécifiez un ou plusieurs groupes de clés fiables, qui contiennent les clés publiques CloudFront pouvant être utilisées pour vérifier la URL signature. Vous utilisez les clés privées correspondantes pour signer leURLs.

    Pour de plus amples informations, veuillez consulter Spécifiez les signataires autorisés à créer des cookies signés URLs et signés.

  2. Développez votre application pour déterminer si un utilisateur doit avoir accès à votre contenu et pour créer des signatures URLs pour les fichiers ou les parties de votre application auxquels vous souhaitez restreindre l'accès. Pour plus d’informations, consultez les rubriques suivantes :

  3. Un utilisateur demande un fichier dont vous souhaitez demander la signatureURLs.

  4. Votre application vérifie que l’utilisateur est autorisé à accéder au fichier : il est abonné, il a payé pour accéder au contenu ou il a satisfait à quelque autre condition pour accéder.

  5. Votre application crée et renvoie un document signé URL à l'utilisateur.

  6. La signature URL permet à l'utilisateur de télécharger ou de diffuser le contenu.

    Cette étape est automatique ; l’utilisateur n’a généralement rien à faire de plus pour accéder au contenu. Par exemple, si un utilisateur accède à votre contenu dans un navigateur Web, votre application renvoie le document signé URL au navigateur. Le navigateur utilise immédiatement le URL signed pour accéder au fichier dans le cache CloudFront périphérique sans aucune intervention de l'utilisateur.

  7. CloudFront utilise la clé publique pour valider la signature et confirmer qu'elle URL n'a pas été falsifiée. Si la signature n’est pas valide, la demande est rejetée.

    Si la signature est valide, CloudFront examine la déclaration de politique contenue dans le URL (ou en crée une si vous utilisez une politique prédéfinie) pour confirmer que la demande est toujours valide. Par exemple, si vous avez spécifié une date et une heure de début et de fin pour leURL, cela CloudFront confirme que l'utilisateur essaie d'accéder à votre contenu pendant la période pendant laquelle vous souhaitez autoriser l'accès.

    Si la demande répond aux exigences de la déclaration de politique, CloudFront effectue les opérations standard : détermine si le fichier se trouve déjà dans le cache périphérique, transmet la demande à l'origine si nécessaire et renvoie le fichier à l'utilisateur.

Note

Si un document non signé URL contient des paramètres de chaîne de requête, assurez-vous de les inclure dans la partie URL que vous signez. Si vous ajoutez une chaîne de requête à un document signé URL après l'avoir signé, le URL statut HTTP 403 est renvoyé.

Décidez de la durée de validité URLs des signatures

Vous pouvez distribuer du contenu privé à l'aide d'un document signé URL qui n'est valide que pendant une courte période, parfois quelques minutes seulement. Les URLs signatures valides pour une période aussi courte sont utiles pour distribuer du contenu on-the-fly à un utilisateur dans un but précis, comme la location de films ou le téléchargement de musique aux clients à la demande. Si vos signatures URLs ne sont valides que pour une courte période, vous souhaiterez probablement les générer automatiquement à l'aide d'une application que vous développez. Lorsque l'utilisateur commence à télécharger un fichier ou à lire un fichier multimédia, CloudFront compare le délai d'expiration URL avec l'heure actuelle pour déterminer s'il URL est toujours valide.

Vous pouvez également diffuser du contenu privé à l'aide d'un document signé URL valide pendant une période plus longue, voire des années. Les documents signés URLs dont la durée de validité est plus longue sont utiles pour distribuer du contenu privé à des utilisateurs connus, comme la distribution d'un plan d'affaires aux investisseurs ou la distribution de matériel de formation aux employés. Vous pouvez développer une application pour générer ces documents signés à long terme URLs pour vous.

Quand CloudFront vérifie la date et l'heure d'expiration dans un document signé URL

CloudFront vérifie la date et l'heure d'expiration dans un URL document signé au moment de la HTTP demande. Si un client commence à télécharger un fichier volumineux immédiatement avant la date d’expiration, le téléchargement se termine même si la date d’expiration intervient pendant le téléchargement. Si la TCP connexion est interrompue et que le client essaie de redémarrer le téléchargement après l'expiration du délai d'expiration, le téléchargement échouera.

Si un client utilise Range GETs pour obtenir un fichier en petits morceaux, toute GET demande effectuée après l'expiration du délai d'expiration échouera. Pour plus d'informations sur RangeGETs, consultezComment CloudFront traite les demandes partielles pour un objet (plageGETs).

Exemple de code et outils tiers

Pour un exemple de code qui crée la partie hachée et signée de signedURLs, consultez les rubriques suivantes :