Je suis en train de configurer CloudFront pour la distribution de contenu privé, mais je continue à avoir des erreurs d'accès refusé lorsque je suis l'URL générée. Pour être clair, j'ai déjà créé la distribution CloudFront, l'ai marquée privée, créé un identifiant d'accès à l'origine qui a reçu une autorisation de lecture pour tous les fichiers pertinents.Accès refusé avec la distribution privée Amazon CloudFront
I'v écrit un simple script Python pour générer des URL en utilisant les exemples présentés sur la page Web Amazon pour la signature des URL et je suis y compris le texte ci-dessous:
import os, time
def GetCloudFrontURL(file, expires=86400):
resource = "http://mydistribution.cloudfront.net/" + file
exptime = int(time.time()) + expires
epochtime = str(exptime)
policy = '{"Statement":[{"Resource":"' + resource + '","Condition":{"DateLessThan":{"AWS:EpochTime":' + epochtime + '}}}]}'
pk = "MY-PK-GOES-HERE"
signature = os.popen("echo '" + policy + "' | openssl sha1 -sign /path/to/file/pk-" + pk + ".pem | openssl base64 | tr '+=/' '-_~'").read()
signature = signature.replace('\n','')
url = resource + "&Expires=" + epochtime + "&Signature=" + signature + "&Key-Pair-Id=" + pk
return url
Quelqu'un peut-il voir quoi que ce soit évidemment faux avec ce que je fais? J'ai vérifié que lorsque je signe le résumé en utilisant la clé privée que je peux le vérifier avec la clé publique (à condition que je fais la vérification avant de le faire passer par base64 et l'étape de traduction).
Merci.
cela ressemble vraiment à cela pourrait être un problème, mais malheureusement, je reçois toujours l'erreur d'accès refusé. –