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.
Création d'une politique signée URL à l'aide d'une politique prédéfinie
Pour créer une politique signée URL à l'aide d'une politique prédéfinie, procédez comme suit.
Pour créer une politique signée à URL l'aide d'une politique prédéfinie
-
Si vous utilisez. NETou Java pour créer une clé signéeURLs, et si vous n'avez pas reformaté la clé privée de votre paire de clés du format .pem par défaut à un format compatible avec. NETou avec Java, faites-le maintenant. Pour de plus amples informations, veuillez consulter Reformatez la clé privée (. NETet Java uniquement).
-
Concaténez les valeurs suivantes dans l'ordre indiqué, en reproduisant le format indiqué dans cet exemple signé : URL
https://d111111abcdef8.cloudfront.net/image.jpg
?color=red&size=medium&
Expires=1357034400
&Signature=nitfHRCrtziwO2HwPfWw~yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx~-ar3UocvvRQVw6EkC~GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6
&Key-Pair-Id=K2JCJMDEHXQW5F
Supprimez tous les espaces vides (y compris les tabulations et les caractères de nouvelle ligne). Il se peut que vous ayez à inclure des caractères d’échappement dans la chaîne du code d’application. Toutes les valeurs ont un type de
String
.- 1.
Base URL for the file
-
La base URL est CloudFront URL celle que vous utiliseriez pour accéder au fichier si vous n'utilisiez pas SignedURLs, y compris vos propres paramètres de chaîne de requête, le cas échéant. Dans l'exemple précédent, la base URL est
https://d111111abcdef8.cloudfront.net/image.jpg
. Pour plus d'informations sur le format de URLs pour les distributions, consultezPersonnalisez le URL format des fichiers dans CloudFront.-
Ce qui suit CloudFront URL concerne un fichier image dans une distribution (en utilisant le nom de CloudFront domaine). Notez que
image.jpg
se trouve dans un répertoireimages
. Le chemin du fichier URL doit correspondre au chemin du fichier sur votre HTTP serveur ou dans votre compartiment Amazon S3.https://d111111abcdef8.cloudfront.net/images/image.jpg
-
CloudFront URLCe qui suit inclut une chaîne de requête :
https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large
-
Les informations suivantes CloudFront URLs concernent les fichiers image d'une distribution. Les deux utilisent un autre nom de domaine. La seconde inclut une chaîne de requête :
https://www.example.com/images/image.jpg
https://www.example.com/images/image.jpg?color=red
-
Ce qui suit CloudFront URL concerne un fichier image d'une distribution qui utilise un autre nom de domaine et le HTTPS protocole :
https://www.example.com/images/image.jpg
-
- 2.
?
-
?
Cela indique que les paramètres de la chaîne de requête suivent la baseURL. Incluez le?
même si vous n'avez pas vos propres paramètres de chaîne de requête. - 3.
Your query string parameters, if any
&
-
Ce champ est facultatif. Si vous voulez ajouter vos propres paramètres de chaîne de requête, par exemple :
color=red&size=medium
puis ajoutez les paramètres après
?
et avant leExpires
paramètre. Dans certaines circonstances exceptionnelles, il se peut que vous ayez besoin de placer vos paramètres de chaîne de requête aprèsKey-Pair-Id
.Important
Vos paramètres ne peuvent pas se nommer
Expires
,Signature
ouKey-Pair-Id
.Si vous ajoutez vos propres paramètres, ajoutez-en un
&
après chacun d'eux, y compris le dernier. - 4.
Expires=
date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC)
-
Date et heure auxquelles vous souhaitez que l'URLaccès au fichier cesse d'être autorisé.
Spécifiez la date et l'heure d'expiration au format Unix (en secondes) et en temps universel coordonné (UTC). Par exemple, le 1er janvier 2013 à
1357034400
10 h 00 est UTC converti au format horaire Unix, comme indiqué dans l'exemple au début de cette rubrique. Pour utiliser l'heure de l'époque, utilisez un entier de 32 bits pour une date qui n'est pas postérieure à2147483647
(19 janvier 2038 à 03:14:07). UTC Pour plus d'informations surUTC, voir RFC3339, Date et heure sur Internet : horodatages. - 5.
&Signature=
hashed and signed version of the policy statement
-
Une version hachée, signée et codée en base64 de la JSON déclaration de politique. Pour de plus amples informations, veuillez consulter Création d'une signature pour un document signé URL qui utilise une politique prédéfinie.
- 6.
&Key-Pair-Id=
public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature
-
L'ID d'une clé CloudFront publique, par exemple,
K2JCJMDEHXQW5F
. L'ID de clé publique indique CloudFront la clé publique à utiliser pour valider le document signéURL. CloudFront compare les informations de la signature avec celles de la déclaration de politique pour vérifier qu'elles n'ont pas URL été falsifiées.Cette clé publique doit appartenir à un groupe de clés qui est un signataire approuvé dans la distribution. Pour de plus amples informations, veuillez consulter Spécifiez les signataires autorisés à créer des cookies signés URLs et signés.
- 1.
Création d'une signature pour un document signé URL qui utilise une politique prédéfinie
Pour créer la signature d'un document signé URL qui utilise une politique prédéfinie, procédez comme suit.
Rubriques
Créez une déclaration de politique pour un document signé URL qui utilise une politique prédéfinie
Lorsque vous créez une déclaration signée URL à l'aide d'une politique prédéfinie, le Signature
paramètre est une version hachée et signée d'une déclaration de stratégie. Pour les signataires URLs qui utilisent une politique prédéfinie, vous n'incluez pas la déclaration de politique dans leURL, contrairement aux signataires URLs qui utilisent une politique personnalisée. Pour créer la déclaration de politique, effectuez la procédure suivante.
Pour créer la déclaration de politique pour un document signé URL qui utilise une politique prédéfinie
-
Construisez la déclaration de politique en utilisant le JSON format suivant et en utilisant un codage de UTF -8 caractères. Incluez la ponctuation et les autres valeurs littérales exactement comme spécifié. Pour plus d’informations sur les paramètres
Resource
etDateLessThan
, consultez Valeurs que vous spécifiez dans la déclaration de politique pour un document signé URL qui utilise une politique prédéfinie.{ "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
-
Supprimez tous les espaces vides (y compris les tabulations et les caractères de nouvelle ligne) de la déclaration de politique. Il se peut que vous ayez à inclure des caractères d’échappement dans la chaîne du code d’application.
Valeurs que vous spécifiez dans la déclaration de politique pour un document signé URL qui utilise une politique prédéfinie
Lorsque vous créez une déclaration de politique pour une politique prédéfinie, vous spécifiez les valeurs suivantes.
- Ressource
-
Note
Vous ne pouvez spécifier qu’une seule valeur pour
Resource
.La base URL inclut vos chaînes de requête, le cas échéant, mais en excluant les
Key-Pair-Id
paramètres CloudFrontExpires
Signature
,, et, par exemple :https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
Notez ce qui suit :
-
Protocole : la valeur doit commencer par
http://
ouhttps://
. -
Paramètres de chaîne de requête : si vous n’avez aucun paramètre de chaîne de requête, omettez le point d’interrogation.
-
Noms de domaine alternatifs : si vous spécifiez un autre nom de domaine (CNAME) dans leURL, vous devez le spécifier lorsque vous référencez le fichier sur votre page Web ou votre application. Ne spécifiez pas l'Amazon S3 URL pour l'objet.
-
- DateLessThan
-
Date et heure d'expiration du URL format Unix (en secondes) et du temps universel coordonné (UTC). Par exemple, le 1er janvier 2013 à 10 h est UTC converti en 1357034400 au format horaire Unix.
Cette valeur doit correspondre à la valeur du paramètre de chaîne de
Expires
requête dans le document signéURL. N’entourez pas la valeur de points d’interrogation.Pour de plus amples informations, veuillez consulter Quand CloudFront vérifie la date et l'heure d'expiration dans un document signé URL.
Exemple de déclaration de politique pour un document signé URL qui utilise une politique prédéfinie
Lorsque vous utilisez l'exemple de déclaration de politique suivant dans un document signéURL, un utilisateur peut accéder au fichier https://d111111abcdef8.cloudfront.net/horizon.jpg
jusqu'au 1er janvier 2013 à 10 h 00 UTC :
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1357034400 } } } ] }
Création d'une signature pour un document signé URL qui utilise une politique prédéfinie
Pour créer la valeur du Signature
paramètre dans un document signéURL, vous devez hacher et signer la déclaration de politique dans Créez une déclaration de politique pour un document signé URL qui utilise une politique prédéfinie laquelle vous l'avez créée.
Pour plus d’informations et d’exemples sur la façon de hacher, signer et encoder la déclaration de politique, consultez :
Option 1 : Créer une signature à l’aide d’une politique prédéfinie
-
Utilisez la fonction de hachage SHA -1 RSA pour hacher et signer la déclaration de politique que vous avez créée dans la procédure. Pour créer la déclaration de politique pour un document signé URL qui utilise une politique prédéfinie Utilisez la version de la déclaration de politique qui ne contient plus d'espaces vides.
Pour la clé privée requise par la fonction de hachage, utilisez une clé privée dont la clé publique se trouve dans un groupe de clés approuvé actif pour la distribution.
Note
La méthode que vous utilisez pour hacher et signer la déclaration de politique dépend du langage de programmation et de la plateforme. Pour un exemple de code, consultez Exemples de code pour créer une signature pour un document signé URL.
-
Supprimez les espaces vides (y compris les tabulations et les caractères de nouvelle ligne) de la chaîne hachée et signée.
-
Encodez la chaîne en base64 en utilisant MIME le codage base64. Pour plus d'informations, voir Section 6.8, Base64 Content-Transfer-Encoding
en RFC2045, MIME (Extensions de messagerie Internet polyvalentes) Première partie : Format des corps de messages Internet. -
Remplacez les caractères non valides dans une chaîne de URL requête par des caractères valides. Le tableau suivant répertorie les caractères valides et non valides.
Remplacer ces caractères non valides Par ces caractères valides +
- (trait d’union)
=
_ (soulignement)
/
~ (tilde)
-
Ajoutez la valeur résultante à votre signature URL après
&Signature=
et revenez Pour créer une politique signée à URL l'aide d'une politique prédéfinie pour terminer la concaténation des parties de votre signature. URL