阿里函数计算中3.0的函数只加自定义域名没有任何触发器这样儿有什么意义?作用是什么?这样儿的话,这函数不就是随便访问了,是不是如果使用自定义域名的话,需要函数程序自己实现认证机制但是好像自定义域名没有认证机制。
就不用多暴露出一个http触发器的url了。域名直接访问函数。可以把域名也看作是一个特殊的触发器来理解。有的 不过是整个域名级别的。此回答来自钉群阿里函数计算官网客户。
在阿里云函数计算中,绑定自定义域名的函数意味着该函数可以通过这个自定义的域名来访问。当您为函数添加了自定义域名而没有设置触发器时,这意味着该函数可以被直接访问,而不需要通过任何触发器。例如,您可以将您的函数部署到函数计算平台上,并为其绑定一个自定义域名,如example.com
。这样,任何人都可以通过访问http://example.com
来调用您的函数。
但是,如果使用自定义域名,您确实需要考虑安全性问题。因为默认情况下,绑定的自定义域名可以公网访问并且开启了HTTPS,这意味着未经授权的用户可能会尝试访问您的函数。为了确保安全,您需要实现适当的认证机制和权限控制。例如,可以使用签名认证或其他身份验证方法来确保只有合法用户可以访问您的函数。
此外,如果您希望函数在某些特定条件下才被执行,那么设置触发器是很有必要的。触发器可以基于多种因素,如时间、对象存储事件等,来触发函数的执行。如果您没有设置触发器,函数将始终处于等待状态,直到有请求直接访问它。
总之,绑定自定义域名可以使您的函数更容易被外部访问,但同时也带来了安全风险。因此,建议您在部署函数时,同时考虑如何实现安全的认证机制和权限控制。
在阿里云函数计算中,将函数与自定义域名关联起来可以让用户方便地调用函数,而不需要暴露API Gateway等中间件。但需要注意的是,在使用自定义域名的情况下,任何知道该域名的人都可以调用该函数。
为了保护函数的安全性,在自定义域名情况下,可以采用以下措施:
为保证API的安全调用,在调用API时阿里云会对每个API请求通过签名(Signature)进行身份验证。无论使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。
签名算法
本文介绍函数计算API签名步骤,SDK中已经实现了签名算法并对API进行签名,无需您手动计算。具体信息,请参见SDK列表。
对于每一个请求,函数计算服务会根据请求头部的Authorization字段来校验是否合法(设置了HTTP触发器的允许匿名访问的函数除外)。客户端须使用与函数计算服务端一致的签名算法才能通过验证,对于未包含签名字段或者签名错误的请求,函数计算将会返回HTTP 403错误。
说明
函数计算返回HTTP 403错误时,不会产生费用。关于计费的详细信息,请参见计费概述。
比如使用了签名认证,对于每一个请求,函数计算服务会根据请求头部的Authorization字段来校验是否合法(设置了HTTP触发器的允许匿名访问的函数除外)。客户端须使用与函数计算服务端一致的签名算法才能通过验证,对于未包含签名字段或者签名错误的请求,函数计算将会返回HTTP 403错误。
signature = base64(hmac-sha256(HTTP_METHOD + "\n"
+ CONTENT-MD5 + "\n"
+ CONTENT-TYPE + "\n"
+ DATE + "\n"
+ CanonicalizedFCHeaders
+ CanonicalizedResource))
// Authorization字段介绍
Authorization = "FC " + accessKeyID + ":" + signature
——参考来源于阿里云官方文档。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。