my blog my blog

Monthly 1月 2019
amazon s3针对用户共用bucket的policy

amazon s3的官方有一篇介绍文章,但是少了一个”,”,导致并不能成功导入。

amazon有提供policy的在线生成工具,地址是http://awspolicygen.s3.amazonaws.com/policygen.html

amazon针对用户共用bucket,指定用户目录的policy在https://aws.amazon.com/blogs/security/writing-iam-policies-grant-access-to-user-specific-folders-in-an-amazon-s3-bucket/

具体policy可以使用下方的policy

{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Sid": "AllowGroupToSeeBucketListInTheConsole",
      "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::*"]
    },
    {
      "Sid": "AllowRootAnd<shared-folder-name>ListingOfCompanyBucket",
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::<bucket-name>"],
      "Condition":{"StringEquals":{"s3:prefix":["","<shared-folder-name>/"],"s3:delimiter":["/"]}}
    },
    {
      "Sid": "AllowListingOfUserFolder",
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::<bucket-name>"],
      "Condition":{"StringLike":{"s3:prefix":
                  [
                       "<shared-folder-name>/${aws:username}/*",
                       "<shared-folder-name>/${aws:username}"
                  ]
               }
        }
    },
    {
       "Sid": "AllowAllS3ActionsInUserFolder",
       "Action":["s3:*"],
       "Effect":"Allow",
       "Resource": ["arn:aws:s3:::<bucket-name>/<shared-folder-name>/${aws:username}/*"]
    }
  ]
}

但是其实只保留最后两段是比较安全的,这样子无论是/根目录还是<shared-folder-name>共享目录都是不可以list的,只能list用户自己的名字命名的文件夹。

{
  "Version":"2012-10-17",
  "Statement": [
    {
      "Sid": "AllowListingOfUserFolder",
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::<bucket-name>"],
      "Condition":{"StringLike":{"s3:prefix":
                  [
                       "<shared-folder-name>/${aws:username}/*",
                       "<shared-folder-name>/${aws:username}"
                  ]
               }
        }
    },
    {
       "Sid": "AllowAllS3ActionsInUserFolder",
       "Action":["s3:*"],
       "Effect":"Allow",
       "Resource": ["arn:aws:s3:::<bucket-name>/<shared-folder-name>/${aws:username}/*"]
    }
  ]
}

这样子可以非常安全的隔离用户,也不用为每个用户建立一个bucket桶,还是很方便的。经过奶牛的测试,ACL最好就用默认的private,这样子安全性会更高。

三十岁后悔的二十件事

马上三十岁了,看到了狠多真诚的答案,在我有限的人生经验中,错过可以说直接上一个阶层的机会,至今后悔不已,往事并不如烟。

一、

相信命,我反而认为信命并不是极致的悲观、灰暗和迷信,而是理性又成熟深刻的价值观,知道山外有山,才能云淡风轻,这个世界本质的是不公平,每个人的起跑线是不一样,个体的差异不为人的意志所转移,最终的结果大不相同,是客观事实,明白这个现实我们才能更好的活自己。

三十岁之后的使命是接受自己是一个普通人。

二、

趁早买房,越早越好,那些告诉你生活还有诗和远方,通通都是错的,害人不浅,成熟的观念是一定要先买房,越早越好,相信我们国家。在买房这件事上的错误判断让我需要多付出很多年的代价。只要经济在发展,城市化进程还在走,也许买房可能是这辈子最正确的决定。

三、

越早理财越好,有人说没有几十万就不要理财,去享受生活,去看看世界,去旅游,这些观点通通都是错的,年轻的时候一定要存钱,在没有结婚之前,把收入分成几个账户:消费账户,应急账户,储蓄账户。把50%以上的收入存起来,少折腾股票或其他投资,股市那点本金基本收益率和货币基金差不多,没必要折腾,老实存起来,你的账户数字越来越多,你的自信就会越来越多,你的思维就会越来越广。

四、

自我预期管理,降低自我预期的阀值,没有人可以随便成功,降低预期能让自己好过不少,至少在你失败的时候能够舒服一点,小的时候认为自己是最牛逼的,自己能够改变世界,长大世界的现实是残酷的,没有什么鸡汤,奇迹是不会发生在你身上,学会接受失败和面对现实。

我一以前认识的大佬,做到上市公司的高管了,这几年自己创业,凡事亲力亲为,用电话陌拜谈业务,对方三秒钟就挂了,他把这个事情发在了朋友圈,很难想象原来这样的大佬也需要自己这么去干。多问问自己凭什么是你?

五、

恋爱要参照最优停止理论,也就是说,前37%的人如果都不合适,那么之后的每一个只要比前37%的要好,那么果断的去结婚,爱情是有情饮水饱,真正的婚姻是门当户对,家庭合伙制是婚姻的本质,一定要选性格好的,性格好的女人比有钱、漂亮之类优势更加明显。

六、

不要和老板做朋友,很多时候打工的思维在于拼命的把事情做对,而老板更多的是做对的事情,所以在层次和思维上是不可能成为朋友的,跟老板称兄道弟那就犯了大忌,表面越好,后面撕逼的结果就更严重。开始很美丽,结束的没道理。

七、

