Définissez des cookies signés à l'aide d'une politique prédéfinie - 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.

Définissez des cookies signés à l'aide d'une politique prédéfinie

Pour définir un cookie signé à l’aide d’une politique prédéfinie, procédez comme suit. Pour créer la signature, consultez Création d'une signature pour un cookie signé qui utilise une politique prédéfinie.

L’exemple suivant illustre les en-têtes Set-Cookie d’un cookie signé quand vous utilisez le nom de domaine associé à votre distribution dans les URL de vos fichiers :

Set-Cookie: CloudFront-Expires=1426500000; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly

L’exemple suivant illustre les en-têtes Set-Cookie d’un cookie signé quand vous utilisez le nom de domaine alternatif example.org dans les URL de vos fichiers :

Set-Cookie: CloudFront-Expires=1426500000; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/images/*; Secure; HttpOnly

Si vous souhaitez utiliser un nom de domaine alternatif tel qu’example.com dans les URL, vous devez ajouter le nom de domaine alternatif à votre distribution, que vous spécifiiez l’attribut Domain ou non. Pour plus d’informations, consultez Noms de domaine alternatifs (CNAME) dans la rubrique Référence des paramètres de distribution.

Création d'une signature pour un cookie signé qui utilise une politique prédéfinie

Pour créer la signature d'un cookie signé qui utilise une politique prédéfinie, procédez comme suit.

Création d'une déclaration de politique pour un cookie signé qui utilise une politique prédéfinie

Lorsque vous définissez un cookie signé qui utilise une politique prédéfinie, l’attribut CloudFront-Signature est une version hachée et signée d’une déclaration de politique. Pour les cookies signés qui utilisent une politique prédéfinie, vous n’incluez pas la déclaration de politique dans l’en-tête Set-Cookie, comme vous le faites pour les cookies signés qui utilisent une politique personnalisée. Pour créer l’a déclaration de politique, procédez comme suit.

Pour créer une déclaration de politique pour un cookie signé qui utilise une politique prédéfinie
  1. Construisez la déclaration de politique à l’aide du format JSON suivant et de l’encodage de caractères UTF-8. Incluez la ponctuation et les autres valeurs littérales exactement comme spécifié. Pour plus d’informations sur les paramètres Resource et DateLessThan, consultez Valeurs que vous spécifiez dans la déclaration de politique d’une politique prédéfinie pour les cookies signés.

    { "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
  2. 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 d’une politique prédéfinie pour les cookies signés

Lorsque vous créez une déclaration de politique pour une politique prédéfinie, vous spécifiez les valeurs suivantes :

Ressource

L’URL de base incluant vos chaînes de requête, le cas échéant ; par exemple :

https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes

Vous ne pouvez spécifier qu’une seule valeur pour Resource.

Remarques :

  • Protocole : la valeur doit commencer par http:// ou https://.

  • 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 nom de domaine alternatif (CNAME) dans l’URL, vous devez le spécifier lorsque vous référencez le fichier dans votre page ou application web. Ne spécifiez pas l’URL Amazon S3 pour le fichier.

DateLessThan

Date et heure d’expiration de l’URL au format horaire Unix (en secondes) et en heure UTC. N’entourez pas la valeur de points d’interrogation.

Par exemple, la date 16 mars 2015 10 h 00 UTC est convertie en 1426500000 au format horaire Unix.

Cette valeur doit correspondre à la valeur de l’attribut CloudFront-Expires de l’en-tête Set-Cookie. N’entourez pas la valeur de points d’interrogation.

Pour plus d’informations, consultez Quand CloudFront vérifie la date et l'heure d'expiration dans un cookie signé.

Exemple de déclaration de politique pour une politique prédéfinie

Lorsque vous utilisez l’exemple de déclaration de politique suivant dans un cookie signé, un utilisateur peut accéder au fichier https://d111111abcdef8.cloudfront.net/horizon.jpg jusqu’au 16 mars 2015 10 h 00 UTC :

{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1426500000 } } } ] }

Signez la déclaration de politique pour créer une signature pour un cookie signé qui utilise une politique prédéfinie

Pour créer la valeur de l’attribut CloudFront-Signature d’un en-tête Set-Cookie, vous hachez et signez la déclaration de politique que vous avez créée dans Pour créer une déclaration de politique pour un cookie signé qui utilise une politique prédéfinie.

Pour plus d’informations et d’exemples sur la façon de hacher, signer et encoder la déclaration de politique, consultez les rubriques suivantes :