Python:如何使用自定义策略Cloudfront生成签名的URL

时间:2019-09-03 14:53:44

标签: python amazon-cloudfront boto

我有一些生成签名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?

1 个答案:

答案 0 :(得分:0)

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
相关问题