不要裸辞,一不爽就裸辞,会让自己的生活陷入一片慌乱,而后面的日子会越来越难过,辞职的前提一定是你学习不到任何东西了,没有任何成长,公司很垃圾,否则万不得已,必须要找到下一份工作再考虑辞职。

八、

少买知识付费的课程,市面上99%以上的课程本质上都是垃圾,对你没有任何好处,所有的方法论和成功方式都不适合你,基本连可应用的场景都没有,知识付费本质上是在贩卖焦虑,收智商税,省下的钱不如加入一些优质的社群,重复读几本经典的书并做总结来的划算。

九、

买保险,重要的事情要想三遍,保险不是骗子,保险是你人生变故后的最后一根救命稻草,是人生规划中必不可少的环节,如果你的经济实力不是特别的好,一定要买保险特别是重疾险,买消费型不买分红型,如果是家庭一定要给家庭中经济实力最强的人以及家庭的老人买好保险,人的一生中80%以上的概率都会得癌症。

十、

练习写作,好的文笔比好的数学重要多了,数学本质上来讲学到高中基本可以用来闯荡社会,你想想你这些年的数学丢到哪去了,数学老师的棺材板压不住了。

而写作是人生的必修课,而且每个人都需要写作,工作中你写的总结,计划,报告,邮件,微信等等都是写作,好的文笔能让你有更多的收入可能,说改变人生都不算夸张,见过很多原本普通的人,靠写作最后财富自由。

十一、

学习一项特长,你回头想想,你最牛逼的技能是什么?搜肠刮肚都想不到的时候,那么真的要趁早开始刻意练习了,在竞争领域,垂直擅长的领域,你的特长能够让你保持足够的竞争力和优势。

而且不觉得有特长的人特别的酷吗?

十二、

及时止损,很多事都需要成本代价,很多事没有任何的必要,及时止损的思维是为了不陷入损失黑洞陷阱,不一错再错,捡了西瓜丢了芝麻,错了就错了,失败了就是失败了,及时抽离。

十三、

明白人生而孤独,孤独的人并不可耻,每个人都是孤独的,享受孤独,人不能真正的去理解另外一个人,能明白自己的只有自己。

十四、

培养独立思考能力,在当下信息泛滥的时代,拥有独立思考的能力极其重要,做事之前多想想,事情真相是什么?为什么是这样?为什么不是这样?还有什么其他可能性吗?多种的思维方式去考虑问题,别让你的脑子成为别人的跑马场。

十五、

锻炼身体,好的身体绝对是本钱,高手的对决中,笑到最后的是看谁身体好,能够把对方熬败,好的身体是一种稀缺的资源,职场上更加如此,拼实力以外更多的是拼精力和体力,你想想再不锻炼能拼的过90后00后吗?你还能通宵吗?

十六、

尽量选择买贵的东西,为什么这么说,其实《断舍离》的本质,除了让我们明白人和物品的关系以外,更重要的是,物品是有能量的,如果你享受不了贵的物品,本质上是你内心觉得配不上这个物品,贵的东西能让你更加的自信,吸引力法则,你敢买宝马3以后一定买的起保时捷卡宴。其他东西同理。

十七、

学会演讲,无论在哪种场合我们需要演讲,开会发言,谈话,谈判,社交等都是演讲,生活中高频接触使用的技能一定要多训练。开不了口,害羞,害怕,会让自己人生丢分不少。

十八、

有条件就选择创业,其实是趁年轻多去折腾,多去试错才能知道自己究竟适合哪个方向,创业是改变限制条件,选择别人,而不是被人选择,做制定游戏规则的人。

当然,如果错了没关系,大不了还可以回头,到了四十岁,上有老下有小,车贷房贷,那真正是把人生困死,动不了,想都不敢想。

十九、

学会和自己相处,和自己内心的小宇宙相处,不执拗,不纠结,不自责,远离颠倒梦想,找到自己才能找到世界,千万不要和自己过不去。

二十、

自信,盲目的自信这也是自信,自信能让自己获得更多的资源和快感,自卑会让自己失去很多机会,自信让人进步,自卑让人退步。

本文作者:木木酱的小江湖 ,转载却未能找出原文出处。

WordPress的Google字体本地缓存方案

一直以来,Google字体都是困扰国内WordPress用户的一个问题。原因也很简单,载入慢,甚至可能由于载入慢导致页面卡死无法显示,这对于用户体验来说是很差的,disable google font这个插件也紧紧是对部分主题生效,对插件也没什么作用,而且测试下来效果很一般。如果你的主题还有禁止Google字体的选项那么就还挺好的,如果没有,奶牛建议可以试试Self-Hosted Google Fonts这个插件,效果很棒。

Self-Hosted Google Fonts的原理也很简单,首先就是扫描css文件里面的google fonts,然后把这些fonts下载到本地,之后把含有google fonts的css文件的链接替换掉,这样子下来,每次访问网站都是从本地读取Google字体,然后从本地分发至用户,虽然可能这样子会耗费很多流量在字体上,但是奶牛觉得还是挺值得的,至少网站的访问速度会提升很多,而且不用复杂地去修改css文件查找Google字体的链接然后本地话或者去除,而且也可以保存一个很好的字体显示效果。

最后附上链接:Self-Hosted Google Fonts