【最佳实践】授权子账号进行OSS图片样式设置
1.引子:如何授權子賬號在控制臺針對指定的Bucket設置圖片樣式呢?
【使用場景】:某企業(yè)內部有眾多Bucket,并且不同的Bucket分別指定了Bucket的管理員。目前Bucket A的管理員期望能夠針對Bucket A中的圖片通過設置圖片樣式的方式進行通過管理。
目前可以通過授權子賬號“AliyunOSSFullAccess”權限的方式在控制臺進行圖片樣式設置。但是賦予子賬號“AliyunOSSFullAccess”后,子賬號的操作權限過大。該賬號能夠操作管理所有的Bucket。在企業(yè)的實際使用過程中,每個Bucket都是由明確的使用用途,基本不可能授予每個子賬號管理所有Bucket的權限。
因此,我們考慮是不是可以通過RAM Policy的方式針對指定的子賬號授予指定Bucket的操作管理權限。從而達到如上的預期?
2.配置操作
2.1準備工作:
- 創(chuàng)建1個子賬號;(示例中子賬號tmp-user)
- 創(chuàng)建1個Bucket;(示例中Bucket名稱test-beijing-2019)
- 創(chuàng)建RAM Policy;(示例中的RAM Policy名稱 BucketStylePolicy)
2.2 創(chuàng)建RAM Policy:
由于是在請求圖片時帶上了圖片樣式處理操作,例如“http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,h_100”。 因此RAM Policy需要包含2部分的授權:
- Get Object以及List Objects相關授權;
- 圖片樣式處理相關授權;
其中圖片樣式相關API操作如下.PS:詳細圖片樣式相關API操作:圖片樣式API接口
如下是授予子賬號創(chuàng)建、修改、刪除圖片樣式的相關RAM Policy授權:
{"Version": "1","Statement": [{"Effect": "Allow","Action": ["oss:GetObject","oss:PutObject","oss:GetObjectAcl","oss:PutObjectAcl","oss:ListObjects","oss:GetBucketAcl","oss:Putstyle","oss:Liststyle","oss:Getstyle","oss:Deletestyle"],"Resource": ["acs:oss:*:*:test-beijing-2019","acs:oss:*:*:test-beijing-2019/*"],"Condition": {}}] }2.3子賬號登錄控制臺進行驗證:
1.使用子賬號(tmp-user)登錄控制臺,并且創(chuàng)建style:
2.在請求中使用圖片樣式,例如:https://test-beijing-2019.oss-cn-beijing.aliyuncs.com/0012.jpg?x-oss-process=style/STYLE2;
總結
以上是生活随笔為你收集整理的【最佳实践】授权子账号进行OSS图片样式设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【译】数据结构中关于树的一切(java版
- 下一篇: 如何提高web应用的响应速度(性能)