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 montre Set-Cookie les en-têtes d'un cookie signé lorsque vous utilisez le nom de domaine associé à votre distribution dans URLs 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 montre Set-Cookie les en-têtes d'un cookie signé lorsque vous utilisez le nom de domaine alternatif exemple.org URLs pour 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 autre nom de domaine tel que exemple.com dansURLs, vous devez ajouter le nom de domaine alternatif à votre distribution, que vous spécifiiez ou non l'Domainattribut. Pour plus d’informations, consultez Noms de domaine alternatifs (CNAMEs) 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 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 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

La base URL 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 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 le fichier.

DateLessThan

Date et heure d'expiration du URL format Unix (en secondes) et du temps universel coordonné (UTC). N’entourez pas la valeur de points d’interrogation.

Par exemple, le 16 mars 2015 à 10 h est UTC converti 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 de plus amples informations, veuillez consulter 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 :