我有一些生成签名URL的代码
expire_time = in_an_hour()
conn = CloudFrontConnection(access_key_id, access_key)
##enter the id or domain name to select a distribution
distribution = Distribution(connection=conn, config=None, domain_name=domain, id=dist_id, last_modified_time=None, status='')
signed_url = distribution.create_signed_url(url=url_tosign, keypair_id=keypair,expire_time=expire_time,private_key_file="/path/to/priv.pem")
return signed_url
我想包括一个考虑用户IP的自定义策略。我写了一种生成可以正常工作的json的方法。我尝试将
policy=get_policy(url_tosign, ip)
添加到distribution.create_signed_url
调用中,但是我收到一条错误消息,指出它是意外的关键字参数。如何修改此代码以生成具有源IP限制的签名URL? 最佳答案
James Dean的链接提供了解决方案。我们可以使用一个ip_address
参数。
更新的代码行
signed_url = distribution.create_signed_url(url=url_tosign, keypair_id=keypair,expire_time=expire_time,private_key_file="/path/to/priv.pem", ip_address= "x.x.x.x/32") # CIDR notation optional. x.x.x.x also works as a /32
关于python - Python:如何使用自定义策略Cloudfront生成签名的URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57774186/