阿里雲OSS訪問權限配置(RAM權限控制)實現

這篇文章主要介紹了阿里雲OSS訪問權限配置(RAM權限控制)實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨着小編來一起學習學習吧

 

場景

需要將阿里雲oss的某個bucket的指定目錄授權給測試人員使用,比如指定 myBuket 的 static/material/ 目錄。
測試人員通過ossbrowser工具來維護這個目錄。

步驟

新建用戶

在RAM訪問控制中新建一個用戶

爲這個用戶創建AccessKey

自定義權限策略

輸入名稱、備註、選擇“腳本配置”,通過自己寫腳本來配置權限

腳本內容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oss:ListObjects",
      "Resource": "acs:oss:*:*:myBuket",
      "Condition": {
        "StringLike": {
          "oss:Delimiter": "/",
          "oss:Prefix": [
            "",
            "static/",
            "static/material/*"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "oss:*",
      "Resource": [
        "acs:oss:*:*:myBuket/static/material/*"
      ]
    }
  ]
}

這個腳本指定 myBucket 下的 static/material/ 目錄可以訪問(任何權限)
要訪問這個目錄,則這個目錄的所有父目錄都要有ListObjects權限,否則進不去。

因此該腳本分爲兩部分,即兩個Effect配置:
第一部分是配置material/所有父目錄的ListObjects權限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "Effect": "Allow",
  "Action": "oss:ListObjects",
  "Resource": "acs:oss:*:*:myBuket",
  "Condition": {
    "StringLike": {
      "oss:Delimiter": "/",
      "oss:Prefix": [
        "",
        "static/",
        "static/material/*"
      ]
    }
  }
}

第二部分配置materinal的所有權限,Action爲“oss:*”表示操作OSS的所有權限

1
2
3
4
5
6
7
{
  "Effect": "Allow",
  "Action": "oss:*",
  "Resource": [
    "acs:oss:*:*:myBuket/static/material/*"
  ]
}

配置權限

添加權限時從自定義策略中選擇上面定義的權限即可

打開ossbrowser

用上面配置的accessKeyId和AccessKeySerect
預設路徑一定要設置剛纔的 oss://myBuket/static/material

點擊登入即可。

oss的API權限也是這麼控制的。

參考

通過OSSborrower進行OSS授權管理
RAM子賬戶授權OSS單個bucket中部分文件的訪問權限
使用RAM對OSS進行權限管理

到此這篇關於阿里雲OSS訪問權限配置(RAM權限控制)實現的文章就介紹到這了,更多相關阿里雲OSS訪問權限配置內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支持腳本之家!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章